[pypy-svn] r66592 - pypy/branch/pyjitpl5-optimize4/pypy/jit/backend/test
arigo at codespeak.net
arigo at codespeak.net
Fri Jul 24 16:12:25 CEST 2009
Author: arigo
Date: Fri Jul 24 16:12:25 2009
New Revision: 66592
Modified:
pypy/branch/pyjitpl5-optimize4/pypy/jit/backend/test/test_ll_random.py
Log:
Fix for NEW_WITH_VTABLE not taking the descr any more.
Modified: pypy/branch/pyjitpl5-optimize4/pypy/jit/backend/test/test_ll_random.py
==============================================================================
--- pypy/branch/pyjitpl5-optimize4/pypy/jit/backend/test/test_ll_random.py (original)
+++ pypy/branch/pyjitpl5-optimize4/pypy/jit/backend/test/test_ll_random.py Fri Jul 24 16:12:25 2009
@@ -18,6 +18,7 @@
self.runicodes = []
self.structure_types = []
self.structure_types_and_vtables = []
+ self.class_sizes_cache = []
def get_structptr_var(self, r, must_have_vtable=False, type=lltype.Struct):
while True:
@@ -97,6 +98,13 @@
vtable.name[i] = name[i]
vtable.name[len(name)] = '\x00'
self.structure_types_and_vtables.append((S, vtable))
+ #
+ vtable_adr = llmemory.cast_ptr_to_adr(vtable)
+ vtable_int = self.cpu.cast_adr_to_int(vtable_adr)
+ descr = self.cpu.sizeof(S)
+ self.class_sizes_cache.append((vtable_int, descr))
+ self.cpu.set_class_sizes(dict(self.class_sizes_cache))
+ #
return S, vtable
def get_random_structure(self, r, has_vtable=False):
@@ -231,10 +239,12 @@
if self.opnum == rop.NEW_WITH_VTABLE:
S, vtable = builder.get_random_structure_type_and_vtable(r)
args = [ConstAddr(llmemory.cast_ptr_to_adr(vtable), builder.cpu)]
+ descr = None
else:
S = builder.get_random_structure_type(r)
args = []
- v_ptr = builder.do(self.opnum, args, self.size_descr(builder, S))
+ descr = self.size_descr(builder, S)
+ v_ptr = builder.do(self.opnum, args, descr)
builder.ptrvars.append((v_ptr, S))
class ArrayOperation(test_random.AbstractOperation):
More information about the Pypy-commit
mailing list