Author: Carl Friedrich Bolz <cfb...@gmx.de>
Branch: 
Changeset: r87706:a9211eb5876b
Date: 2016-10-11 15:07 +0200
http://bitbucket.org/pypy/pypy/changeset/a9211eb5876b/

Log:    rename fields to be more explicit, add a helper method

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
@@ -167,13 +167,18 @@
         self.liveboxes = {}
         self.current = [0] * size
         self._pos = 0
-        self.n = 0
-        self.v = 0
+        self.num_boxes = 0
+        self.num_virtuals = 0
 
-    def append(self, item):
+    def append_short(self, item):
         self.current[self._pos] = item
         self._pos += 1
 
+    def append_int(self, item):
+        short = rffi.cast(rffi.SHORT, item)
+        assert rffi.cast(lltype.Signed, short) == item
+        return self.append_short(short)
+
 class ResumeDataLoopMemo(object):
 
     def __init__(self, metainterp_sd):
@@ -227,8 +232,8 @@
     def _number_boxes(self, iter, arr, optimizer, state):
         """ Number boxes from one snapshot
         """
-        n = state.n
-        v = state.v
+        num_boxes = state.num_boxes
+        num_virtuals = state.num_virtuals
         liveboxes = state.liveboxes
         for item in arr:
             box = iter.get(rffi.cast(lltype.Signed, item))
@@ -247,15 +252,15 @@
                     info = optimizer.getrawptrinfo(box, create=False)
                     is_virtual = (info is not None and info.is_virtual()) 
                 if is_virtual:
-                    tagged = tag(v, TAGVIRTUAL)
-                    v += 1
+                    tagged = tag(num_virtuals, TAGVIRTUAL)
+                    num_virtuals += 1
                 else:
-                    tagged = tag(n, TAGBOX)
-                    n += 1
+                    tagged = tag(num_boxes, TAGBOX)
+                    num_boxes += 1
                 liveboxes[box] = tagged
-            state.append(tagged)
-        state.n = n
-        state.v = v
+            state.append_short(tagged)
+        state.num_boxes = num_boxes
+        state.num_virtuals = num_virtuals
 
     def number(self, optimizer, position, trace):
         snapshot_iter = trace.get_snapshot_iter(position)
@@ -263,24 +268,24 @@
 
         arr = snapshot_iter.vable_array
 
-        state.append(rffi.cast(rffi.SHORT, len(arr)))
+        state.append_int(len(arr))
         self._number_boxes(snapshot_iter, arr, optimizer, state)
 
         arr = snapshot_iter.vref_array
         n = len(arr)
         assert not (n & 1)
-        state.append(rffi.cast(rffi.SHORT, n >> 1))
+        state.append_int(n >> 1)
 
         self._number_boxes(snapshot_iter, arr, optimizer, state)
 
         for snapshot in snapshot_iter.framestack:
             jitcode_index, pc = snapshot_iter.unpack_jitcode_pc(snapshot)
-            state.append(rffi.cast(rffi.SHORT, jitcode_index))
-            state.append(rffi.cast(rffi.SHORT, pc))
+            state.append_int(jitcode_index)
+            state.append_int(pc)
             self._number_boxes(snapshot_iter, snapshot.box_array, optimizer, 
state)
 
         numb = resumecode.create_numbering(state.current)
-        return numb, state.liveboxes, state.v
+        return numb, state.liveboxes, state.num_virtuals
 
 
     # caching for virtuals and boxes inside them
@@ -421,14 +426,14 @@
         resume_position = self.guard_op.rd_resume_position
         assert resume_position >= 0
         # count stack depth
-        numb, liveboxes_from_env, v = self.memo.number(optimizer,
+        numb, liveboxes_from_env, num_virtuals = self.memo.number(optimizer,
             resume_position, self.optimizer.trace)
         self.liveboxes_from_env = liveboxes_from_env
         self.liveboxes = {}
         storage.rd_numb = numb
         
         # collect liveboxes and virtuals
-        n = len(liveboxes_from_env) - v
+        n = len(liveboxes_from_env) - num_virtuals
         liveboxes = [None] * n
         self.vfieldboxes = {}
         for box, tagged in liveboxes_from_env.iteritems():
@@ -459,7 +464,7 @@
             assert info is not None and info.is_virtual()
             info.visitor_walk_recursive(fieldbox, self, optimizer)
 
-        self._number_virtuals(liveboxes, optimizer, v)
+        self._number_virtuals(liveboxes, optimizer, num_virtuals)
         self._add_pending_fields(optimizer, pending_setfields)
 
         storage.rd_consts = self.memo.consts
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to