Author: Armin Rigo <ar...@tunes.org>
Branch: stmgc-c7
Changeset: r70561:b2d0af2aa055
Date: 2014-04-11 18:31 +0200
http://bitbucket.org/pypy/pypy/changeset/b2d0af2aa055/

Log:    Disable all caching of the BlackholeInterpreter objects in the
        presence of stm. Temporary solution.

diff --git a/TODO b/TODO
--- a/TODO
+++ b/TODO
@@ -92,7 +92,8 @@
 ------------------------------------------------------------
 
 pypy_g_BlackholeInterpBuilder_acquire_interp creates conflicts
-by caching the BlackholeInterps
+by caching the BlackholeInterps.  It has been disabled, check
+if we can re-enable it...
 
 ------------------------------------------------------------
 
diff --git a/rpython/jit/metainterp/blackhole.py 
b/rpython/jit/metainterp/blackhole.py
--- a/rpython/jit/metainterp/blackhole.py
+++ b/rpython/jit/metainterp/blackhole.py
@@ -3,7 +3,7 @@
 from rpython.jit.metainterp.compile import ResumeAtPositionDescr
 from rpython.jit.metainterp.jitexc import get_llexception, reraise
 from rpython.jit.metainterp import jitexc
-from rpython.rlib import longlong2float
+from rpython.rlib import longlong2float, rgc
 from rpython.rlib.debug import ll_assert, make_sure_not_resized
 from rpython.rlib.objectmodel import we_are_translated
 from rpython.rlib.rarithmetic import intmask, LONG_BIT, r_uint, ovfcheck
@@ -235,6 +235,8 @@
         return handler
 
     def acquire_interp(self):
+        if rgc.stm_is_enabled():   # XXX for now, no caching
+            return BlackholeInterpreter(self, 0)
         if len(self.blackholeinterps) > 0:
             return self.blackholeinterps.pop()
         else:
@@ -242,6 +244,8 @@
             return BlackholeInterpreter(self, self.num_interpreters)
 
     def release_interp(self, interp):
+        if rgc.stm_is_enabled():   # XXX for now, no caching
+            return
         interp.cleanup_registers()
         self.blackholeinterps.append(interp)
 
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to