projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix GC-LOGFILE when none has been set
[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
8f5e239
..
fb18d8a
100644
(file)
--- a/
src/assembly/x86-64/support.lisp
+++ b/
src/assembly/x86-64/support.lisp
@@
-13,24
+13,24
@@
(ecase style
(:raw
(values
(ecase style
(:raw
(values
- `((inst lea r13-tn
+ `((inst lea temp-reg-tn
(make-ea :qword :disp (make-fixup ',name :assembly-routine)))
(make-ea :qword :disp (make-fixup ',name :assembly-routine)))
- (inst call r13-tn))
+ (inst call temp-reg-tn))
nil))
(:full-call
(values
`((note-this-location ,vop :call-site)
nil))
(:full-call
(values
`((note-this-location ,vop :call-site)
- (inst lea r13-tn
+ (inst lea temp-reg-tn
(make-ea :qword :disp (make-fixup ',name :assembly-routine)))
(make-ea :qword :disp (make-fixup ',name :assembly-routine)))
- (inst call r13-tn)
+ (inst call temp-reg-tn)
(note-this-location ,vop :single-value-return)
(note-this-location ,vop :single-value-return)
- (move rsp-tn rbx-tn))
+ (inst cmov :c rsp-tn rbx-tn))
'((:save-p :compute-only))))
(:none
(values
'((:save-p :compute-only))))
(:none
(values
- `((inst lea r13-tn
+ `((inst lea temp-reg-tn
(make-ea :qword :disp (make-fixup ',name :assembly-routine)))
(make-ea :qword :disp (make-fixup ',name :assembly-routine)))
- (inst jmp r13-tn))
+ (inst jmp temp-reg-tn))
nil))))
(!def-vm-support-routine generate-return-sequence (style)
nil))))
(!def-vm-support-routine generate-return-sequence (style)
@@
-38,9
+38,6
@@
(:raw
`(inst ret))
(:full-call
(:raw
`(inst ret))
(:full-call
- `(
- (inst pop rax-tn)
-
- (inst add rax-tn 3)
- (inst jmp rax-tn)))
+ `((inst clc)
+ (inst ret)))
(:none)))
(:none)))