[pypy-commit] pypy optresult-unroll: shuffle stuff around so we always have target_tokens[0] that points to preamble

fijal noreply at buildbot.pypy.org
Sun Sep 6 10:05:07 CEST 2015


Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: optresult-unroll
Changeset: r79467:7a86aef00eb4
Date: 2015-09-06 10:05 +0200
http://bitbucket.org/pypy/pypy/changeset/7a86aef00eb4/

Log:	shuffle stuff around so we always have target_tokens[0] that points
	to preamble

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
@@ -285,6 +285,9 @@
     end_label = ResOperation(rop.LABEL, inputargs,
                              descr=jitcell_token)
     jump_op = ResOperation(rop.JUMP, jumpargs, descr=jitcell_token)
+    start_descr = TargetToken(jitcell_token,
+                              original_jitcell_token=jitcell_token)
+    jitcell_token.target_tokens = [start_descr]
     loop_data = UnrolledLoopData(end_label, jump_op, ops, start_state,
                                  call_pure_results=call_pure_results,
                                  enable_opts=enable_opts)
@@ -305,8 +308,6 @@
         quasi_immutable_deps.update(loop_info.quasi_immutable_deps)
     if quasi_immutable_deps:
         loop.quasi_immutable_deps = quasi_immutable_deps
-    start_descr = TargetToken(jitcell_token,
-                              original_jitcell_token=jitcell_token)
     start_label = ResOperation(rop.LABEL, start_state.renamed_inputargs,
                                descr=start_descr)
     label_token = loop_info.label_op.getdescr()
@@ -318,7 +319,6 @@
                        [loop_info.label_op] + loop_ops)
     if not we_are_translated():
         loop.check_consistency()
-    jitcell_token.target_tokens = [start_descr] + jitcell_token.target_tokens
     send_loop_to_backend(greenkey, jitdriver_sd, metainterp_sd, loop, "loop",
                          inputargs, metainterp.box_names_memo)
     record_loop_or_bridge(metainterp_sd, loop)


More information about the pypy-commit mailing list