X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fsparc%2Fcell.lisp;h=4cea77ac1f3712e9c7b4b7327cf54b3537856487;hb=74cfbf6d0572b7df1b3492563408a7cb3ae103cf;hp=8767f02690aa5bdbff28aea45c70fb3928a8a1eb;hpb=26bbfd93d01cefc0bbf97727379bdbdace8bf609;p=sbcl.git diff --git a/src/compiler/sparc/cell.lisp b/src/compiler/sparc/cell.lisp index 8767f02..4cea77a 100644 --- a/src/compiler/sparc/cell.lisp +++ b/src/compiler/sparc/cell.lisp @@ -92,6 +92,13 @@ ;; ensure this is explained in the comment in objdef.lisp (loadw res symbol symbol-hash-slot other-pointer-lowtag) (inst andn res res fixnum-tag-mask))) + +;;; 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. (define-vop (fdefn-fun cell-ref) @@ -282,7 +289,7 @@ (:generator 5 (loadw offset object 0 instance-pointer-lowtag) (inst srl offset offset n-widetag-bits) - (inst sll offset offset 2) + (inst sll offset offset n-fixnum-tag-bits) (inst sub offset offset index) (inst add offset @@ -304,7 +311,7 @@ (:generator 5 (loadw offset object 0 instance-pointer-lowtag) (inst srl offset offset n-widetag-bits) - (inst sll offset offset 2) + (inst sll offset offset n-fixnum-tag-bits) (inst sub offset offset index) (inst add offset @@ -326,7 +333,7 @@ (:generator 5 (loadw offset object 0 instance-pointer-lowtag) (inst srl offset offset n-widetag-bits) - (inst sll offset offset 2) + (inst sll offset offset n-fixnum-tag-bits) (inst sub offset offset index) (inst add offset @@ -348,7 +355,7 @@ (:generator 5 (loadw offset object 0 instance-pointer-lowtag) (inst srl offset offset n-widetag-bits) - (inst sll offset offset 2) + (inst sll offset offset n-fixnum-tag-bits) (inst sub offset offset index) (inst add offset @@ -371,7 +378,7 @@ (:generator 5 (loadw offset object 0 instance-pointer-lowtag) (inst srl offset offset n-widetag-bits) - (inst sll offset offset 2) + (inst sll offset offset n-fixnum-tag-bits) (inst sub offset offset index) (inst add offset @@ -393,7 +400,7 @@ (:generator 5 (loadw offset object 0 instance-pointer-lowtag) (inst srl offset offset n-widetag-bits) - (inst sll offset offset 2) + (inst sll offset offset n-fixnum-tag-bits) (inst sub offset offset index) (inst add offset @@ -416,7 +423,7 @@ (:generator 5 (loadw offset object 0 instance-pointer-lowtag) (inst srl offset offset n-widetag-bits) - (inst sll offset offset 2) + (inst sll offset offset n-fixnum-tag-bits) (inst sub offset offset index) (inst add offset @@ -440,7 +447,7 @@ (:generator 5 (loadw offset object 0 instance-pointer-lowtag) (inst srl offset offset n-widetag-bits) - (inst sll offset offset 2) + (inst sll offset offset n-fixnum-tag-bits) (inst sub offset offset index) (inst add offset @@ -471,7 +478,7 @@ (:generator 5 (loadw offset object 0 instance-pointer-lowtag) (inst srl offset offset n-widetag-bits) - (inst sll offset offset 2) + (inst sll offset offset n-fixnum-tag-bits) (inst sub offset offset index) (inst add offset @@ -495,7 +502,7 @@ (:generator 5 (loadw offset object 0 instance-pointer-lowtag) (inst srl offset offset n-widetag-bits) - (inst sll offset offset 2) + (inst sll offset offset n-fixnum-tag-bits) (inst sub offset offset index) (inst add offset