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