Author: fijal
Branch: jit-leaner-frontend
Changeset: r83247:1b684afa5204
Date: 2016-03-22 13:40 +0200
http://bitbucket.org/pypy/pypy/changeset/1b684afa5204/
Log: implement a missing part in compile.py
diff --git a/rpython/jit/metainterp/compile.py
b/rpython/jit/metainterp/compile.py
--- a/rpython/jit/metainterp/compile.py
+++ b/rpython/jit/metainterp/compile.py
@@ -347,6 +347,7 @@
end_label = ResOperation(rop.LABEL, inputargs[:],
descr=loop_jitcell_token)
#cut_pos = history.get_trace_position()
+ cut = history.get_trace_position()
history.record(rop.JUMP, jumpargs[:], None, descr=loop_jitcell_token)
enable_opts = jitdriver_sd.warmstate.enable_opts
call_pure_results = metainterp.call_pure_results
@@ -359,9 +360,9 @@
metainterp.box_names_memo)
except InvalidLoop:
# Fall back on jumping directly to preamble
- xxxx
- jump_op = ResOperation(rop.JUMP, inputargs[:],
descr=loop_jitcell_token)
- loop_data = UnrolledLoopData(end_label, jump_op, [jump_op],
start_state,
+ history.cut(cut)
+ history.record(rop.JUMP, jumpargs[:], None, descr=loop_jitcell_token)
+ loop_data = UnrolledLoopData(trace, loop_jitcell_token, start_state,
call_pure_results=call_pure_results,
enable_opts=enable_opts,
inline_short_preamble=False)
@@ -370,6 +371,7 @@
loop_data,
metainterp.box_names_memo)
except InvalidLoop:
+ history.cut(cut)
return None
label_token = loop_info.label_op.getdescr()
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit