[pypy-svn] r79108 - in pypy/branch/jit-free/pypy/jit/metainterp: . test
arigo at codespeak.net
arigo at codespeak.net
Mon Nov 15 15:49:48 CET 2010
Author: arigo
Date: Mon Nov 15 15:49:45 2010
New Revision: 79108
Modified:
pypy/branch/jit-free/pypy/jit/metainterp/test/test_logger.py
pypy/branch/jit-free/pypy/jit/metainterp/test/test_pyjitpl.py
pypy/branch/jit-free/pypy/jit/metainterp/test/test_warmspot.py
pypy/branch/jit-free/pypy/jit/metainterp/test/test_warmstate.py
pypy/branch/jit-free/pypy/jit/metainterp/warmstate.py
Log:
(antocuni, arigo)
Fix tests.
Modified: pypy/branch/jit-free/pypy/jit/metainterp/test/test_logger.py
==============================================================================
--- pypy/branch/jit-free/pypy/jit/metainterp/test/test_logger.py (original)
+++ pypy/branch/jit-free/pypy/jit/metainterp/test/test_logger.py Mon Nov 15 15:49:45 2010
@@ -112,7 +112,8 @@
equaloplists(loop.operations, oloop.operations)
def test_jump(self):
- namespace = {'target': LoopToken(3)}
+ namespace = {'target': LoopToken()}
+ namespace['target'].number = 3
inp = '''
[i0]
jump(i0, descr=target)
Modified: pypy/branch/jit-free/pypy/jit/metainterp/test/test_pyjitpl.py
==============================================================================
--- pypy/branch/jit-free/pypy/jit/metainterp/test/test_pyjitpl.py (original)
+++ pypy/branch/jit-free/pypy/jit/metainterp/test/test_pyjitpl.py Mon Nov 15 15:49:45 2010
@@ -17,6 +17,7 @@
portal.setup(None)
class FakeStaticData:
cpu = None
+ warmrunnerdesc = None
metainterp = pyjitpl.MetaInterp(FakeStaticData(), None)
metainterp.framestack = []
@@ -53,6 +54,7 @@
def test_remove_consts_and_duplicates():
class FakeStaticData:
cpu = None
+ warmrunnerdesc = None
def is_another_box_like(box, referencebox):
assert box is not referencebox
assert isinstance(box, referencebox.clonebox().__class__)
Modified: pypy/branch/jit-free/pypy/jit/metainterp/test/test_warmspot.py
==============================================================================
--- pypy/branch/jit-free/pypy/jit/metainterp/test/test_warmspot.py (original)
+++ pypy/branch/jit-free/pypy/jit/metainterp/test/test_warmspot.py Mon Nov 15 15:49:45 2010
@@ -378,23 +378,30 @@
exc_vtable = lltype.malloc(OBJECT_VTABLE, immortal=True)
cls.exc_vtable = exc_vtable
- class FakeFailDescr(object):
+ class FakeLoopToken:
def __init__(self, no):
self.no = no
+ self.generation = 0
+
+ class FakeFailDescr(object):
+ def __init__(self, looptoken):
+ assert isinstance(looptoken, FakeLoopToken)
+ self.looptoken = looptoken
def handle_fail(self, metainterp_sd):
- if self.no == 0:
+ no = self.looptoken.no
+ if no == 0:
raise metainterp_sd.warmrunnerdesc.DoneWithThisFrameInt(3)
- if self.no == 1:
+ if no == 1:
raise metainterp_sd.warmrunnerdesc.ContinueRunningNormally(
[0], [], [], [1], [], [])
- if self.no == 3:
+ if no == 3:
exc = lltype.malloc(OBJECT)
exc.typeptr = exc_vtable
raise metainterp_sd.warmrunnerdesc.ExitFrameWithExceptionRef(
metainterp_sd.cpu,
lltype.cast_opaque_ptr(llmemory.GCREF, exc))
- return self.no
+ return self.looptoken
class FakeDescr:
def as_vtable_size_descr(self):
@@ -419,11 +426,11 @@
sizeof = nodescr
def get_fail_descr_from_number(self, no):
- return FakeFailDescr(no)
+ return FakeFailDescr(FakeLoopToken(no))
def execute_token(self, token):
- assert token == 2
- return FakeFailDescr(1)
+ assert token.no == 2
+ return FakeFailDescr(FakeLoopToken(1))
driver = JitDriver(reds = ['red'], greens = ['green'])
Modified: pypy/branch/jit-free/pypy/jit/metainterp/test/test_warmstate.py
==============================================================================
--- pypy/branch/jit-free/pypy/jit/metainterp/test/test_warmstate.py (original)
+++ pypy/branch/jit-free/pypy/jit/metainterp/test/test_warmstate.py Mon Nov 15 15:49:45 2010
@@ -99,6 +99,8 @@
lltype.Float], lltype.Void))
class FakeWarmRunnerDesc:
rtyper = FakeRTyper()
+ cpu = None
+ memory_manager = None
class FakeJitDriverSD:
_get_jitcell_at_ptr = llhelper(GETTER, getter)
_set_jitcell_at_ptr = llhelper(SETTER, setter)
@@ -126,6 +128,7 @@
future_values[j] = "float", value
class FakeWarmRunnerDesc:
cpu = FakeCPU()
+ memory_manager = None
class FakeJitDriverSD:
_red_args_types = ["int", "float"]
virtualizable_info = None
@@ -164,6 +167,7 @@
def test_make_jitdriver_callbacks_1():
class FakeWarmRunnerDesc:
cpu = None
+ memory_manager = None
class FakeJitDriverSD:
_green_args_spec = [lltype.Signed, lltype.Float]
_get_printable_location_ptr = None
@@ -189,6 +193,7 @@
class FakeWarmRunnerDesc:
rtyper = None
cpu = None
+ memory_manager = None
class FakeJitDriverSD:
_green_args_spec = [lltype.Signed, lltype.Float]
_get_printable_location_ptr = llhelper(GET_LOCATION, get_location)
@@ -211,6 +216,7 @@
class FakeWarmRunnerDesc:
rtyper = None
cpu = None
+ memory_manager = None
class FakeJitDriverSD:
_green_args_spec = [lltype.Signed, lltype.Float]
_get_printable_location_ptr = None
@@ -233,6 +239,7 @@
class FakeWarmRunnerDesc:
rtyper = None
cpu = None
+ memory_manager = None
class FakeJitDriverSD:
_green_args_spec = [lltype.Signed, lltype.Float]
_get_printable_location_ptr = None
Modified: pypy/branch/jit-free/pypy/jit/metainterp/warmstate.py
==============================================================================
--- pypy/branch/jit-free/pypy/jit/metainterp/warmstate.py (original)
+++ pypy/branch/jit-free/pypy/jit/metainterp/warmstate.py Mon Nov 15 15:49:45 2010
@@ -165,7 +165,8 @@
"NOT_RPYTHON"
self.warmrunnerdesc = warmrunnerdesc
self.jitdriver_sd = jitdriver_sd
- self.cpu = warmrunnerdesc.cpu
+ if warmrunnerdesc is not None: # for tests
+ self.cpu = warmrunnerdesc.cpu
try:
self.profiler = warmrunnerdesc.metainterp_sd.profiler
except AttributeError: # for tests
@@ -217,7 +218,9 @@
def set_param_loop_longevity(self, value):
# note: it's a global parameter, not a per-jitdriver one
- self.warmrunnerdesc.memory_manager.set_max_age(value)
+ if (self.warmrunnerdesc is not None and
+ self.warmrunnerdesc.memory_manager is not None): # all for tests
+ self.warmrunnerdesc.memory_manager.set_max_age(value)
def disable_noninlinable_function(self, greenkey):
cell = self.jit_cell_at_key(greenkey)
More information about the Pypy-commit
mailing list