Author: Maciej Fijalkowski <[email protected]>
Branch: resume-refactor
Changeset: r66453:9aeb92e91a61
Date: 2013-08-30 10:55 +0100
http://bitbucket.org/pypy/pypy/changeset/9aeb92e91a61/
Log: in progress
diff --git a/rpython/jit/backend/llgraph/runner.py
b/rpython/jit/backend/llgraph/runner.py
--- a/rpython/jit/backend/llgraph/runner.py
+++ b/rpython/jit/backend/llgraph/runner.py
@@ -1,6 +1,7 @@
import py, weakref
from rpython.jit.backend import model
from rpython.jit.backend.llgraph import support
+from rpython.jit.backend.llsupport import resumebuilder
from rpython.jit.metainterp.history import AbstractDescr
from rpython.jit.metainterp.history import Const, getkind
from rpython.jit.metainterp.history import INT, REF, FLOAT, VOID
@@ -33,6 +34,7 @@
#
self.inputargs = map(mapping, inputargs)
self.operations = []
+ self.liveness = resumebuilder.LivenessAnalyzer()
for op in operations:
if op.getdescr() is not None:
if op.is_guard() or op.getopnum() == rop.FINISH:
diff --git a/rpython/jit/backend/llsupport/assembler.py
b/rpython/jit/backend/llsupport/assembler.py
--- a/rpython/jit/backend/llsupport/assembler.py
+++ b/rpython/jit/backend/llsupport/assembler.py
@@ -111,6 +111,7 @@
return r
def rebuild_faillocs_from_descr(self, descr, inputargs):
+ xxx
locs = []
GPR_REGS = len(self.cpu.gen_regs)
XMM_REGS = len(self.cpu.float_regs)
diff --git a/rpython/jit/backend/test/runner_test.py
b/rpython/jit/backend/test/runner_test.py
--- a/rpython/jit/backend/test/runner_test.py
+++ b/rpython/jit/backend/test/runner_test.py
@@ -10,6 +10,7 @@
from rpython.jit.metainterp.resoperation import ResOperation, rop
from rpython.jit.metainterp.typesystem import deref
from rpython.jit.codewriter.effectinfo import EffectInfo
+from rpython.jit.codewriter.jitcode import JitCode
from rpython.jit.tool.oparser import parse
from rpython.rtyper.lltypesystem import lltype, llmemory, rstr, rffi, rclass
from rpython.rtyper.annlowlevel import llhelper
@@ -160,13 +161,17 @@
i2 = BoxInt()
looptoken = JitCellToken()
targettoken = TargetToken()
+ jitcode = JitCode("name")
+ jitcode.setup()
operations = [
+ ResOperation(rop.ENTER_FRAME, [ConstInt(-1)], None, descr=jitcode),
ResOperation(rop.LABEL, [i0], None, descr=targettoken),
ResOperation(rop.INT_ADD, [i0, ConstInt(1)], i1),
ResOperation(rop.INT_LE, [i1, ConstInt(9)], i2),
ResOperation(rop.RESUME_PUT, [i2, ConstInt(0), ConstInt(0)],
None),
ResOperation(rop.GUARD_TRUE, [i2], None, descr=BasicFailDescr(2)),
+ ResOperation(rop.LEAVE_FRAME, [], None),
ResOperation(rop.JUMP, [i1], None, descr=targettoken),
]
inputargs = [i0]
@@ -215,11 +220,15 @@
faildescr2 = BasicFailDescr(2)
looptoken = JitCellToken()
targettoken = TargetToken()
+ jitcode = JitCode("name")
+ jitcode.setup(num_regs_i=1, num_regs_r=0, num_regs_f=0)
operations = [
ResOperation(rop.LABEL, [i0], None, descr=targettoken),
+ ResOperation(rop.ENTER_FRAME, [ConstInt(-1)], None, descr=jitcode),
ResOperation(rop.INT_ADD, [i0, ConstInt(1)], i1),
ResOperation(rop.INT_LE, [i1, ConstInt(9)], i2),
ResOperation(rop.GUARD_TRUE, [i2], None, descr=faildescr1),
+ ResOperation(rop.LEAVE_FRAME, [], None),
ResOperation(rop.JUMP, [i1], None, descr=targettoken),
]
inputargs = [i0]
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit