projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Note removal of post-receive-email in NEWS
[sbcl.git]
/
src
/
compiler
/
x86-64
/
macros.lisp
diff --git
a/src/compiler/x86-64/macros.lisp
b/src/compiler/x86-64/macros.lisp
index
04d7ae5
..
2883d28
100644
(file)
--- a/
src/compiler/x86-64/macros.lisp
+++ b/
src/compiler/x86-64/macros.lisp
@@
-61,6
+61,14
@@
(defmacro popw (ptr &optional (slot 0) (lowtag 0))
`(inst pop (make-ea-for-object-slot ,ptr ,slot ,lowtag)))
(defmacro popw (ptr &optional (slot 0) (lowtag 0))
`(inst pop (make-ea-for-object-slot ,ptr ,slot ,lowtag)))
+
+(defun call-indirect (offset)
+ (typecase offset
+ ((signed-byte 32)
+ (inst call (make-ea :qword :disp offset)))
+ (t
+ (inst mov temp-reg-tn offset)
+ (inst call (make-ea :qword :base temp-reg-tn)))))
\f
;;;; macros to generate useful values
\f
;;;; macros to generate useful values