projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Micro-optimize calling alloc_tramp on x86_64.
[sbcl.git]
/
src
/
compiler
/
x86-64
/
debug.lisp
diff --git
a/src/compiler/x86-64/debug.lisp
b/src/compiler/x86-64/debug.lisp
index
5f720fe
..
ef6e0e2
100644
(file)
--- a/
src/compiler/x86-64/debug.lisp
+++ b/
src/compiler/x86-64/debug.lisp
@@
-43,7
+43,8
@@
(move temp offset)
(inst neg temp)
(inst mov result
(move temp offset)
(inst neg temp)
(inst mov result
- (make-ea :qword :base sap :disp (frame-byte-offset 0) :index temp))))
+ (make-ea :qword :base sap :disp (frame-byte-offset 0) :index temp
+ :scale (ash 1 (- word-shift n-fixnum-tag-bits))))))
(define-vop (read-control-stack-c)
(:translate stack-ref)
(define-vop (read-control-stack-c)
(:translate stack-ref)
@@
-71,7
+72,8
@@
(move temp offset)
(inst neg temp)
(inst mov
(move temp offset)
(inst neg temp)
(inst mov
- (make-ea :qword :base sap :disp (frame-byte-offset 0) :index temp)
+ (make-ea :qword :base sap :disp (frame-byte-offset 0) :index temp
+ :scale (ash 1 (- word-shift n-fixnum-tag-bits)))
value)
(move result value)))
value)
(move result value)))