Optimize (mod FIXNUM) type-checks on x86oids.
authorStas Boukarev <stassats@gmail.com>
Wed, 5 Jun 2013 14:38:42 +0000 (18:38 +0400)
committerStas Boukarev <stassats@gmail.com>
Wed, 5 Jun 2013 14:38:42 +0000 (18:38 +0400)
commitcd5a858174d892f876699373dc3ea389cf2c4d40
treea52c5379663e21bbc1fb7ef3c6db5eb72e8cb5af
parentf79e7df41edd15a68c763263a81e7c640005a60b
Optimize (mod FIXNUM) type-checks on x86oids.

Instead of two (and (>= x 0) (< x FIXNUM)) comparisons, do one
unsigned.
(mod power-of-two) is further optimized by doing one mask test
determine the range and fixnumness in one go.
NEWS
package-data-list.lisp-expr
src/code/interr.lisp
src/compiler/generic/interr.lisp
src/compiler/generic/vm-type.lisp
src/compiler/ir2tran.lisp
src/compiler/x86-64/type-vops.lisp
src/compiler/x86/type-vops.lisp