[pypy-commit] pypy vecopt-merge: need the 4th element in the tuple, the reference to descr.version is removed!

plan_rich noreply at buildbot.pypy.org
Sun Aug 23 21:44:37 CEST 2015


Author: Richard Plangger <rich at pasra.at>
Branch: vecopt-merge
Changeset: r79174:c0ed1ea7fc3b
Date: 2015-08-23 21:44 +0200
http://bitbucket.org/pypy/pypy/changeset/c0ed1ea7fc3b/

Log:	need the 4th element in the tuple, the reference to descr.version is
	removed!

diff --git a/rpython/jit/backend/x86/assembler.py b/rpython/jit/backend/x86/assembler.py
--- a/rpython/jit/backend/x86/assembler.py
+++ b/rpython/jit/backend/x86/assembler.py
@@ -598,8 +598,7 @@
             Why? Because this only generates a very small junk of memory, instead of
             duplicating the loop assembler for each faildescr!
         """
-        asminfo, bridge_faildescr, looptoken = version._compiled
-        compiled_version = bridge_faildescr.version
+        asminfo, bridge_faildescr, compiled_version, looptoken = version._compiled
         assert isinstance(bridge_faildescr, ResumeGuardDescr)
         assert isinstance(faildescr, ResumeGuardDescr)
         assert asminfo.rawstart != 0
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
@@ -209,7 +209,7 @@
                                    version.operations, jitcell_token)
             record_loop_or_bridge(metainterp_sd, vl)
             assert asminfo is not None
-            version._compiled = (asminfo, faildescr, jitcell_token)
+            version._compiled = (asminfo, faildescr, faildescr.version, jitcell_token)
             faildescr.version = None
         # stitch to the trace loop
         for lv in loop.versions:
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
@@ -746,7 +746,7 @@
     """
     def __init__(self, loop):
         self.faildescrs = []
-        self._compiled = (None,None,None)
+        self._compiled = (None,None,None,None)
         if loop:
             self.operations = self.copy_operations(loop.operations) 
             idx = index_of_first(rop.LABEL, self.operations)


More information about the pypy-commit mailing list