Author: Hakan Ardo <ha...@debian.org> Branch: jit-usable_retrace_3 Changeset: r57198:a57f7933e624 Date: 2012-09-07 07:19 +0200 http://bitbucket.org/pypy/pypy/changeset/a57f7933e624/
Log: maybe a bit less hacky 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 @@ -193,7 +193,10 @@ assert loop_jitcell_token assert partial_trace.operations[-1].getopnum() == rop.LABEL orignial_label = partial_trace.operations[-1].clone() - exported_state = orignial_label.getdescr().exported_state + original_target_token = orignial_label.getdescr() + assert isinstance(original_target_token, TargetToken) + original_short_preamble = original_target_token.short_preamble + original_target_token.short_preamble = None h_ops = history.operations @@ -209,8 +212,9 @@ label = preamble.operations[-1] assert label.getopnum() == rop.LABEL - label.getdescr().exported_state.generalize_virtual_state = \ - preamble.operations[0].getdescr().virtual_state + target_token = label.getdescr() + assert isinstance(target_token, TargetToken) + target_token.exported_state.generalize_virtual_state = original_target_token.virtual_state loop.inputargs = inputargs[:] loop.resume_at_jump_descr = resume_at_jump_descr @@ -229,11 +233,8 @@ assert loop_jitcell_token.target_tokens loop_jitcell_token.target_tokens.append(target_token) - orignial_label.getdescr().exported_state = exported_state # XXX: Hack - orignial_label.getdescr().short_preamble = None # XXX: Hack - preamble.operations = [orignial_label] + \ - [ResOperation(rop.JUMP, exported_state.jump_args, + [ResOperation(rop.JUMP, original_target_token.exported_state.jump_args, None, descr=loop_jitcell_token)] try: optimize_trace(metainterp_sd, preamble, jitdriver_sd.warmstate.enable_opts) _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit