"MAKE-FUNCALLABLE-INSTANCE-TRAMP"
"RETURN-SINGLE"
"NOTE-NEXT-INSTRUCTION"
- "SET-SLOT"
+ "SET-SLOT" "INIT-SLOT"
"LOCATION-NUMBER"
"*COMPONENT-BEING-COMPILED*"
"BLOCK-NUMBER"
(storew value object offset lowtag))
#!-gengc
(storew value object offset lowtag)))
+
+(define-vop (init-slot set-slot))
\f
;;;; symbol hacking VOPs
(macrolet ((make-case ()
`(ecase raw-type
((t)
- (vop set-slot node block object arg-tn
+ (vop init-slot node block object arg-tn
name (+ sb!vm:instance-slots-offset slot) lowtag))
,@(mapcar (lambda (rsd)
`(,(sb!kernel::raw-slot-data-raw-type rsd)
nil))))
(make-case))))
(:dd
- (vop set-slot node block object
+ (vop init-slot node block object
(emit-constant (sb!kernel::dd-layout-or-lose slot))
name sb!vm:instance-slots-offset lowtag))
(otherwise
- (vop set-slot node block object
+ (vop init-slot node block object
(ecase kind
(:arg
(aver args)
(:results)
(:generator 1
(storew value object offset lowtag)))
+
+(define-vop (init-slot set-slot))
\f
;;;; Symbol hacking VOPs:
(:generator 1
(storew value object offset lowtag)))
+(define-vop (init-slot set-slot))
\f
;;;; Symbol hacking VOPs:
(:generator 1
(storew value object offset lowtag)))
+(define-vop (init-slot set-slot))
+
#!+compare-and-swap-vops
(define-vop (compare-and-swap-slot)
(:args (object :scs (descriptor-reg))
(:results)
(:generator 1
(storew value object offset lowtag)))
+
+(define-vop (init-slot set-slot))
\f
;;;; Symbol hacking VOPs:
;; Else, value not immediate.
(storew value object offset lowtag))))
+(define-vop (init-slot set-slot))
+
(define-vop (compare-and-swap-slot)
(:args (object :scs (descriptor-reg) :to :eval)
(old :scs (descriptor-reg any-reg) :target rax)
(:generator 1
(storew (encode-value-if-immediate value) object offset lowtag)))
+(define-vop (init-slot set-slot))
+
(define-vop (compare-and-swap-slot)
(:args (object :scs (descriptor-reg) :to :eval)
(old :scs (descriptor-reg any-reg) :target eax)