[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