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