[pypy-commit] pypy stmgc-c7: Don't call install_new_cell() here in case of STM

arigo noreply at buildbot.pypy.org
Tue May 6 13:39:58 CEST 2014


Author: Armin Rigo <arigo at tunes.org>
Branch: stmgc-c7
Changeset: r71331:c84e52937998
Date: 2014-05-06 13:38 +0200
http://bitbucket.org/pypy/pypy/changeset/c84e52937998/

Log:	Don't call install_new_cell() here in case of STM

diff --git a/rpython/jit/metainterp/counter.py b/rpython/jit/metainterp/counter.py
--- a/rpython/jit/metainterp/counter.py
+++ b/rpython/jit/metainterp/counter.py
@@ -1,4 +1,5 @@
 from rpython.rlib.rarithmetic import r_singlefloat, r_uint
+from rpython.rlib import rgc
 from rpython.rtyper.lltypesystem import lltype, rffi
 from rpython.translator.tool.cbuild import ExternalCompilationInfo
 
@@ -154,7 +155,11 @@
 
     def cleanup_chain(self, hash):
         self.reset(hash)
-        self.install_new_cell(hash, None)
+        # Next, clean up the chained list by removing the cells that
+        # need to be removed.  For now we don't do it with STM because
+        # this creates pointless conflicts.
+        if not rgc.stm_is_enabled():
+            self.install_new_cell(hash, None)
 
     def install_new_cell(self, hash, newcell):
         index = self._get_index(hash)


More information about the pypy-commit mailing list