Author: fijal
Branch: compress-numbering
Changeset: r80020:713e1ba22921
Date: 2015-10-07 14:15 +0200
http://bitbucket.org/pypy/pypy/changeset/713e1ba22921/

Log:    don't store rd_frame_info_list at all

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
@@ -823,13 +823,12 @@
 
 class ResumeGuardDescr(AbstractResumeGuardDescr):
     _attrs_ = ('rd_numb', 'rd_count', 'rd_consts', 'rd_virtuals',
-               'rd_frame_info_list', 'rd_pendingfields', 'status')
+               'rd_pendingfields', 'status')
     
     rd_numb = lltype.nullptr(NUMBERING)
     rd_count = 0
     rd_consts = None
     rd_virtuals = None
-    rd_frame_info_list = None
     rd_pendingfields = lltype.nullptr(PENDINGFIELDSP.TO)
 
     def copy_all_attributes_from(self, other):
@@ -838,7 +837,6 @@
         assert isinstance(other, ResumeGuardDescr)
         self.rd_count = other.rd_count
         self.rd_consts = other.rd_consts
-        self.rd_frame_info_list = other.rd_frame_info_list
         self.rd_pendingfields = other.rd_pendingfields
         self.rd_virtuals = other.rd_virtuals
         self.rd_numb = other.rd_numb
diff --git a/rpython/jit/metainterp/resume.py b/rpython/jit/metainterp/resume.py
--- a/rpython/jit/metainterp/resume.py
+++ b/rpython/jit/metainterp/resume.py
@@ -391,8 +391,7 @@
         self.liveboxes = {}
         storage.rd_numb = numb
         self.snapshot_storage.rd_snapshot = None
-        storage.rd_frame_info_list = self.snapshot_storage.rd_frame_info_list
-
+        
         # collect liveboxes and virtuals
         n = len(liveboxes_from_env) - v
         liveboxes = [None] * n
@@ -986,7 +985,7 @@
     boxes = resumereader.consume_vref_and_vable_boxes(virtualizable_info,
                                                       greenfield_info)
     virtualizable_boxes, virtualref_boxes = boxes
-    frameinfo = storage.rd_frame_info_list
+    frameinfo = storage.rd_numb.prev
     while True:
         jitcode_pos, pc = unpack_uint(frameinfo.packed_jitcode_pc)
         jitcode = metainterp.staticdata.jitcodes[jitcode_pos]
@@ -995,7 +994,7 @@
         resumereader.consume_boxes(f.get_current_position_info(),
                                    f.registers_i, f.registers_r, f.registers_f)
         frameinfo = frameinfo.prev
-        if frameinfo is None:
+        if not frameinfo:
             break
     metainterp.framestack.reverse()
     return resumereader.liveboxes, virtualizable_boxes, virtualref_boxes
@@ -1266,27 +1265,27 @@
     # the bottom one, i.e. the last one in the chain, in order to make
     # the comment in BlackholeInterpreter.setposition() valid.
     nextbh = None
-    frameinfo = storage.rd_frame_info_list
+    numbering = storage.rd_numb.prev
     while True:
         curbh = blackholeinterpbuilder.acquire_interp()
         curbh.nextblackholeinterp = nextbh
         nextbh = curbh
-        frameinfo = frameinfo.prev
-        if frameinfo is None:
+        numbering = numbering.prev
+        if not numbering:
             break
     firstbh = nextbh
     #
     # Now fill the blackhole interpreters with resume data.
     curbh = firstbh
-    frameinfo = storage.rd_frame_info_list
+    numbering = storage.rd_numb.prev
     while True:
-        jitcode_pos, pc = unpack_uint(frameinfo.packed_jitcode_pc)
+        jitcode_pos, pc = unpack_uint(numbering.packed_jitcode_pc)
         jitcode = jitcodes[jitcode_pos]
         curbh.setposition(jitcode, pc)
         resumereader.consume_one_section(curbh)
         curbh = curbh.nextblackholeinterp
-        frameinfo = frameinfo.prev
-        if frameinfo is None:
+        numbering = numbering.prev
+        if not numbering:
             break
     return firstbh
 
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to