projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
move checking for constant ALIEN-INFO into a separate function
[sbcl.git]
/
src
/
compiler
/
x86-64
/
show.lisp
diff --git
a/src/compiler/x86-64/show.lisp
b/src/compiler/x86-64/show.lisp
index
ce47087
..
b94e4bf
100644
(file)
--- a/
src/compiler/x86-64/show.lisp
+++ b/
src/compiler/x86-64/show.lisp
@@
-26,11
+26,17
@@
(:results (result :scs (descriptor-reg)))
(:save-p t)
(:generator 100
(:results (result :scs (descriptor-reg)))
(:save-p t)
(:generator 100
- (inst push object)
+ (move rax object)
+ (inst push rbp-tn)
+ (inst mov rbp-tn rsp-tn)
+ (inst push rbp-tn)
+ (inst and rsp-tn -16)
+ (storew rax rsp-tn)
(inst lea rax (make-fixup "debug_print" :foreign))
(inst lea call-target
(make-ea :qword
:disp (make-fixup "call_into_c" :foreign)))
(inst call call-target)
(inst lea rax (make-fixup "debug_print" :foreign))
(inst lea call-target
(make-ea :qword
:disp (make-fixup "call_into_c" :foreign)))
(inst call call-target)
- (inst add rsp-tn n-word-bytes)
+ (inst mov rsp-tn rbp-tn)
+ (inst pop rbp-tn)
(move result rax)))
(move result rax)))