[pypy-svn] r51237 - in pypy/branch/jit-refactoring/pypy/jit: rainbow rainbow/test timeshifter

cfbolz at codespeak.net cfbolz at codespeak.net
Mon Feb 4 10:31:20 CET 2008


Author: cfbolz
Date: Mon Feb  4 10:31:20 2008
New Revision: 51237

Modified:
   pypy/branch/jit-refactoring/pypy/jit/rainbow/bytecode.py
   pypy/branch/jit-refactoring/pypy/jit/rainbow/test/test_interpreter.py
   pypy/branch/jit-refactoring/pypy/jit/timeshifter/exception.py
   pypy/branch/jit-refactoring/pypy/jit/timeshifter/rtimeshift.py
Log:
clean up the Pseudo* stuff


Modified: pypy/branch/jit-refactoring/pypy/jit/rainbow/bytecode.py
==============================================================================
--- pypy/branch/jit-refactoring/pypy/jit/rainbow/bytecode.py	(original)
+++ pypy/branch/jit-refactoring/pypy/jit/rainbow/bytecode.py	Mon Feb  4 10:31:20 2008
@@ -518,10 +518,10 @@
         name = "%s_%s" % (color, opname)
         index = self.interpreter.find_opcode(name)
         if index == -1:
-            hop = PseudoHOP(
-                op, [self.hannotator.binding(arg) for arg in op.args],
-                self.hannotator.binding(op.result), self.RGenOp)
-            opdesc = rtimeshift.make_opdesc(hop)
+            opdesc = rtimeshift.make_opdesc(
+                self.RGenOp, opname,
+                [self.hannotator.binding(arg) for arg in op.args],
+                self.hannotator.binding(op.result), )
             index = self.interpreter.make_opcode_implementation(color, opdesc)
         self.emit(name)
 
@@ -853,18 +853,3 @@
             result[i + 2] = chr((index >>  8) & 0xff)
             result[i + 3] = chr(index & 0xff)
     return "".join(result)
-
-
-
-# XXX too lazy to fix the interface of make_opdesc, ExceptionDesc
-class PseudoHOP(object):
-    def __init__(self, op, args_s, s_result, RGenOp):
-        self.spaceop = op
-        self.args_s = args_s
-        self.s_result = s_result
-        self.rtyper = PseudoHRTyper(RGenOp=RGenOp)
-
-class PseudoHRTyper(object):
-    def __init__(self, **args):
-        self.__dict__.update(**args)
-

Modified: pypy/branch/jit-refactoring/pypy/jit/rainbow/test/test_interpreter.py
==============================================================================
--- pypy/branch/jit-refactoring/pypy/jit/rainbow/test/test_interpreter.py	(original)
+++ pypy/branch/jit-refactoring/pypy/jit/rainbow/test/test_interpreter.py	Mon Feb  4 10:31:20 2008
@@ -113,10 +113,10 @@
     def interpret(self, ll_function, values, opt_consts=[], *args, **kwds):
         # XXX clean this mess up
         writer, jitcode, argcolors = self.serialize(ll_function, values)
-        hrtyper = bytecode.PseudoHRTyper(RGenOp=writer.RGenOp,
-                                         annotator=writer.translator.annotator,
-                                         rtyper=writer.translator.annotator.base_translator.rtyper)
-        edesc = exception.ExceptionDesc(hrtyper, False)
+        base_annotator = writer.translator.annotator
+        etrafo = base_annotator.exceptiontransformer
+        type_system = base_annotator.base_translator.rtyper.type_system.name
+        edesc = exception.ExceptionDesc(writer.RGenOp, etrafo, type_system, False)
         rgenop = writer.RGenOp()
         sigtoken = rgenop.sigToken(self.RESIDUAL_FUNCTYPE)
         builder, gv_generated, inputargs_gv = rgenop.newgraph(sigtoken, "generated")

Modified: pypy/branch/jit-refactoring/pypy/jit/timeshifter/exception.py
==============================================================================
--- pypy/branch/jit-refactoring/pypy/jit/timeshifter/exception.py	(original)
+++ pypy/branch/jit-refactoring/pypy/jit/timeshifter/exception.py	Mon Feb  4 10:31:20 2008
@@ -4,9 +4,8 @@
 
 class ExceptionDesc:
 
-    def __init__(self, hrtyper, lazy_exception_path):
-        RGenOp = hrtyper.RGenOp
-        self.etrafo = hrtyper.annotator.exceptiontransformer
+    def __init__(self, RGenOp, etrafo, type_system, lazy_exception_path):
+        self.etrafo = etrafo
         self.cexcdata = self.etrafo.cexcdata
         self.exc_data_ptr = self.cexcdata.value
         self.gv_excdata = RGenOp.constPrebuiltGlobal(self.exc_data_ptr)
@@ -24,7 +23,7 @@
         self.gv_null_exc_type = RGenOp.constPrebuiltGlobal(null_exc_type)
         self.gv_null_exc_value = RGenOp.constPrebuiltGlobal(null_exc_value)
 
-        if hrtyper.rtyper.type_system.name == 'lltypesystem':
+        if type_system == 'lltypesystem':
             self.null_exc_type_box = rvalue.PtrRedBox(self.exc_type_kind,
                                                       self.gv_null_exc_type)
             self.null_exc_value_box = rvalue.PtrRedBox(self.exc_value_kind,

Modified: pypy/branch/jit-refactoring/pypy/jit/timeshifter/rtimeshift.py
==============================================================================
--- pypy/branch/jit-refactoring/pypy/jit/timeshifter/rtimeshift.py	(original)
+++ pypy/branch/jit-refactoring/pypy/jit/timeshifter/rtimeshift.py	Mon Feb  4 10:31:20 2008
@@ -64,11 +64,10 @@
 
 _opdesc_cache = {}
 
-def make_opdesc(hop):
-    hrtyper = hop.rtyper
-    op_key = (hrtyper.RGenOp, hop.spaceop.opname,
-              tuple([originalconcretetype(s_arg) for s_arg in hop.args_s]),
-              originalconcretetype(hop.s_result))
+def make_opdesc(RGenOp, opname, args_s, s_result):
+    op_key = (RGenOp, opname,
+              tuple([originalconcretetype(s_arg) for s_arg in args_s]),
+              originalconcretetype(s_result))
     try:
         return _opdesc_cache[op_key]
     except KeyError:
@@ -134,10 +133,6 @@
         jitstate.greens.append(gv_raised)    # for split_raisingop()
     return opdesc.redboxcls(opdesc.result_kind, genvar)
 
-def ll_genmalloc_varsize(jitstate, contdesc, sizebox):
-    # the specialized by contdesc is not useful, unify paths
-    return genmalloc_varsize(jitstate, contdesc, sizebox)
-
 def genmalloc_varsize(jitstate, contdesc, sizebox):
     gv_size = sizebox.getgenvar(jitstate)
     alloctoken = contdesc.varsizealloctoken
@@ -599,10 +594,6 @@
     def _freeze_(self):
         return True
 
-def ll_gen_residual_call(jitstate, calldesc, funcbox):
-    # specialization is not useful here, we can unify the calldescs
-    return gen_residual_call(jitstate, calldesc, funcbox)
-
 def gen_residual_call(jitstate, calldesc, funcbox):
     builder = jitstate.curbuilder
     gv_funcbox = funcbox.getgenvar(jitstate)
@@ -797,10 +788,6 @@
     def _freeze_(self):
         return True
 
-def ll_promote(jitstate, promotebox, promotiondesc):
-    # the specialization by promotiondesc is not useful here, so unify paths
-    return promote(jitstate, promotebox, promotiondesc)
-
 def promote(jitstate, promotebox, promotiondesc):
     builder = jitstate.curbuilder
     gv_switchvar = promotebox.getgenvar(jitstate)



More information about the Pypy-commit mailing list