[pypy-commit] pypy default: move copy-pasted code

cfbolz noreply at buildbot.pypy.org
Fri Apr 4 18:43:09 CEST 2014


Author: Carl Friedrich Bolz <cfbolz at 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:


More information about the pypy-commit mailing list