Changeset 7935


Ignore:
Timestamp:
Dec 26, 2007, 7:43:42 AM (12 years ago)
Author:
gb
Message:

Don't use a bignum in HASHED-BY-IDENTITY, since there's only one
typecode that'd keep the mask from fitting in a fixnum.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/working-0711/ccl/compiler/X86/X8664/x8664-arch.lisp

    r7716 r7935  
    12411241    `(let* ((,typecode (ccl::typecode ,thing)))
    12421242      (declare (fixnum ,typecode))
    1243       (and (<= ,typecode x8664::subtag-instance)
    1244        (logbitp (the (integer 0 #.x8664::subtag-instance) ,typecode)
    1245         (logior (ash 1 x8664::tag-fixnum)
    1246                 (ash 1 x8664::tag-imm-0)
    1247                 (ash 1 x8664::tag-imm-1)
    1248                 (ash 1 x8664::fulltag-symbol)
    1249                 (ash 1 x8664::subtag-instance)))))))
     1243      (or (= ,typecode x8664::subtag-instance)
     1244       (and (<= ,typecode x8664::fulltag-symbol)
     1245        (logbitp (the (integer 0 #.x8664::fulltag-symbol) ,typecode)
     1246                 (logior (ash 1 x8664::tag-fixnum)
     1247                         (ash 1 x8664::tag-imm-0)
     1248                         (ash 1 x8664::tag-imm-1)
     1249                         (ash 1 x8664::fulltag-symbol))))))))
    12501250
    12511251;;;
Note: See TracChangeset for help on using the changeset viewer.