[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