[pypy-svn] r76228 - in pypy/trunk/pypy/jit/backend: llsupport llsupport/test x86/test
antocuni at codespeak.net
antocuni at codespeak.net
Thu Jul 15 09:57:21 CEST 2010
Author: antocuni
Date: Thu Jul 15 09:57:20 2010
New Revision: 76228
Modified:
pypy/trunk/pypy/jit/backend/llsupport/descr.py
pypy/trunk/pypy/jit/backend/llsupport/gc.py
pypy/trunk/pypy/jit/backend/llsupport/test/test_descr.py
pypy/trunk/pypy/jit/backend/x86/test/test_gc_integration.py
Log:
store the name of the field in the FieldDescr, it makes the tracelog immensely more readable
Modified: pypy/trunk/pypy/jit/backend/llsupport/descr.py
==============================================================================
--- pypy/trunk/pypy/jit/backend/llsupport/descr.py (original)
+++ pypy/trunk/pypy/jit/backend/llsupport/descr.py Thu Jul 15 09:57:20 2010
@@ -67,9 +67,11 @@
class BaseFieldDescr(AbstractDescr):
offset = 0 # help translation
+ name = ''
_clsname = ''
- def __init__(self, offset):
+ def __init__(self, name, offset):
+ self.name = name
self.offset = offset
def sort_key(self):
@@ -88,7 +90,7 @@
return self._is_float_field
def repr_of_descr(self):
- return '<%s %s>' % (self._clsname, self.offset)
+ return '<%s %s %s>' % (self._clsname, self.name, self.offset)
class NonGcPtrFieldDescr(BaseFieldDescr):
@@ -113,7 +115,8 @@
offset, _ = symbolic.get_field_token(STRUCT, fieldname,
gccache.translate_support_code)
FIELDTYPE = getattr(STRUCT, fieldname)
- fielddescr = getFieldDescrClass(FIELDTYPE)(offset)
+ name = '%s.%s' % (STRUCT._name, fieldname)
+ fielddescr = getFieldDescrClass(FIELDTYPE)(name, offset)
cachedict = cache.setdefault(STRUCT, {})
cachedict[fieldname] = fielddescr
return fielddescr
Modified: pypy/trunk/pypy/jit/backend/llsupport/gc.py
==============================================================================
--- pypy/trunk/pypy/jit/backend/llsupport/gc.py (original)
+++ pypy/trunk/pypy/jit/backend/llsupport/gc.py Thu Jul 15 09:57:20 2010
@@ -351,7 +351,7 @@
gcrootmap = cls()
self.gcrootmap = gcrootmap
self.gcrefs = GcRefList()
- self.single_gcref_descr = GcPtrFieldDescr(0)
+ self.single_gcref_descr = GcPtrFieldDescr('', 0)
# make a TransformerLayoutBuilder and save it on the translator
# where it can be fished and reused by the FrameworkGCTransformer
Modified: pypy/trunk/pypy/jit/backend/llsupport/test/test_descr.py
==============================================================================
--- pypy/trunk/pypy/jit/backend/llsupport/test/test_descr.py (original)
+++ pypy/trunk/pypy/jit/backend/llsupport/test/test_descr.py Thu Jul 15 09:57:20 2010
@@ -53,6 +53,10 @@
assert descr_y.__class__ is GcPtrFieldDescr
assert descr_z.__class__ is NonGcPtrFieldDescr
assert descr_f.__class__ is clsf
+ assert descr_x.name == 'S.x'
+ assert descr_y.name == 'S.y'
+ assert descr_z.name == 'S.z'
+ assert descr_f.name == 'S.f'
if not tsc:
assert descr_x.offset < descr_y.offset < descr_z.offset
assert descr_x.sort_key() < descr_y.sort_key() < descr_z.sort_key()
Modified: pypy/trunk/pypy/jit/backend/x86/test/test_gc_integration.py
==============================================================================
--- pypy/trunk/pypy/jit/backend/x86/test/test_gc_integration.py (original)
+++ pypy/trunk/pypy/jit/backend/x86/test/test_gc_integration.py Thu Jul 15 09:57:20 2010
@@ -51,7 +51,7 @@
def initialize(self):
self.gcrefs = GcRefList()
self.gcrefs.initialize()
- self.single_gcref_descr = GcPtrFieldDescr(0)
+ self.single_gcref_descr = GcPtrFieldDescr('', 0)
rewrite_assembler = GcLLDescr_framework.rewrite_assembler.im_func
More information about the Pypy-commit
mailing list