Author: Maciej Fijalkowski <fij...@gmail.com> Branch: optresult-unroll Changeset: r79180:3a31270fcdd4 Date: 2015-08-24 10:24 +0200 http://bitbucket.org/pypy/pypy/changeset/3a31270fcdd4/
Log: whack at tests a bit so they're runnable diff --git a/rpython/jit/backend/llgraph/runner.py b/rpython/jit/backend/llgraph/runner.py --- a/rpython/jit/backend/llgraph/runner.py +++ b/rpython/jit/backend/llgraph/runner.py @@ -92,8 +92,7 @@ def __init__(self, S, vtable, runner): self.S = S self._is_object = vtable is not None - self.all_fielddescrs = heaptracker.all_fielddescrs(runner, S, - get_field_descr=LLGraphCPU.fielddescrof) + self.vtable = vtable def get_all_fielddescrs(self): return self.all_fielddescrs @@ -103,7 +102,7 @@ def get_vtable(self): return heaptracker.adr2int(llmemory.cast_ptr_to_adr( - self._corresponding_vtable)) + self.vtable)) def count_fields_if_immutable(self): return heaptracker.count_fields_if_immutable(self.S) @@ -223,6 +222,8 @@ self.fieldname = fieldname self.FIELD = getattr(A.OF, fieldname) self.arraydescr = runner.arraydescrof(A) + assert not heaptracker.has_gcstruct_a_vtable(A) + runner.sizeof(A.OF, None) self.fielddescr = runner.fielddescrof(A.OF, fieldname) def get_arraydescr(self): @@ -414,6 +415,8 @@ except KeyError: descr = SizeDescr(S, vtable, self) self.descrs[key] = descr + descr.all_fielddescrs = heaptracker.all_fielddescrs(self, S, + get_field_descr=LLGraphCPU.fielddescrof) return descr def fielddescrof(self, S, fieldname): @@ -423,8 +426,8 @@ except KeyError: descr = FieldDescr(S, fieldname) self.descrs[key] = descr - is_obj = heaptracker.has_gcstruct_a_vtable(S) - descr.parent_descr = self.sizeof(S, is_obj) + vtable = self.descrs[('size', S)].vtable + descr.parent_descr = self.sizeof(S, vtable) if self.vinfo_for_tests is not None: descr.vinfo = self.vinfo_for_tests return descr diff --git a/rpython/jit/metainterp/optimizeopt/test/test_util.py b/rpython/jit/metainterp/optimizeopt/test/test_util.py --- a/rpython/jit/metainterp/optimizeopt/test/test_util.py +++ b/rpython/jit/metainterp/optimizeopt/test/test_util.py @@ -121,9 +121,9 @@ myptr2 = lltype.cast_opaque_ptr(llmemory.GCREF, lltype.malloc(NODE)) nullptr = lltype.nullptr(llmemory.GCREF.TO) #nodebox2 = InputArgRef(lltype.cast_opaque_ptr(llmemory.GCREF, node2)) - nodesize = cpu.sizeof(NODE, True) - nodesize2 = cpu.sizeof(NODE2, True) - nodesize3 = cpu.sizeof(NODE3, True) + nodesize = cpu.sizeof(NODE, node_vtable) + nodesize2 = cpu.sizeof(NODE2, node_vtable2) + nodesize3 = cpu.sizeof(NODE3, node_vtable3) valuedescr = cpu.fielddescrof(NODE, 'value') floatdescr = cpu.fielddescrof(NODE, 'floatval') chardescr = cpu.fielddescrof(NODE, 'charval') @@ -139,7 +139,7 @@ QUASI = lltype.GcStruct('QUASIIMMUT', ('inst_field', lltype.Signed), ('mutate_field', rclass.OBJECTPTR), hints={'immutable_fields': accessor}) - quasisize = cpu.sizeof(QUASI, False) + quasisize = cpu.sizeof(QUASI, None) quasi = lltype.malloc(QUASI, immortal=True) quasi.inst_field = -4247 quasifielddescr = cpu.fielddescrof(QUASI, 'inst_field') @@ -151,6 +151,7 @@ ('ref', lltype.Ptr(OBJECT))) nodeobj = lltype.malloc(NODEOBJ) nodeobjvalue = lltype.cast_opaque_ptr(llmemory.GCREF, nodeobj) + cpu.sizeof(NODEOBJ, None) refdescr = cpu.fielddescrof(NODEOBJ, 'ref') INTOBJ_NOIMMUT = lltype.GcStruct('INTOBJ_NOIMMUT', ('parent', OBJECT), @@ -160,15 +161,16 @@ hints={'immutable': True}) intobj_noimmut_vtable = lltype.malloc(OBJECT_VTABLE, immortal=True) intobj_immut_vtable = lltype.malloc(OBJECT_VTABLE, immortal=True) + noimmut_descr = cpu.sizeof(INTOBJ_NOIMMUT, intobj_noimmut_vtable) + immut_descr = cpu.sizeof(INTOBJ_IMMUT, intobj_immut_vtable) noimmut_intval = cpu.fielddescrof(INTOBJ_NOIMMUT, 'intval') immut_intval = cpu.fielddescrof(INTOBJ_IMMUT, 'intval') - noimmut_descr = cpu.sizeof(INTOBJ_NOIMMUT, True) - immut_descr = cpu.sizeof(INTOBJ_IMMUT, True) PTROBJ_IMMUT = lltype.GcStruct('PTROBJ_IMMUT', ('parent', OBJECT), ('ptrval', lltype.Ptr(OBJECT)), hints={'immutable': True}) ptrobj_immut_vtable = lltype.malloc(OBJECT_VTABLE, immortal=True) + cpu.sizeof(PTROBJ_IMMUT, None) immut_ptrval = cpu.fielddescrof(PTROBJ_IMMUT, 'ptrval') arraydescr = cpu.arraydescrof(lltype.GcArray(lltype.Signed)) @@ -178,7 +180,7 @@ # a GcStruct not inheriting from OBJECT S = lltype.GcStruct('TUPLE', ('a', lltype.Signed), ('abis', lltype.Signed), ('b', lltype.Ptr(NODE))) - ssize = cpu.sizeof(S, False) + ssize = cpu.sizeof(S, None) adescr = cpu.fielddescrof(S, 'a') abisdescr = cpu.fielddescrof(S, 'abis') bdescr = cpu.fielddescrof(S, 'b') @@ -193,15 +195,16 @@ ('inst_w_seq', llmemory.GCREF), ('inst_index', lltype.Signed), ('inst_w_list', llmemory.GCREF), ('inst_length', lltype.Signed), ('inst_start', lltype.Signed), ('inst_step', lltype.Signed)) + w_root_vtable = lltype.malloc(OBJECT_VTABLE, immortal=True) + cpu.sizeof(W_ROOT, w_root_vtable) inst_w_seq = cpu.fielddescrof(W_ROOT, 'inst_w_seq') inst_index = cpu.fielddescrof(W_ROOT, 'inst_index') inst_length = cpu.fielddescrof(W_ROOT, 'inst_length') inst_start = cpu.fielddescrof(W_ROOT, 'inst_start') inst_step = cpu.fielddescrof(W_ROOT, 'inst_step') inst_w_list = cpu.fielddescrof(W_ROOT, 'inst_w_list') - w_root_vtable = lltype.malloc(OBJECT_VTABLE, immortal=True) - tsize = cpu.sizeof(T, False) + tsize = cpu.sizeof(T, None) cdescr = cpu.fielddescrof(T, 'c') ddescr = cpu.fielddescrof(T, 'd') arraydescr3 = cpu.arraydescrof(lltype.GcArray(lltype.Ptr(NODE))) @@ -214,10 +217,10 @@ SIMPLE = lltype.GcStruct('simple', ('parent', OBJECT), ('value', lltype.Signed)) - simpledescr = cpu.sizeof(SIMPLE, True) + simple_vtable = lltype.malloc(OBJECT_VTABLE, immortal=True) + simpledescr = cpu.sizeof(SIMPLE, simple_vtable) simplevalue = cpu.fielddescrof(SIMPLE, 'value') - simple_vtable = lltype.malloc(OBJECT_VTABLE, immortal=True) - usize = cpu.sizeof(U, True) + usize = cpu.sizeof(U, u_vtable) onedescr = cpu.fielddescrof(U, 'one') FUNC = lltype.FuncType([lltype.Signed], lltype.Signed) @@ -349,7 +352,7 @@ jit_virtual_ref_vtable = vrefinfo.jit_virtual_ref_vtable jvr_vtable_adr = llmemory.cast_ptr_to_adr(jit_virtual_ref_vtable) - vref_descr = cpu.sizeof(vrefinfo.JIT_VIRTUAL_REF, False) + vref_descr = cpu.sizeof(vrefinfo.JIT_VIRTUAL_REF, None) namespace = locals() _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit