X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Falpha%2Fcell.lisp;h=22f7ce6c28325fca2b936f3b9bad5c64f4aee2ae;hb=97535256efa8ab0edefca516b2553efcccf3e2ec;hp=97e250e63fdff752629f32357c66146fb69f4001;hpb=6f409fdfbd3d4a0c5c540de5a9371388c585cacb;p=sbcl.git diff --git a/src/compiler/alpha/cell.lisp b/src/compiler/alpha/cell.lisp index 97e250e..22f7ce6 100644 --- a/src/compiler/alpha/cell.lisp +++ b/src/compiler/alpha/cell.lisp @@ -100,6 +100,13 @@ ;; ensure this is explained in the comment in objdef.lisp (loadw res symbol symbol-hash-slot other-pointer-lowtag) (inst bic res #.(ash lowtag-mask -1) res))) + +;;; On unithreaded builds these are just copies of the non-global versions. +(define-vop (%set-symbol-global-value set)) +(define-vop (symbol-global-value symbol-value) + (:translate symbol-global-value)) +(define-vop (fast-symbol-global-value fast-symbol-value) + (:translate symbol-global-value)) ;;;; fdefinition (FDEFN) objects @@ -179,8 +186,8 @@ (loadw value bsp-tn (- binding-value-slot binding-size)) (#!+gengc storew-and-remember-slot #!-gengc storew value symbol symbol-value-slot other-pointer-lowtag) - (storew zero-tn bsp-tn (- binding-value-slot binding-size)) (storew zero-tn bsp-tn (- binding-symbol-slot binding-size)) + (storew zero-tn bsp-tn (- binding-value-slot binding-size)) (inst subq bsp-tn (* 2 n-word-bytes) bsp-tn))) @@ -203,10 +210,10 @@ (inst beq symbol skip) (#!+gengc storew-and-remember-slot #!-gengc storew value symbol symbol-value-slot other-pointer-lowtag) - (storew zero-tn bsp-tn (- binding-value-slot binding-size)) (storew zero-tn bsp-tn (- binding-symbol-slot binding-size)) (emit-label skip) + (storew zero-tn bsp-tn (- binding-value-slot binding-size)) (inst subq bsp-tn (* 2 n-word-bytes) bsp-tn) (inst cmpeq where bsp-tn temp) (inst beq temp loop) @@ -227,9 +234,6 @@ funcallable-instance-info-offset fun-pointer-lowtag (descriptor-reg any-reg) * %funcallable-instance-info) -(define-vop (funcallable-instance-lexenv cell-ref) - (:variant funcallable-instance-lexenv-slot fun-pointer-lowtag)) - (define-vop (closure-ref slot-ref) (:variant closure-info-offset fun-pointer-lowtag))