Author: Ronan Lamy <[email protected]>
Branch: optimizeopt-cleanup
Changeset: r96584:ed1d19665ec6
Date: 2019-05-08 02:35 +0100
http://bitbucket.org/pypy/pypy/changeset/ed1d19665ec6/
Log: Turn History.ends_with_jump into a parameter for compile_trace()
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
@@ -1020,7 +1020,7 @@
return None
-def compile_trace(metainterp, resumekey, runtime_boxes):
+def compile_trace(metainterp, resumekey, runtime_boxes, ends_with_jump=False):
"""Try to compile a new bridge leading from the beginning of the history
to some existing place.
"""
@@ -1050,7 +1050,7 @@
faildescr=resumekey, entry_bridge=False,
jd_name=jitdriver_sd.jitdriver.name)
- if metainterp.history.ends_with_jump:
+ if ends_with_jump:
data = BridgeCompileData(trace, runtime_boxes, resumestorage,
call_pure_results=call_pure_results,
enable_opts=enable_opts,
diff --git a/rpython/jit/metainterp/history.py
b/rpython/jit/metainterp/history.py
--- a/rpython/jit/metainterp/history.py
+++ b/rpython/jit/metainterp/history.py
@@ -689,7 +689,6 @@
class History(object):
- ends_with_jump = False
trace = None
def __init__(self):
diff --git a/rpython/jit/metainterp/pyjitpl.py
b/rpython/jit/metainterp/pyjitpl.py
--- a/rpython/jit/metainterp/pyjitpl.py
+++ b/rpython/jit/metainterp/pyjitpl.py
@@ -2770,13 +2770,11 @@
self.potential_retrace_position = cut_at
self.history.record(rop.JUMP, live_arg_boxes[num_green_args:], None,
descr=ptoken)
- self.history.ends_with_jump = True
try:
target_token = compile.compile_trace(self, self.resumekey,
- live_arg_boxes[num_green_args:])
+ live_arg_boxes[num_green_args:], ends_with_jump=True)
finally:
self.history.cut(cut_at) # pop the jump
- self.history.ends_with_jump = False
self.raise_if_successful(live_arg_boxes, target_token)
def compile_done_with_this_frame(self, exitbox):
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit