[pypy-commit] pypy jitframe-on-heap: move more mutable state

fijal noreply at buildbot.pypy.org
Mon Jan 21 09:58:22 CET 2013


Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: jitframe-on-heap
Changeset: r60276:9972d2e1d6d7
Date: 2013-01-21 10:57 +0200
http://bitbucket.org/pypy/pypy/changeset/9972d2e1d6d7/

Log:	move more mutable state

diff --git a/rpython/jit/backend/model.py b/rpython/jit/backend/model.py
--- a/rpython/jit/backend/model.py
+++ b/rpython/jit/backend/model.py
@@ -8,6 +8,10 @@
     total_freed_loops = 0
     total_freed_bridges = 0    
 
+    # for heaptracker
+    # _all_size_descrs_with_vtable = None
+    _vtable_to_descr_dict = None
+
 class AbstractCPU(object):
     supports_floats = False
     supports_longlong = False
@@ -18,10 +22,6 @@
 
     propagate_exception_descr = None
 
-    # for heaptracker
-    # _all_size_descrs_with_vtable = None
-    _vtable_to_descr_dict = None
-
     def __init__(self):
         self.__dict__.update(compile.make_done_loop_tokens())
         self.tracker = CPUTotalTracker()
diff --git a/rpython/jit/codewriter/heaptracker.py b/rpython/jit/codewriter/heaptracker.py
--- a/rpython/jit/codewriter/heaptracker.py
+++ b/rpython/jit/codewriter/heaptracker.py
@@ -89,9 +89,9 @@
     except AttributeError:
         pass
     assert lltype.typeOf(vtable) == VTABLETYPE
-    if not hasattr(cpu, '_all_size_descrs_with_vtable'):
-        cpu._all_size_descrs_with_vtable = []
-        cpu._vtable_to_descr_dict = None
+    if not hasattr(cpu.tracker, '_all_size_descrs_with_vtable'):
+        cpu.tracker._all_size_descrs_with_vtable = []
+        cpu.tracker._vtable_to_descr_dict = None
     cpu._all_size_descrs_with_vtable.append(sizedescr)
     sizedescr._corresponding_vtable = vtable
 
@@ -108,9 +108,9 @@
         # Build the dict {vtable: sizedescr} at runtime.
         # This is necessary because the 'vtables' are just pointers to
         # static data, so they can't be used as keys in prebuilt dicts.
-        d = cpu._vtable_to_descr_dict
+        d = cpu.tracker._vtable_to_descr_dict
         if d is None:
-            d = cpu._vtable_to_descr_dict = {}
+            d = cpu.tracker._vtable_to_descr_dict = {}
             for descr in cpu._all_size_descrs_with_vtable:
                 key = descr._corresponding_vtable
                 key = llmemory.cast_ptr_to_adr(key)


More information about the pypy-commit mailing list