[Openmcl-cvs-notifications] r11676 - in /trunk/source: compiler/PPC/PPC32/ppc32-arch.lisp compiler/PPC/PPC64/ppc64-arch.lisp compiler/X86/X8632/x8632-arch.lisp compiler/X86/X8664/x8664-arch.lisp level-1/l1-aprims.lisp
gb at clozure.com
gb at clozure.com
Sun Feb 1 07:37:53 EST 2009
Author: gb
Date: Sun Feb 1 07:37:53 2009
New Revision: 11676
Log:
Lisp-side of user-defined GCable-pointer dispose-functions support:
arch-specific imports table entries, simple wrapper
REGISTER-XMACPTR-DISPOSE-FUNCTION.
Modified:
trunk/source/compiler/PPC/PPC32/ppc32-arch.lisp
trunk/source/compiler/PPC/PPC64/ppc64-arch.lisp
trunk/source/compiler/X86/X8632/x8632-arch.lisp
trunk/source/compiler/X86/X8664/x8664-arch.lisp
trunk/source/level-1/l1-aprims.lisp
Modified: trunk/source/compiler/PPC/PPC32/ppc32-arch.lisp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/compiler/PPC/PPC32/ppc32-arch.lisp (original)
+++ trunk/source/compiler/PPC/PPC32/ppc32-arch.lisp Sun Feb 1 07:37:53 2009
@@ -578,7 +578,7 @@
free
jvm-init
tcr-frame-ptr
- register_cstack
+ register-xmacptr-dispose-function
open-debug-output
get-r-debug
restore-soft-stack-limit
Modified: trunk/source/compiler/PPC/PPC64/ppc64-arch.lisp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/compiler/PPC/PPC64/ppc64-arch.lisp (original)
+++ trunk/source/compiler/PPC/PPC64/ppc64-arch.lisp Sun Feb 1 07:37:53 2009
@@ -648,7 +648,7 @@
free
jvm-init
tcr-frame-ptr
- register_cstack
+ register-xmacptr-dispose-function
open-debug-output
get-r-debug
restore-soft-stack-limit
Modified: trunk/source/compiler/X86/X8632/x8632-arch.lisp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/compiler/X86/X8632/x8632-arch.lisp (original)
+++ trunk/source/compiler/X86/X8632/x8632-arch.lisp Sun Feb 1 07:37:53 2009
@@ -695,7 +695,7 @@
free
jvm-init
tcr-frame-ptr
- register_cstack
+ register-xmacptr-dispose-function
open-debug-output
get-r-debug
restore-soft-stack-limit
Modified: trunk/source/compiler/X86/X8664/x8664-arch.lisp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/compiler/X86/X8664/x8664-arch.lisp (original)
+++ trunk/source/compiler/X86/X8664/x8664-arch.lisp Sun Feb 1 07:37:53 2009
@@ -795,7 +795,7 @@
free
jvm-init
tcr-frame-ptr
- register_cstack
+ register-xmacptr-dispose-function
open-debug-output
get-r-debug
restore-soft-stack-limit
Modified: trunk/source/level-1/l1-aprims.lisp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/level-1/l1-aprims.lisp (original)
+++ trunk/source/level-1/l1-aprims.lisp Sun Feb 1 07:37:53 2009
@@ -1173,6 +1173,14 @@
(defstatic *upper-to-lower* nil)
(defstatic *lower-to-upper* nil)
=
+;;; "address" should be the address (as returned by FOREIGN-SYMBOL-ADDRESS)
+;;; of a foreign function that accepts a pointer as an argument and does
+;;; whatever's needed to dispose of it. That function can be called from
+;;; the GC, so it shouldn't call back into lisp.
+(defun register-xmacptr-dispose-function (address)
+ (ff-call (%kernel-import target::kernel-import-register-xmacptr-dispose-=
function)
+ :address address
+ :int))
=
=
;;; This alist is automatically (and not too cleverly ...) generated.
More information about the Openmcl-cvs-notifications
mailing list