X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcompiler%2Fx86-64%2Fsystem.lisp;h=1a8d6650eef31bcb6da58cb609a1bcea8e61717a;hb=3da8e4ca35e534942f7a5046490d169509170c85;hp=c9f111db533eb430b546e274ae3166c63e959fa3;hpb=4ebdc81b1a9c6dbed6e98b112afc8dd32b17a2dd;p=sbcl.git diff --git a/src/compiler/x86-64/system.lisp b/src/compiler/x86-64/system.lisp index c9f111d..1a8d665 100644 --- a/src/compiler/x86-64/system.lisp +++ b/src/compiler/x86-64/system.lisp @@ -35,25 +35,25 @@ (inst mov rax object) (inst and al-tn lowtag-mask) (inst cmp al-tn other-pointer-lowtag) - (inst jmp :e other-ptr) + (inst jmp :e OTHER-PTR) (inst cmp al-tn fun-pointer-lowtag) - (inst jmp :e function-ptr) + (inst jmp :e FUNCTION-PTR) ;; Pick off structures and list pointers. (inst test al-tn 1) - (inst jmp :ne done) + (inst jmp :ne DONE) ;; Pick off fixnums. (inst and al-tn 7) - (inst jmp :e done) + (inst jmp :e DONE) ;; must be an other immediate (inst mov rax object) - (inst jmp done) + (inst jmp DONE) FUNCTION-PTR (load-type al-tn object (- fun-pointer-lowtag)) - (inst jmp done) + (inst jmp DONE) OTHER-PTR (load-type al-tn object (- other-pointer-lowtag)) @@ -121,7 +121,7 @@ :from (:argument 1) :to (:result 0)) eax) (:generator 6 (move eax data) - (inst shl eax (- n-widetag-bits 2)) + (inst shl eax (- n-widetag-bits n-fixnum-tag-bits)) (inst mov al-tn (make-ea :byte :base x :disp (- other-pointer-lowtag))) (storew eax x 0 other-pointer-lowtag) (move res x))) @@ -142,7 +142,7 @@ (:results (res :scs (any-reg descriptor-reg) :from (:argument 0))) (:generator 2 (move res val) - (inst shl res (- n-widetag-bits 2)) + (inst shl res (- n-widetag-bits n-fixnum-tag-bits)) (inst or res (sc-case type (unsigned-reg type) (immediate (tn-value type))))))