X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86-64%2Fshow.lisp;h=ce470870bb4ac68c5c702fce0708506e16f1d99b;hb=cce8ef57994227f93627e6d132f24d8c50ebd447;hp=bc475e4d394aa34c9aaa90a09e26c403077d073e;hpb=4ebdc81b1a9c6dbed6e98b112afc8dd32b17a2dd;p=sbcl.git diff --git a/src/compiler/x86-64/show.lisp b/src/compiler/x86-64/show.lisp index bc475e4..ce47087 100644 --- a/src/compiler/x86-64/show.lisp +++ b/src/compiler/x86-64/show.lisp @@ -17,16 +17,20 @@ (define-vop (print) (:args (object :scs (descriptor-reg any-reg))) (:temporary (:sc unsigned-reg - :offset rax-offset - :target result - :from :eval - :to (:result 0)) - rax) + :offset rax-offset + :target result + :from :eval + :to (:result 0)) + rax) + (:temporary (:sc unsigned-reg) call-target) (:results (result :scs (descriptor-reg))) (:save-p t) (:generator 100 (inst push object) - (inst lea rax (make-fixup (extern-alien-name "debug_print") :foreign)) - (inst call (make-fixup (extern-alien-name "call_into_c") :foreign)) + (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) (move result rax)))