Author: Maciej Fijalkowski <[email protected]>
Branch: optresult-unroll
Changeset: r79456:81ad88375b22
Date: 2015-09-05 12:50 +0200
http://bitbucket.org/pypy/pypy/changeset/81ad88375b22/
Log: fight with annotation
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
@@ -221,7 +221,7 @@
enable_opts=enable_opts)
try:
loop_info, ops = optimize_trace(metainterp_sd, jitdriver_sd,
- metainterp.box_names_memo, data)
+ data, metainterp.box_names_memo)
except InvalidLoop:
return None
loop = create_empty_loop(metainterp)
@@ -275,8 +275,8 @@
enable_opts=enable_opts)
try:
start_state, preamble_ops = optimize_trace(metainterp_sd, jitdriver_sd,
- metainterp.box_names_memo,
- preamble_data)
+ preamble_data,
+ metainterp.box_names_memo)
except InvalidLoop:
return None
@@ -290,8 +290,8 @@
enable_opts=enable_opts)
try:
loop_info, loop_ops = optimize_trace(metainterp_sd, jitdriver_sd,
- metainterp.box_names_memo,
- loop_data)
+ loop_data,
+ metainterp.box_names_memo)
except InvalidLoop:
return None
@@ -351,8 +351,8 @@
enable_opts=enable_opts)
try:
loop_info, loop_ops = optimize_trace(metainterp_sd, jitdriver_sd,
- metainterp.box_names_memo,
- loop_data)
+ loop_data,
+ metainterp.box_names_memo)
except InvalidLoop:
# Fall back on jumping directly to preamble
jump_op = ResOperation(rop.JUMP, inputargs[:],
descr=loop_jitcell_token)
@@ -362,8 +362,8 @@
inline_short_preamble=False)
try:
loop_info, loop_ops = optimize_trace(metainterp_sd, jitdriver_sd,
- metainterp.box_names_memo,
- loop_data)
+ loop_data,
+ metainterp.box_names_memo)
except InvalidLoop:
return None
@@ -469,8 +469,8 @@
def do_compile_loop(jd_id, unique_id, metainterp_sd, inputargs, operations,
looptoken, log=True, name='', memo=None):
- metainterp_sd.logger_ops.log_loop(inputargs, operations, -2,
- 'compiling', name=name, memo=memo)
+ metainterp_sd.logger_ops.log_loop(inputargs, operations, number=-2,
+ type='compiling', name=name, memo=memo)
return metainterp_sd.cpu.compile_loop(inputargs,
operations, looptoken,
jd_id=jd_id, unique_id=unique_id,
@@ -1047,7 +1047,7 @@
enable_opts=enable_opts)
try:
info, newops = optimize_trace(metainterp_sd, jitdriver_sd,
- metainterp.box_names_memo, data)
+ data, metainterp.box_names_memo)
except InvalidLoop:
debug_print("compile_new_bridge: got an InvalidLoop")
# XXX I am fairly convinced that optimize_bridge cannot actually raise
diff --git a/rpython/jit/metainterp/optimizeopt/__init__.py
b/rpython/jit/metainterp/optimizeopt/__init__.py
--- a/rpython/jit/metainterp/optimizeopt/__init__.py
+++ b/rpython/jit/metainterp/optimizeopt/__init__.py
@@ -46,7 +46,7 @@
return optimizations, unroll
-def optimize_trace(metainterp_sd, jitdriver_sd, memo, compile_data):
+def optimize_trace(metainterp_sd, jitdriver_sd, compile_data, memo=None):
"""Optimize loop.operations to remove internal overheadish operations.
"""
debug_start("jit-optimize")
@@ -55,6 +55,8 @@
metainterp_sd.logger_noopt.log_loop(inputargs,
compile_data.operations,
memo)
+ if memo is None:
+ memo = {}
compile_data.box_names_memo = memo
optimizations, unroll = build_opt_chain(metainterp_sd,
compile_data.enable_opts)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit