Author: Carl Friedrich Bolz <cfb...@gmx.de> Branch: Changeset: r70440:e125ed3d7334 Date: 2014-04-04 17:39 +0200 http://bitbucket.org/pypy/pypy/changeset/e125ed3d7334/
Log: move copy-pasted code diff --git a/rpython/jit/metainterp/optimizeopt/virtualstate.py b/rpython/jit/metainterp/optimizeopt/virtualstate.py --- a/rpython/jit/metainterp/optimizeopt/virtualstate.py +++ b/rpython/jit/metainterp/optimizeopt/virtualstate.py @@ -18,7 +18,12 @@ position = -1 def generalization_of(self, other, renum, bad): - result = self.generalization_of_dont_handle_bad(other, renum, bad) + assert self.position != -1 + if self.position in renum: + result = renum[self.position] == other.position + else: + renum[self.position] = other.position + result = self.generalization_of_dont_handle_bad(other, renum, bad) if not result: bad[self] = bad[other] = None return result @@ -71,12 +76,6 @@ self.fielddescrs = fielddescrs def generalization_of_dont_handle_bad(self, other, renum, bad): - assert self.position != -1 - if self.position in renum: - if renum[self.position] == other.position: - return True - return False - renum[self.position] = other.position if not self._generalization_of(other): return False @@ -153,12 +152,6 @@ self.arraydescr is other.arraydescr) def generalization_of_dont_handle_bad(self, other, renum, bad): - assert self.position != -1 - if self.position in renum: - if renum[self.position] == other.position: - return True - return False - renum[self.position] = other.position if not self._generalization_of(other): return False if len(self.fieldstate) != len(other.fieldstate): @@ -196,12 +189,6 @@ self.fielddescrs = fielddescrs def generalization_of_dont_handle_bad(self, other, renum, bad): - assert self.position != -1 - if self.position in renum: - if renum[self.position] == other.position: - return True - return False - renum[self.position] = other.position if not self._generalization_of(other): return False @@ -272,12 +259,6 @@ def generalization_of_dont_handle_bad(self, other, renum, bad): # XXX This will always retrace instead of forcing anything which # might be what we want sometimes? - assert self.position != -1 - if self.position in renum: - if renum[self.position] == other.position: - return True - return False - renum[self.position] = other.position if not isinstance(other, NotVirtualStateInfo): return False if other.level < self.level: _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit