Author: Hakan Ardo <[email protected]>
Branch: jit-targets
Changeset: r48831:b262b6ae31dd
Date: 2011-11-06 16:39 +0100
http://bitbucket.org/pypy/pypy/changeset/b262b6ae31dd/
Log: test_loop_1 passing
diff --git a/pypy/jit/backend/llgraph/llimpl.py
b/pypy/jit/backend/llgraph/llimpl.py
--- a/pypy/jit/backend/llgraph/llimpl.py
+++ b/pypy/jit/backend/llgraph/llimpl.py
@@ -391,7 +391,7 @@
def compile_add_jump_target(loop, targettoken):
loop = _from_opaque(loop)
- if isinstance(targettoken, history.ProcedureToken):
+ if isinstance(targettoken, history.JitCellToken):
assert False
loop_target =
_from_opaque(targettoken.compiled_loop_token.compiled_version)
target_opindex = 0
diff --git a/pypy/jit/metainterp/compile.py b/pypy/jit/metainterp/compile.py
--- a/pypy/jit/metainterp/compile.py
+++ b/pypy/jit/metainterp/compile.py
@@ -107,18 +107,19 @@
if partial_trace:
part = partial_trace
- procedure_token = metainterp.get_procedure_token(greenkey)
+ assert False
+ procedur_token = metainterp.get_procedure_token(greenkey)
assert procedure_token
all_target_tokens = []
else:
- procedure_token = make_procedure_token(jitdriver_sd)
+ jitcell_token = make_jitcell_token(jitdriver_sd)
part = create_empty_loop(metainterp)
part.inputargs = inputargs[:]
h_ops = history.operations
part.start_resumedescr = start_resumedescr
- part.operations = [ResOperation(rop.LABEL, inputargs, None,
descr=TargetToken(procedure_token))] + \
+ part.operations = [ResOperation(rop.LABEL, inputargs, None,
descr=TargetToken(jitcell_token))] + \
[h_ops[i].clone() for i in range(start, len(h_ops))]
+ \
- [ResOperation(rop.LABEL, jumpargs, None,
descr=TargetToken(procedure_token))]
+ [ResOperation(rop.JUMP, jumpargs, None,
descr=jitcell_token)]
try:
optimize_trace(metainterp_sd, part,
jitdriver_sd.warmstate.enable_opts)
except InvalidLoop:
@@ -132,8 +133,8 @@
inliner = Inliner(inputargs, jumpargs)
part.operations = [part.operations[-1]] + \
[inliner.inline_op(h_ops[i]) for i in range(start,
len(h_ops))] + \
- [ResOperation(rop.LABEL, [inliner.inline_arg(a) for
a in jumpargs],
- None,
descr=TargetToken(procedure_token))]
+ [ResOperation(rop.JUMP, [inliner.inline_arg(a) for a
in jumpargs],
+ None, descr=jitcell_token)]
all_target_tokens.append(part.operations[0].getdescr())
inputargs = jumpargs
jumpargs = part.operations[-1].getarglist()
@@ -148,11 +149,13 @@
for box in loop.inputargs:
assert isinstance(box, Box)
- loop.token = procedure_token
- procedure_token.target_tokens = all_target_tokens
+ loop.original_jitcell_token = jitcell_token
+ for label in all_target_tokens:
+ label.original_jitcell_token = jitcell_token
+ jitcell_token.target_tokens = all_target_tokens
send_loop_to_backend(greenkey, jitdriver_sd, metainterp_sd, loop, "loop")
record_loop_or_bridge(metainterp_sd, loop)
- return procedure_token
+ return jitcell_token
if False: # FIXME: full_preamble_needed??
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit