[pypy-svn] r74918 - in pypy/branch/blackhole-improvement/pypy/jit: backend/x86/test codewriter
arigo at codespeak.net
arigo at codespeak.net
Sun May 30 16:30:27 CEST 2010
Author: arigo
Date: Sun May 30 16:30:26 2010
New Revision: 74918
Modified:
pypy/branch/blackhole-improvement/pypy/jit/backend/x86/test/test_gc_integration.py
pypy/branch/blackhole-improvement/pypy/jit/codewriter/heaptracker.py
Log:
Fix again some tests.
Modified: pypy/branch/blackhole-improvement/pypy/jit/backend/x86/test/test_gc_integration.py
==============================================================================
--- pypy/branch/blackhole-improvement/pypy/jit/backend/x86/test/test_gc_integration.py (original)
+++ pypy/branch/blackhole-improvement/pypy/jit/backend/x86/test/test_gc_integration.py Sun May 30 16:30:26 2010
@@ -226,7 +226,9 @@
self.nodedescr = nodedescr
vtable = lltype.malloc(rclass.OBJECT_VTABLE, immortal=True)
vtable_int = cpu.cast_adr_to_int(llmemory.cast_ptr_to_adr(vtable))
- NODE2 = lltype.Struct('node2', ('tid', lltype.Signed),
+ NODE2 = lltype.GcStruct('node2',
+ ('parent', rclass.OBJECT),
+ ('tid', lltype.Signed),
('vtable', lltype.Ptr(rclass.OBJECT_VTABLE)))
descrsize = cpu.sizeof(NODE2)
heaptracker.register_known_gctype(cpu, vtable, NODE2)
@@ -283,4 +285,4 @@
assert gc_ll_descr.nursery[0] == self.descrsize.tid
assert gc_ll_descr.nursery[1] == self.vtable_int
nurs_adr = rffi.cast(lltype.Signed, gc_ll_descr.nursery)
- assert gc_ll_descr.addrs[0] == nurs_adr + 8
+ assert gc_ll_descr.addrs[0] == nurs_adr + 12
Modified: pypy/branch/blackhole-improvement/pypy/jit/codewriter/heaptracker.py
==============================================================================
--- pypy/branch/blackhole-improvement/pypy/jit/codewriter/heaptracker.py (original)
+++ pypy/branch/blackhole-improvement/pypy/jit/codewriter/heaptracker.py Sun May 30 16:30:26 2010
@@ -3,7 +3,8 @@
def has_gcstruct_a_vtable(GCSTRUCT):
- assert isinstance(GCSTRUCT, lltype.GcStruct)
+ if not isinstance(GCSTRUCT, lltype.GcStruct):
+ return False
while not GCSTRUCT._hints.get('typeptr'):
_, GCSTRUCT = GCSTRUCT._first_struct()
if GCSTRUCT is None:
@@ -14,6 +15,7 @@
# xxx hack: from a GcStruct representing an instance's
# lowleveltype, return the corresponding vtable pointer.
# Returns None if the GcStruct does not belong to an instance.
+ assert isinstance(GCSTRUCT, lltype.GcStruct)
if not has_gcstruct_a_vtable(GCSTRUCT):
return None
setup_cache_gcstruct2vtable(cpu)
More information about the Pypy-commit
mailing list