projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Microoptimise TN-LEXICAL-DEPTH
[sbcl.git]
/
src
/
compiler
/
x86
/
type-vops.lisp
diff --git
a/src/compiler/x86/type-vops.lisp
b/src/compiler/x86/type-vops.lisp
index
aca94f3
..
fd4b9d0
100644
(file)
--- a/
src/compiler/x86/type-vops.lisp
+++ b/
src/compiler/x86/type-vops.lisp
@@
-14,7
+14,7
@@
;;;; test generation utilities
(defun generate-fixnum-test (value)
;;;; test generation utilities
(defun generate-fixnum-test (value)
- (emit-optimized-test-inst value 3))
+ (emit-optimized-test-inst value fixnum-tag-mask))
(defun %test-fixnum (value target not-p)
(generate-fixnum-test value)
(defun %test-fixnum (value target not-p)
(generate-fixnum-test value)
@@
-293,8
+293,8
@@
(values not-target target)
(values target not-target))
;; Is it a fixnum?
(values not-target target)
(values target not-target))
;; Is it a fixnum?
- (generate-fixnum-test value)
(move eax-tn value)
(move eax-tn value)
+ (inst test al-tn fixnum-tag-mask)
(inst jmp :e fixnum)
;; If not, is it an other pointer?
(inst jmp :e fixnum)
;; If not, is it an other pointer?