[pypy-svn] r65195 - pypy/branch/pyjitpl5/pypy/jit/backend/x86

arigo at codespeak.net arigo at codespeak.net
Sun May 10 13:26:46 CEST 2009


Author: arigo
Date: Sun May 10 13:26:45 2009
New Revision: 65195

Modified:
   pypy/branch/pyjitpl5/pypy/jit/backend/x86/runner.py
Log:
Don't need self.keepalives when translated, as Boehm
currently looks inside fail_boxes.


Modified: pypy/branch/pyjitpl5/pypy/jit/backend/x86/runner.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/jit/backend/x86/runner.py	(original)
+++ pypy/branch/pyjitpl5/pypy/jit/backend/x86/runner.py	Sun May 10 13:26:45 2009
@@ -287,7 +287,10 @@
 
     def set_future_value_ptr(self, index, ptrvalue):
         assert index < MAX_FAIL_BOXES, "overflow!"
-        self.keepalives.append(ptrvalue)
+        if not we_are_translated():
+            self.keepalives.append(ptrvalue)
+        else:
+            pass    # Boehm looks inside fail_boxes (XXX)
         intvalue = self.cast_gcref_to_int(ptrvalue)
         self.assembler.fail_boxes[index] = intvalue
 
@@ -310,7 +313,8 @@
             if verbose:
                 print "Entering: %d" % rffi.cast(lltype.Signed, func)
             res = func()
-            del self.keepalives[:]
+            if not we_are_translated():
+                del self.keepalives[:]
             self.reraise_caught_exception()
         finally:
             if not self.translate_support_code:



More information about the Pypy-commit mailing list