projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.8.13.17:
[sbcl.git]
/
src
/
assembly
/
sparc
/
support.lisp
diff --git
a/src/assembly/sparc/support.lisp
b/src/assembly/sparc/support.lisp
index
d5a1532
..
42d4f0d
100644
(file)
--- a/
src/assembly/sparc/support.lisp
+++ b/
src/assembly/sparc/support.lisp
@@
-13,7
+13,7
@@
(!def-vm-support-routine generate-call-sequence (name style vop)
(ecase style
(!def-vm-support-routine generate-call-sequence (name style vop)
(ecase style
- (:raw
+ ((:raw :none)
(let ((temp (make-symbol "TEMP"))
(lip (make-symbol "LIP")))
(values
(let ((temp (make-symbol "TEMP"))
(lip (make-symbol "LIP")))
(values
@@
-52,14
+52,7
@@
,lra)
(:temporary (:scs (control-stack) :offset nfp-save-offset)
,nfp-save)
,lra)
(:temporary (:scs (control-stack) :offset nfp-save-offset)
,nfp-save)
- (:save-p :compute-only)))))
- (:none
- (let ((temp (make-symbol "TEMP")))
- (values
- `((inst ji ,temp (make-fixup ',name :assembly-routine))
- (inst nop))
- `((:temporary (:scs (non-descriptor-reg) :from (:eval 0) :to (:eval 1))
- ,temp)))))))
+ (:save-p :compute-only)))))))
(!def-vm-support-routine generate-return-sequence (style)
(ecase style
(!def-vm-support-routine generate-return-sequence (style)
(ecase style
@@
-76,3
+69,6
@@
:offset lra-offset)
:offset 2)))
(:none)))
:offset lra-offset)
:offset 2)))
(:none)))
+
+(defun return-machine-address (scp)
+ (+ (context-register scp lip-offset) 8))