[pypy-svn] r75327 - pypy/branch/multijit-4/pypy/jit/metainterp/test
arigo at codespeak.net
arigo at codespeak.net
Sat Jun 12 16:49:34 CEST 2010
Author: arigo
Date: Sat Jun 12 16:49:32 2010
New Revision: 75327
Modified:
pypy/branch/multijit-4/pypy/jit/metainterp/test/test_warmspot.py
pypy/branch/multijit-4/pypy/jit/metainterp/test/test_warmstate.py
Log:
Fix tests.
Modified: pypy/branch/multijit-4/pypy/jit/metainterp/test/test_warmspot.py
==============================================================================
--- pypy/branch/multijit-4/pypy/jit/metainterp/test/test_warmspot.py (original)
+++ pypy/branch/multijit-4/pypy/jit/metainterp/test/test_warmspot.py Sat Jun 12 16:49:32 2010
@@ -128,8 +128,9 @@
from pypy.jit.metainterp import optimize
- assert warmrunnerdescr.state.optimize_loop is optimize.optimize_loop
- assert warmrunnerdescr.state.optimize_bridge is optimize.optimize_bridge
+ state = warmrunnerdescr.jitdrivers_sd[0].warmstate
+ assert state.optimize_loop is optimize.optimize_loop
+ assert state.optimize_bridge is optimize.optimize_bridge
def test_static_debug_level(self, capfd):
py.test.skip("debug_level is being deprecated")
@@ -294,7 +295,7 @@
def __init__(self, no):
self.no = no
- def handle_fail(self, metainterp_sd):
+ def handle_fail(self, metainterp_sd, jitdrivers_sd):
if self.no == 0:
raise metainterp_sd.warmrunnerdesc.DoneWithThisFrameInt(3)
if self.no == 1:
@@ -355,12 +356,13 @@
def test_call_helper(self):
from pypy.rpython.llinterp import LLException
-
- assert self.desc.assembler_call_helper(0, 0) == 3
- assert self.desc.assembler_call_helper(1, 0) == 10
- assert self.desc.assembler_call_helper(2, 0) == 10
+
+ [jd] = self.desc.jitdrivers_sd
+ assert jd._assembler_call_helper(0, 0) == 3
+ assert jd._assembler_call_helper(1, 0) == 10
+ assert jd._assembler_call_helper(2, 0) == 10
try:
- self.desc.assembler_call_helper(3, 0)
+ jd._assembler_call_helper(3, 0)
except LLException, lle:
assert lle[0] == self.exc_vtable
else:
Modified: pypy/branch/multijit-4/pypy/jit/metainterp/test/test_warmstate.py
==============================================================================
--- pypy/branch/multijit-4/pypy/jit/metainterp/test/test_warmstate.py (original)
+++ pypy/branch/multijit-4/pypy/jit/metainterp/test/test_warmstate.py Sat Jun 12 16:49:32 2010
@@ -4,10 +4,9 @@
from pypy.rpython.annlowlevel import llhelper
from pypy.jit.metainterp.warmstate import wrap, unwrap
from pypy.jit.metainterp.warmstate import equal_whatever, hash_whatever
-from pypy.jit.metainterp.warmstate import WarmEnterState
+from pypy.jit.metainterp.warmstate import WarmEnterState, JitCell
from pypy.jit.metainterp.history import BoxInt, BoxFloat, BoxPtr
from pypy.jit.metainterp.history import ConstInt, ConstFloat, ConstPtr
-from pypy.rlib.jit import BaseJitCell
def test_unwrap():
@@ -58,14 +57,12 @@
def test_make_jitcell_getter_default():
- class FakeWarmRunnerDesc:
- green_args_spec = [lltype.Signed, lltype.Float]
- class FakeJitCell(BaseJitCell):
- pass
- state = WarmEnterState(FakeWarmRunnerDesc())
- get_jitcell = state._make_jitcell_getter_default(FakeJitCell)
+ class FakeJitDriverSD:
+ _green_args_spec = [lltype.Signed, lltype.Float]
+ state = WarmEnterState(None, FakeJitDriverSD())
+ get_jitcell = state._make_jitcell_getter_default()
cell1 = get_jitcell(42, 42.5)
- assert isinstance(cell1, FakeJitCell)
+ assert isinstance(cell1, JitCell)
cell2 = get_jitcell(42, 42.5)
assert cell1 is cell2
cell3 = get_jitcell(41, 42.5)
@@ -73,10 +70,10 @@
assert cell1 is not cell3 is not cell4 is not cell1
def test_make_jitcell_getter():
- class FakeWarmRunnerDesc:
- green_args_spec = [lltype.Float]
- get_jitcell_at_ptr = None
- state = WarmEnterState(FakeWarmRunnerDesc())
+ class FakeJitDriverSD:
+ _green_args_spec = [lltype.Float]
+ _get_jitcell_at_ptr = None
+ state = WarmEnterState(None, FakeJitDriverSD())
get_jitcell = state.make_jitcell_getter()
cell1 = get_jitcell(1.75)
cell2 = get_jitcell(1.75)
@@ -87,8 +84,6 @@
from pypy.rpython.typesystem import LowLevelTypeSystem
class FakeRTyper:
type_system = LowLevelTypeSystem.instance
- class FakeJitCell(BaseJitCell):
- pass
celldict = {}
def getter(x, y):
return celldict.get((x, y))
@@ -102,14 +97,14 @@
lltype.Float], lltype.Void))
class FakeWarmRunnerDesc:
rtyper = FakeRTyper()
- cpu = None
- get_jitcell_at_ptr = llhelper(GETTER, getter)
- set_jitcell_at_ptr = llhelper(SETTER, setter)
+ class FakeJitDriverSD:
+ _get_jitcell_at_ptr = llhelper(GETTER, getter)
+ _set_jitcell_at_ptr = llhelper(SETTER, setter)
#
- state = WarmEnterState(FakeWarmRunnerDesc())
- get_jitcell = state._make_jitcell_getter_custom(FakeJitCell)
+ state = WarmEnterState(FakeWarmRunnerDesc(), FakeJitDriverSD())
+ get_jitcell = state._make_jitcell_getter_custom()
cell1 = get_jitcell(5, 42.5)
- assert isinstance(cell1, FakeJitCell)
+ assert isinstance(cell1, JitCell)
assert cell1.x == 5
assert cell1.y == 42.5
cell2 = get_jitcell(5, 42.5)
@@ -127,10 +122,11 @@
future_values[j] = "float", value
class FakeWarmRunnerDesc:
cpu = FakeCPU()
- red_args_types = ["int", "float"]
+ class FakeJitDriverSD:
+ _red_args_types = ["int", "float"]
virtualizable_info = None
#
- state = WarmEnterState(FakeWarmRunnerDesc())
+ state = WarmEnterState(FakeWarmRunnerDesc(), FakeJitDriverSD())
set_future_values = state.make_set_future_values()
set_future_values(5, 42.5)
assert future_values == {
@@ -140,19 +136,19 @@
assert set_future_values is state.make_set_future_values()
def test_make_unwrap_greenkey():
- class FakeWarmRunnerDesc:
- green_args_spec = [lltype.Signed, lltype.Float]
- state = WarmEnterState(FakeWarmRunnerDesc())
+ class FakeJitDriverSD:
+ _green_args_spec = [lltype.Signed, lltype.Float]
+ state = WarmEnterState(None, FakeJitDriverSD())
unwrap_greenkey = state.make_unwrap_greenkey()
greenargs = unwrap_greenkey([ConstInt(42), ConstFloat(42.5)])
assert greenargs == (42, 42.5)
assert type(greenargs[0]) is int
def test_attach_unoptimized_bridge_from_interp():
- class FakeWarmRunnerDesc:
- green_args_spec = [lltype.Signed, lltype.Float]
- get_jitcell_at_ptr = None
- state = WarmEnterState(FakeWarmRunnerDesc())
+ class FakeJitDriverSD:
+ _green_args_spec = [lltype.Signed, lltype.Float]
+ _get_jitcell_at_ptr = None
+ state = WarmEnterState(None, FakeJitDriverSD())
get_jitcell = state.make_jitcell_getter()
state.attach_unoptimized_bridge_from_interp([ConstInt(5),
ConstFloat(2.25)],
@@ -162,14 +158,14 @@
assert cell1.entry_loop_token == "entry loop token"
def test_make_jitdriver_callbacks_1():
- class FakeWarmRunnerDesc:
- can_inline_ptr = None
- get_printable_location_ptr = None
- confirm_enter_jit_ptr = None
- green_args_spec = [lltype.Signed, lltype.Float]
+ class FakeJitDriverSD:
+ _green_args_spec = [lltype.Signed, lltype.Float]
+ _can_inline_ptr = None
+ _get_printable_location_ptr = None
+ _confirm_enter_jit_ptr = None
class FakeCell:
dont_trace_here = False
- state = WarmEnterState(FakeWarmRunnerDesc())
+ state = WarmEnterState(None, FakeJitDriverSD())
def jit_getter(*args):
return FakeCell()
state.jit_getter = jit_getter
@@ -190,11 +186,12 @@
dont_trace_here = False
class FakeWarmRunnerDesc:
rtyper = None
- green_args_spec = [lltype.Signed, lltype.Float]
- can_inline_ptr = llhelper(CAN_INLINE, can_inline)
- get_printable_location_ptr = None
- confirm_enter_jit_ptr = None
- state = WarmEnterState(FakeWarmRunnerDesc())
+ class FakeJitDriverSD:
+ _green_args_spec = [lltype.Signed, lltype.Float]
+ _can_inline_ptr = llhelper(CAN_INLINE, can_inline)
+ _get_printable_location_ptr = None
+ _confirm_enter_jit_ptr = None
+ state = WarmEnterState(FakeWarmRunnerDesc(), FakeJitDriverSD())
def jit_getter(*args):
return FakeCell()
state.jit_getter = jit_getter
@@ -211,12 +208,13 @@
lltype.Ptr(rstr.STR)))
class FakeWarmRunnerDesc:
rtyper = None
- green_args_spec = [lltype.Signed, lltype.Float]
- can_inline_ptr = None
- get_printable_location_ptr = llhelper(GET_LOCATION, get_location)
- confirm_enter_jit_ptr = None
- get_jitcell_at_ptr = None
- state = WarmEnterState(FakeWarmRunnerDesc())
+ class FakeJitDriverSD:
+ _green_args_spec = [lltype.Signed, lltype.Float]
+ _can_inline_ptr = None
+ _get_printable_location_ptr = llhelper(GET_LOCATION, get_location)
+ _confirm_enter_jit_ptr = None
+ _get_jitcell_at_ptr = None
+ state = WarmEnterState(FakeWarmRunnerDesc(), FakeJitDriverSD())
state.make_jitdriver_callbacks()
res = state.get_location_str([ConstInt(5), ConstFloat(42.5)])
assert res == "hi there"
@@ -231,13 +229,14 @@
lltype.Signed], lltype.Bool))
class FakeWarmRunnerDesc:
rtyper = None
- green_args_spec = [lltype.Signed, lltype.Float]
- can_inline_ptr = None
- get_printable_location_ptr = None
- confirm_enter_jit_ptr = llhelper(ENTER_JIT, confirm_enter_jit)
- get_jitcell_at_ptr = None
+ class FakeJitDriverSD:
+ _green_args_spec = [lltype.Signed, lltype.Float]
+ _can_inline_ptr = None
+ _get_printable_location_ptr = None
+ _confirm_enter_jit_ptr = llhelper(ENTER_JIT, confirm_enter_jit)
+ _get_jitcell_at_ptr = None
- state = WarmEnterState(FakeWarmRunnerDesc())
+ state = WarmEnterState(FakeWarmRunnerDesc(), FakeJitDriverSD())
state.make_jitdriver_callbacks()
res = state.confirm_enter_jit(5, 42.5, 3)
assert res is True
More information about the Pypy-commit
mailing list