X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86-64%2Fshow.lisp;h=b94e4bfd87882b5d5648476b6de6a1160da918b6;hb=5cf3c4259d529e180d75d4d140f344e600d2b06b;hp=ce470870bb4ac68c5c702fce0708506e16f1d99b;hpb=0d871fd7a98fc4af92a8b942a1154761466ad8c9;p=sbcl.git diff --git a/src/compiler/x86-64/show.lisp b/src/compiler/x86-64/show.lisp index ce47087..b94e4bf 100644 --- 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 - (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 add rsp-tn n-word-bytes) + (inst mov rsp-tn rbp-tn) + (inst pop rbp-tn) (move result rax)))