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

Reply via email to