[pypy-commit] pypy jit-leaner-frontend: implement a missing part in compile.py
fijal
pypy.commits at gmail.com
Tue Mar 22 07:50:00 EDT 2016
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()
More information about the pypy-commit
mailing list