Update of /cvsroot/sbcl/sbcl/src/compiler/mips
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8881/src/compiler/mips
Modified Files:
c-call.lisp parms.lisp
Log Message:
0.9.5.11:
Linkage table support for mips.
Index: c-call.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/compiler/mips/c-call.lisp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- c-call.lisp 14 Jul 2005 18:48:31 -0000 1.7
+++ c-call.lisp 29 Sep 2005 06:45:08 -0000 1.8
@@ -236,6 +236,20 @@
(:generator 2
(inst li res (make-fixup foreign-symbol :foreign))))
+#!+linkage-table
+(define-vop (foreign-symbol-dataref-sap)
+ (:translate foreign-symbol-dataref-sap)
+ (:policy :fast-safe)
+ (:args)
+ (:arg-types (:constant simple-string))
+ (:info foreign-symbol)
+ (:results (res :scs (sap-reg)))
+ (:result-types system-area-pointer)
+ (:temporary (:scs (non-descriptor-reg)) addr)
+ (:generator 2
+ (inst li addr (make-fixup foreign-symbol :foreign-dataref))
+ (loadw res addr)))
+
(define-vop (call-out)
(:args (function :scs (sap-reg) :target cfunc)
(args :more t))
Index: parms.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/compiler/mips/parms.lisp,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- parms.lisp 12 Sep 2005 14:00:33 -0000 1.13
+++ parms.lisp 29 Sep 2005 06:45:08 -0000 1.14
@@ -89,6 +89,11 @@
(def!constant dynamic-0-space-end #x50000000)
(def!constant dynamic-1-space-start #x50000000)
(def!constant dynamic-1-space-end #x70000000)
+
+ (def!constant linkage-table-space-start #x70000000)
+ (def!constant linkage-table-space-end #x71000000)
+ (def!constant linkage-table-entry-size 16)
+
;; C stack grows downward from 0x80000000
)
|