(storew value object offset lowtag)))
\f
;;;; symbol hacking VOPs
;;; The compiler likes to be able to directly SET symbols.
(define-vop (set cell-set)
(storew value object offset lowtag)))
\f
;;;; symbol hacking VOPs
;;; The compiler likes to be able to directly SET symbols.
(define-vop (set cell-set)
- (loadw value object symbol-value-slot other-pointer-type)
- (inst xor value unbound-marker-type temp)
+ (loadw value object symbol-value-slot other-pointer-lowtag)
+ (inst xor value unbound-marker-widetag temp)
- (loadw value obj-temp fdefn-fun-slot other-pointer-type)
- (let ((err-lab (generate-error-code vop undefined-symbol-error obj-temp)))
+ (loadw value obj-temp fdefn-fun-slot other-pointer-lowtag)
+ (let ((err-lab (generate-error-code vop undefined-fun-error obj-temp)))
- (storew lip fdefn fdefn-raw-addr-slot other-pointer-type)
- (storew function fdefn fdefn-fun-slot other-pointer-type)
+ (storew lip fdefn fdefn-raw-addr-slot other-pointer-lowtag)
+ (storew function fdefn fdefn-fun-slot other-pointer-lowtag)
- (loadw temp symbol symbol-value-slot other-pointer-type)
- (inst addq bsp-tn (* 2 word-bytes) bsp-tn)
+ (loadw temp symbol symbol-value-slot other-pointer-lowtag)
+ (inst addq bsp-tn (* 2 n-word-bytes) bsp-tn)
(storew temp bsp-tn (- binding-value-slot binding-size))
(storew symbol bsp-tn (- binding-symbol-slot binding-size))
(storew temp bsp-tn (- binding-value-slot binding-size))
(storew symbol bsp-tn (- binding-symbol-slot binding-size))
- (#+gengc storew-and-remember-slot #-gengc storew
- val symbol symbol-value-slot other-pointer-type)))
+ (#!+gengc storew-and-remember-slot #!-gengc storew
+ val symbol symbol-value-slot other-pointer-lowtag)))
(:generator 0
(loadw symbol bsp-tn (- binding-symbol-slot binding-size))
(loadw value bsp-tn (- binding-value-slot binding-size))
(:generator 0
(loadw symbol bsp-tn (- binding-symbol-slot binding-size))
(loadw value bsp-tn (- binding-value-slot binding-size))
- (#+gengc storew-and-remember-slot #-gengc storew
- value symbol symbol-value-slot other-pointer-type)
+ (#!+gengc storew-and-remember-slot #!-gengc storew
+ value symbol symbol-value-slot other-pointer-lowtag)
(loadw symbol bsp-tn (- binding-symbol-slot binding-size))
(loadw value bsp-tn (- binding-value-slot binding-size))
(inst beq symbol skip)
(loadw symbol bsp-tn (- binding-symbol-slot binding-size))
(loadw value bsp-tn (- binding-value-slot binding-size))
(inst beq symbol skip)
- (#+gengc storew-and-remember-slot #-gengc storew
- value symbol symbol-value-slot other-pointer-type)
+ (#!+gengc storew-and-remember-slot #!-gengc storew
+ value symbol symbol-value-slot other-pointer-lowtag)
(descriptor-reg any-reg null zero) * %set-funcallable-instance-info)
(define-full-reffer funcallable-instance-info *
(descriptor-reg any-reg null zero) * %set-funcallable-instance-info)
(define-full-reffer funcallable-instance-info *
(descriptor-reg any-reg) * %funcallable-instance-info)
(define-vop (funcallable-instance-lexenv cell-ref)
(descriptor-reg any-reg) * %funcallable-instance-info)
(define-vop (funcallable-instance-lexenv cell-ref)
(:arg-types instance (:constant index) *))
(define-full-reffer instance-index-ref * instance-slots-offset
(:arg-types instance (:constant index) *))
(define-full-reffer instance-index-ref * instance-slots-offset
(define-mutator-accessors binding-stack-end :sap nil)
(define-mutator-accessors number-stack-base :sap nil)
(define-mutator-accessors number-stack-end :sap nil)
(define-mutator-accessors binding-stack-end :sap nil)
(define-mutator-accessors number-stack-base :sap nil)
(define-mutator-accessors number-stack-end :sap nil)
(define-mutator-accessors nursery-start :sap nil)
(define-mutator-accessors nursery-end :sap nil)
(define-mutator-accessors storebuf-start :sap nil)
(define-mutator-accessors nursery-start :sap nil)
(define-mutator-accessors nursery-end :sap nil)
(define-mutator-accessors storebuf-start :sap nil)