[pypy-svn] r37067 - in pypy/dist/pypy/jit/codegen/i386: . test
arigo at codespeak.net
arigo at codespeak.net
Sat Jan 20 17:43:31 CET 2007
Author: arigo
Date: Sat Jan 20 17:43:29 2007
New Revision: 37067
Modified:
pypy/dist/pypy/jit/codegen/i386/rgenop.py
pypy/dist/pypy/jit/codegen/i386/test/test_genc_promotion.py
Log:
Copy-and-paste the old rgenop's replay builders. Promotion tests pass.
Modified: pypy/dist/pypy/jit/codegen/i386/rgenop.py
==============================================================================
--- pypy/dist/pypy/jit/codegen/i386/rgenop.py (original)
+++ pypy/dist/pypy/jit/codegen/i386/rgenop.py Sat Jan 20 17:43:29 2007
@@ -1440,6 +1440,92 @@
pass # self.mc.log(msg)
# XXX re-do this somehow...
+#
+
+dummy_var = GenVar()
+
+class ReplayFlexSwitch(CodeGenSwitch):
+
+ def __init__(self, replay_builder):
+ self.replay_builder = replay_builder
+
+ def add_case(self, gv_case):
+ return self.replay_builder
+
+class ReplayBuilder(GenBuilder):
+
+ def __init__(self, rgenop):
+ self.rgenop = rgenop
+
+ def end(self):
+ pass
+
+ @specialize.arg(1)
+ def genop1(self, opname, gv_arg):
+ return dummy_var
+
+ @specialize.arg(1)
+ def genop2(self, opname, gv_arg1, gv_arg2):
+ return dummy_var
+
+ def genop_getfield(self, fieldtoken, gv_ptr):
+ return dummy_var
+
+ def genop_setfield(self, fieldtoken, gv_ptr, gv_value):
+ return dummy_var
+
+ def genop_getsubstruct(self, fieldtoken, gv_ptr):
+ return dummy_var
+
+ def genop_getarrayitem(self, arraytoken, gv_ptr, gv_index):
+ return dummy_var
+
+ def genop_getarraysubstruct(self, arraytoken, gv_ptr, gv_index):
+ return dummy_var
+
+ def genop_getarraysize(self, arraytoken, gv_ptr):
+ return dummy_var
+
+ def genop_setarrayitem(self, arraytoken, gv_ptr, gv_index, gv_value):
+ return dummy_var
+
+ def genop_malloc_fixedsize(self, size):
+ return dummy_var
+
+ def genop_malloc_varsize(self, varsizealloctoken, gv_size):
+ return dummy_var
+
+ def genop_call(self, sigtoken, gv_fnptr, args_gv):
+ return dummy_var
+
+ def genop_same_as(self, kind, gv_x):
+ return dummy_var
+
+ def genop_debug_pdb(self): # may take an args_gv later
+ pass
+
+ def enter_next_block(self, kinds, args_gv):
+ return None
+
+ def jump_if_false(self, gv_condition, args_gv):
+ return self
+
+ def jump_if_true(self, gv_condition, args_gv):
+ return self
+
+ def finish_and_return(self, sigtoken, gv_returnvar):
+ pass
+
+ def finish_and_goto(self, outputargs_gv, target):
+ pass
+
+ def flexswitch(self, gv_exitswitch, args_gv):
+ flexswitch = ReplayFlexSwitch(self)
+ return flexswitch, self
+
+ def show_incremental_progress(self):
+ pass
+
class RI386GenOp(AbstractRGenOp):
from pypy.jit.codegen.i386.codebuf import MachineCodeBlock
@@ -1499,8 +1585,8 @@
#inputargs_gv = ops
return builder, IntConst(entrypoint), inputargs_gv[:]
-## def replay(self, label, kinds):
-## return ReplayBuilder(self), [dummy_var] * len(kinds)
+ def replay(self, label, kinds):
+ return ReplayBuilder(self), [dummy_var] * len(kinds)
@specialize.genconst(1)
def genconst(self, llvalue):
Modified: pypy/dist/pypy/jit/codegen/i386/test/test_genc_promotion.py
==============================================================================
--- pypy/dist/pypy/jit/codegen/i386/test/test_genc_promotion.py (original)
+++ pypy/dist/pypy/jit/codegen/i386/test/test_genc_promotion.py Sat Jan 20 17:43:29 2007
@@ -1,5 +1,4 @@
import py
-py.test.skip("in-progress")
from pypy.jit.timeshifter.test import test_promotion
from pypy.jit.codegen.i386.test.test_genc_ts import I386TimeshiftingTestMixin
More information about the Pypy-commit
mailing list