Author: Armin Rigo <ar...@tunes.org>
Branch: stm-thread
Changeset: r55525:2fde41f7de8a
Date: 2012-06-08 20:59 +0200
http://bitbucket.org/pypy/pypy/changeset/2fde41f7de8a/

Log:    Disable this useless-so-far computation

diff --git a/pypy/rpython/memory/gctransform/stmframework.py 
b/pypy/rpython/memory/gctransform/stmframework.py
--- a/pypy/rpython/memory/gctransform/stmframework.py
+++ b/pypy/rpython/memory/gctransform/stmframework.py
@@ -79,6 +79,8 @@
 
     def gct_stm_local_not_needed(self, hop):
         # XXX make use of this info :-)
+        # for now, 'stm_local_not_needed' is not generated
+        # (INSERT_STM_LOCAL_NOT_NEEDED=False in translator/stm/transform)
         self.vars_local_not_needed.update(hop.spaceop.args)
 
 
diff --git a/pypy/translator/stm/localtracker.py 
b/pypy/translator/stm/localtracker.py
--- a/pypy/translator/stm/localtracker.py
+++ b/pypy/translator/stm/localtracker.py
@@ -8,6 +8,8 @@
     'stm_writebarrier',
     ])
 
+ENSURED_LOCAL_VARS = False      # not needed for now
+
 
 class StmLocalTracker(object):
     """Tracker to determine which pointers are statically known to point
@@ -24,7 +26,8 @@
         # holding a value that we really want to be local.  It does
         # not contain the variables that happen to be local but whose
         # locality is not useful any more.
-        self.ensured_local_vars = set()
+        if ENSURED_LOCAL_VARS:
+            self.ensured_local_vars = set()
 
     def try_ensure_local(self, *variables):
         for variable in variables:
@@ -33,11 +36,12 @@
         #
         # they could all be locals, so flag them and their dependencies
         # and return True
-        for variable in variables:
-            if (isinstance(variable, Variable) and
-                    variable not in self.ensured_local_vars):
-                depends_on = self.gsrc.backpropagate(variable)
-                self.ensured_local_vars.update(depends_on)
+        if ENSURED_LOCAL_VARS:
+            for variable in variables:
+                if (isinstance(variable, Variable) and
+                        variable not in self.ensured_local_vars):
+                    depends_on = self.gsrc.backpropagate(variable)
+                    self.ensured_local_vars.update(depends_on)
         return True
 
     def _could_be_local(self, variable):
diff --git a/pypy/translator/stm/transform.py b/pypy/translator/stm/transform.py
--- a/pypy/translator/stm/transform.py
+++ b/pypy/translator/stm/transform.py
@@ -21,6 +21,8 @@
     ])
 ALWAYS_ALLOW_OPERATIONS |= set(lloperation.enum_tryfold_ops())
 
+INSERT_STM_LOCAL_NOT_NEEDED = False    # not useful for now
+
 def op_in_set(opname, set):
     return opname in set
 
@@ -47,9 +49,10 @@
         self.localtracker = StmLocalTracker(self.translator)
         for graph in self.translator.graphs:
             self.transform_graph(graph)
-        self.make_opnames_cannot_malloc_gc()
-        for graph in self.translator.graphs:
-            self.insert_stm_local_not_needed(graph)
+        if INSERT_STM_LOCAL_NOT_NEEDED:
+            self.make_opnames_cannot_malloc_gc()
+            for graph in self.translator.graphs:
+                self.insert_stm_local_not_needed(graph)
         self.localtracker = None
         self.translator.stm_transformation_applied = True
         self.print_logs()
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to