Author: Hakan Ardo <ha...@debian.org> 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 pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit