X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Falpha%2Ftype-vops.lisp;h=d8723b1b1fa7d3577d85de47bf26cfb36460fa61;hb=8a8a8922802460741d6f8f6c11d71b1f414cf3a7;hp=e1ff1619cf5f90d50e2993394a20f09468120df4;hpb=14edb503e1b77e8203aa9879842f308c2a25f5c1;p=sbcl.git diff --git a/src/compiler/alpha/type-vops.lisp b/src/compiler/alpha/type-vops.lisp index e1ff161..d8723b1 100644 --- a/src/compiler/alpha/type-vops.lisp +++ b/src/compiler/alpha/type-vops.lisp @@ -13,7 +13,7 @@ (defun %test-fixnum (value target not-p &key temp) (assemble () - (inst and value 3 temp) + (inst and value fixnum-tag-mask temp) (if not-p (inst bne temp target) (inst beq temp target)))) @@ -21,7 +21,7 @@ (defun %test-fixnum-and-headers (value target not-p headers &key temp) (let ((drop-through (gen-label))) (assemble () - (inst and value 3 temp) + (inst and value fixnum-tag-mask temp) (inst beq temp (if not-p drop-through target))) (%test-headers value target not-p nil headers :drop-through drop-through :temp temp))) @@ -42,13 +42,6 @@ (inst bne temp target) (inst beq temp target)))) -(defun %test-lowtag-and-headers (value target not-p lowtag - function-p headers &key temp) - (let ((drop-through (gen-label))) - (%test-lowtag value (if not-p drop-through target) nil lowtag :temp temp) - (%test-headers value target not-p function-p headers - :drop-through drop-through :temp temp))) - (defun %test-headers (value target not-p function-p headers &key (drop-through (gen-label)) temp) (let ((lowtag (if function-p fun-pointer-lowtag other-pointer-lowtag))) @@ -144,7 +137,7 @@ (values not-target target) (values target not-target)) (assemble () - (inst and value 3 temp) + (inst and value fixnum-tag-mask temp) (inst beq temp yep) (inst and value lowtag-mask temp) (inst xor temp other-pointer-lowtag temp) @@ -184,7 +177,7 @@ (values target not-target)) (assemble () ;; Is it a fixnum? - (inst and value 3 temp1) + (inst and value fixnum-tag-mask temp1) (inst move value temp) (inst beq temp1 fixnum)