projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
function-lambda-expression: Return the name of a generic function.
[sbcl.git]
/
src
/
assembly
/
x86-64
/
support.lisp
diff --git
a/src/assembly/x86-64/support.lisp
b/src/assembly/x86-64/support.lisp
index
96f1ef3
..
62bc41f
100644
(file)
--- a/
src/assembly/x86-64/support.lisp
+++ b/
src/assembly/x86-64/support.lisp
@@
-9,33
+9,27
@@
(in-package "SB!VM")
(in-package "SB!VM")
-(!def-vm-support-routine generate-call-sequence (name style vop)
+(defun generate-call-sequence (name style vop)
(ecase style
(:raw
(values
(ecase style
(:raw
(values
- `((inst lea temp-reg-tn
- (make-ea :qword :disp (make-fixup ',name :assembly-routine)))
+ `((inst mov temp-reg-tn (make-fixup ',name :assembly-routine))
(inst call temp-reg-tn))
nil))
(:full-call
(values
`((note-this-location ,vop :call-site)
(inst call temp-reg-tn))
nil))
(:full-call
(values
`((note-this-location ,vop :call-site)
- (inst lea temp-reg-tn
- (make-ea :qword :disp (make-fixup ',name :assembly-routine)))
+ (inst mov temp-reg-tn (make-fixup ',name :assembly-routine))
(inst call temp-reg-tn)
(inst call temp-reg-tn)
- (note-this-location ,vop :single-value-return)
- (inst jmp :nc single-value)
- (move rsp-tn rbx-tn)
- single-value)
+ (note-this-location ,vop :single-value-return))
'((:save-p :compute-only))))
(:none
(values
'((:save-p :compute-only))))
(:none
(values
- `((inst lea temp-reg-tn
- (make-ea :qword :disp (make-fixup ',name :assembly-routine)))
+ `((inst mov temp-reg-tn (make-fixup ',name :assembly-routine))
(inst jmp temp-reg-tn))
nil))))
(inst jmp temp-reg-tn))
nil))))
-(!def-vm-support-routine generate-return-sequence (style)
+(defun generate-return-sequence (style)
(ecase style
(:raw
`(inst ret))
(ecase style
(:raw
`(inst ret))