Ignore:
Timestamp:
Dec 3, 2012, 10:48:41 PM (7 years ago)
Author:
gb
Message:

Do STRIP-TAG-TO-FIXNUM the same way on all platforms: clear the
argument's tag bits (making it an even fixnum) and then logically
shift right 1 bit.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/level-0/X86/x86-hash.lisp

    r15264 r15521  
    125125;;; Strip the tag bits to turn x into a fixnum
    126126(defx86lapfunction strip-tag-to-fixnum ((x arg_z))
    127   (movq (% x) (% imm0))
    128   (shlq ($ x8664::ntagbits) (% imm0))
    129   (box-fixnum imm0 arg_z)
     127  (andq ($ (lognot target::fulltagmask)) (% x))
     128  (shrq ($ (- target::ntagbits target::fixnumshift)) (% arg_z))
    130129  (single-value-return))
    131130
Note: See TracChangeset for help on using the changeset viewer.