From a743f02226d235f461a0bc5aeddcf63e8ac0dcf3 Mon Sep 17 00:00:00 2001 From: Alastair Bridgewater Date: Tue, 25 Oct 2011 16:43:13 -0400 Subject: [PATCH] Fix MAYBE-WITH-PINNED-OBJECTS for PPC/GENCGC. * GENCGC has working WITH-PINNED-OBJECTS on all targets, not just x86oids. Not using it when necessary is bad, especially since non-x86oids don't automatically pin references from the control stack. Fixed. --- src/code/host-alieneval.lisp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/code/host-alieneval.lisp b/src/code/host-alieneval.lisp index 0009b68..c29bdd5 100644 --- a/src/code/host-alieneval.lisp +++ b/src/code/host-alieneval.lisp @@ -468,10 +468,10 @@ (def!macro maybe-with-pinned-objects (variables types &body body) (declare (ignorable variables types)) (let ((pin-variables - ;; Only pin things on x86/x86-64, since on non-conservative - ;; gcs it'd imply disabling the GC. Which is something we - ;; don't want to do every time we're calling to C. - #!+(or x86 x86-64) + ;; Only pin things on GENCGC, since on CHENEYGC it'd imply + ;; disabling the GC. Which is something we don't want to do + ;; every time we're calling to C. + #!+gencgc (loop for variable in variables for type in types when (invoke-alien-type-method :deport-pin-p type) -- 1.7.10.4