[pypy-svn] r52239 - in pypy/branch/jit-refactoring/pypy/jit/rainbow: . test
arigo at codespeak.net
arigo at codespeak.net
Fri Mar 7 10:51:23 CET 2008
Author: arigo
Date: Fri Mar 7 10:51:22 2008
New Revision: 52239
Modified:
pypy/branch/jit-refactoring/pypy/jit/rainbow/interpreter.py
pypy/branch/jit-refactoring/pypy/jit/rainbow/test/test_serializegraph.py
Log:
Revert r52238. Causes blocked blocks everywhere in the tests :-(
Modified: pypy/branch/jit-refactoring/pypy/jit/rainbow/interpreter.py
==============================================================================
--- pypy/branch/jit-refactoring/pypy/jit/rainbow/interpreter.py (original)
+++ pypy/branch/jit-refactoring/pypy/jit/rainbow/interpreter.py Fri Mar 7 10:51:22 2008
@@ -29,31 +29,32 @@
promotiondescs, called_bytecodes, num_mergepoints,
graph_color, calldescs, metacalldescs,
indirectcalldescs, is_portal):
- # XXX quite a lot of lists of descs here... At least we replace
- # empty lists with None. A better approach memory-wise could be
+ # XXX quite a lot of lists of descs here... We should at least
+ # try to share the empty lists between the numberous prebuilt
+ # JitCode instances. A better approach memory-wise could be
# to have a single list of descs and use 'assert isinstance'
# checks; or move these lists to the Interpreter class and
# do something about the fact that some of these lists could
# then have more than 65536 items.
self.name = name
self.code = code
- self.constants = constants or None
- self.typekinds = typekinds or None
- self.redboxclasses = redboxclasses or None
- self.keydescs = keydescs or None
- self.structtypedescs = structtypedescs or None
- self.fielddescs = fielddescs or None
- self.arrayfielddescs = arrayfielddescs or None
- self.interiordescs = interiordescs or None
- self.exceptioninstances = exceptioninstances or None
- self.oopspecdescs = oopspecdescs or None
- self.promotiondescs = promotiondescs or None
- self.called_bytecodes = called_bytecodes or None
+ self.constants = constants
+ self.typekinds = typekinds
+ self.redboxclasses = redboxclasses
+ self.keydescs = keydescs
+ self.structtypedescs = structtypedescs
+ self.fielddescs = fielddescs
+ self.arrayfielddescs = arrayfielddescs
+ self.interiordescs = interiordescs
+ self.exceptioninstances = exceptioninstances
+ self.oopspecdescs = oopspecdescs
+ self.promotiondescs = promotiondescs
+ self.called_bytecodes = called_bytecodes
self.num_mergepoints = num_mergepoints
self.graph_color = graph_color
- self.calldescs = calldescs or None
- self.metacalldescs = metacalldescs or None
- self.indirectcalldescs = indirectcalldescs or None
+ self.calldescs = calldescs
+ self.metacalldescs = metacalldescs
+ self.indirectcalldescs = indirectcalldescs
self.is_portal = is_portal
def _freeze_(self):
Modified: pypy/branch/jit-refactoring/pypy/jit/rainbow/test/test_serializegraph.py
==============================================================================
--- pypy/branch/jit-refactoring/pypy/jit/rainbow/test/test_serializegraph.py (original)
+++ pypy/branch/jit-refactoring/pypy/jit/rainbow/test/test_serializegraph.py Fri Mar 7 10:51:22 2008
@@ -63,10 +63,10 @@
"make_new_redvars", 1, 2,
"make_new_greenvars", 0,
"red_return")
- assert not jitcode.constants
- assert not jitcode.typekinds
+ assert len(jitcode.constants) == 0
+ assert len(jitcode.typekinds) == 0
assert jitcode.is_portal
- assert not jitcode.called_bytecodes
+ assert len(jitcode.called_bytecodes) == 0
def test_constant(self):
def f(x):
@@ -82,7 +82,7 @@
assert len(jitcode.typekinds) == 1
assert len(jitcode.redboxclasses) == 1
assert jitcode.is_portal
- assert not jitcode.called_bytecodes
+ assert len(jitcode.called_bytecodes) == 0
def test_green_switch(self):
def f(x, y, z):
@@ -105,10 +105,10 @@
"goto", tlabel("return"),
)
assert jitcode.code == expected
- assert not jitcode.constants
- assert not jitcode.typekinds
+ assert len(jitcode.constants) == 0
+ assert len(jitcode.typekinds) == 0
assert jitcode.is_portal
- assert not jitcode.called_bytecodes
+ assert len(jitcode.called_bytecodes) == 0
def test_green_switch2(self):
def f(x, y, z):
@@ -139,10 +139,10 @@
"goto", tlabel("return"),
)
assert jitcode.code == expected
- assert not jitcode.constants
- assert not jitcode.typekinds
+ assert len(jitcode.constants) == 0
+ assert len(jitcode.typekinds) == 0
assert jitcode.is_portal
- assert not jitcode.called_bytecodes
+ assert len(jitcode.called_bytecodes) == 0
def test_merge(self):
def f(x, y, z):
@@ -179,7 +179,7 @@
assert len(jitcode.constants) == 1
assert len(jitcode.typekinds) == 1
assert jitcode.is_portal
- assert not jitcode.called_bytecodes
+ assert len(jitcode.called_bytecodes) == 0
def test_loop(self):
def f(x):
@@ -209,7 +209,7 @@
"make_new_redvars", 2, 2, 4,
"goto", tlabel("while"))
assert jitcode.is_portal
- assert not jitcode.called_bytecodes
+ assert len(jitcode.called_bytecodes) == 0
def test_dump_loop(self):
def f(x):
@@ -276,7 +276,7 @@
"make_new_greenvars", 0,
"red_return")
assert not called_jitcode.is_portal
- assert not called_jitcode.called_bytecodes
+ assert len(called_jitcode.called_bytecodes) == 0
def test_green_call(self):
def ll_add_one(x):
@@ -294,7 +294,7 @@
"make_new_greenvars", 0,
"red_return")
assert jitcode.is_portal
- assert not jitcode.called_bytecodes
+ assert len(jitcode.called_bytecodes) == 0
assert len(jitcode.calldescs) == 1
assert len(jitcode.constants) == 1
@@ -333,7 +333,7 @@
"goto", tlabel("return")
)
assert not called_jitcode.is_portal
- assert not called_jitcode.called_bytecodes
+ assert len(called_jitcode.called_bytecodes) == 0
class TestLLType(AbstractSerializationTest):
type_system = "lltype"
More information about the pypy-svn
mailing list