Author: Carl Friedrich Bolz <[email protected]>
Branch:
Changeset: r62696:b91a591ea2c0
Date: 2013-03-23 13:28 +0100
http://bitbucket.org/pypy/pypy/changeset/b91a591ea2c0/
Log: the rpython pattern for getting sets is actually to use None as a
key
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
@@ -76,32 +76,32 @@
if self.position in renum:
if renum[self.position] == other.position:
return True
- bad[self] = True
- bad[other] = True
+ bad[self] = None
+ bad[other] = None
return False
renum[self.position] = other.position
if not self._generalization_of(other):
- bad[self] = True
- bad[other] = True
+ bad[self] = None
+ bad[other] = None
return False
assert isinstance(other, AbstractVirtualStructStateInfo)
assert len(self.fielddescrs) == len(self.fieldstate)
assert len(other.fielddescrs) == len(other.fieldstate)
if len(self.fielddescrs) != len(other.fielddescrs):
- bad[self] = True
- bad[other] = True
+ bad[self] = None
+ bad[other] = None
return False
for i in range(len(self.fielddescrs)):
if other.fielddescrs[i] is not self.fielddescrs[i]:
- bad[self] = True
- bad[other] = True
+ bad[self] = None
+ bad[other] = None
return False
if not self.fieldstate[i].generalization_of(other.fieldstate[i],
renum, bad):
- bad[self] = True
- bad[other] = True
+ bad[self] = None
+ bad[other] = None
return False
return True
@@ -167,23 +167,23 @@
if self.position in renum:
if renum[self.position] == other.position:
return True
- bad[self] = True
- bad[other] = True
+ bad[self] = None
+ bad[other] = None
return False
renum[self.position] = other.position
if not self._generalization_of(other):
- bad[self] = True
- bad[other] = True
+ bad[self] = None
+ bad[other] = None
return False
if len(self.fieldstate) != len(other.fieldstate):
- bad[self] = True
- bad[other] = True
+ bad[self] = None
+ bad[other] = None
return False
for i in range(len(self.fieldstate)):
if not self.fieldstate[i].generalization_of(other.fieldstate[i],
renum, bad):
- bad[self] = True
- bad[other] = True
+ bad[self] = None
+ bad[other] = None
return False
return True
@@ -222,36 +222,36 @@
if self.position in renum:
if renum[self.position] == other.position:
return True
- bad[self] = True
- bad[other] = True
+ bad[self] = None
+ bad[other] = None
return False
renum[self.position] = other.position
if not self._generalization_of(other):
- bad[self] = True
- bad[other] = True
+ bad[self] = None
+ bad[other] = None
return False
assert isinstance(other, VArrayStructStateInfo)
if len(self.fielddescrs) != len(other.fielddescrs):
- bad[self] = True
- bad[other] = True
+ bad[self] = None
+ bad[other] = None
return False
p = 0
for i in range(len(self.fielddescrs)):
if len(self.fielddescrs[i]) != len(other.fielddescrs[i]):
- bad[self] = True
- bad[other] = True
+ bad[self] = None
+ bad[other] = None
return False
for j in range(len(self.fielddescrs[i])):
if self.fielddescrs[i][j] is not other.fielddescrs[i][j]:
- bad[self] = True
- bad[other] = True
+ bad[self] = None
+ bad[other] = None
return False
if not
self.fieldstate[p].generalization_of(other.fieldstate[p],
renum, bad):
- bad[self] = True
- bad[other] = True
+ bad[self] = None
+ bad[other] = None
return False
p += 1
return True
@@ -310,42 +310,42 @@
if self.position in renum:
if renum[self.position] == other.position:
return True
- bad[self] = True
- bad[other] = True
+ bad[self] = None
+ bad[other] = None
return False
renum[self.position] = other.position
if not isinstance(other, NotVirtualStateInfo):
- bad[self] = True
- bad[other] = True
+ bad[self] = None
+ bad[other] = None
return False
if other.level < self.level:
- bad[self] = True
- bad[other] = True
+ bad[self] = None
+ bad[other] = None
return False
if self.level == LEVEL_CONSTANT:
if not self.constbox.same_constant(other.constbox):
- bad[self] = True
- bad[other] = True
+ bad[self] = None
+ bad[other] = None
return False
elif self.level == LEVEL_KNOWNCLASS:
if not self.known_class.same_constant(other.known_class):
- bad[self] = True
- bad[other] = True
+ bad[self] = None
+ bad[other] = None
return False
if not self.intbound.contains_bound(other.intbound):
- bad[self] = True
- bad[other] = True
+ bad[self] = None
+ bad[other] = None
return False
if self.lenbound and other.lenbound:
if self.lenbound.mode != other.lenbound.mode or \
self.lenbound.descr != other.lenbound.descr or \
not self.lenbound.bound.contains_bound(other.lenbound.bound):
- bad[self] = True
- bad[other] = True
+ bad[self] = None
+ bad[other] = None
return False
elif self.lenbound:
- bad[self] = True
- bad[other] = True
+ bad[self] = None
+ bad[other] = None
return False
return True
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit