Author: Richard Plangger <r...@pasra.at> Branch: vecopt-merge Changeset: r79124:38a19b56ef23 Date: 2015-08-21 19:25 +0200 http://bitbucket.org/pypy/pypy/changeset/38a19b56ef23/
Log: fixed issues with test cases for llgraph 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 @@ -17,6 +17,11 @@ from rpython.rlib.clibffi import FFI_DEFAULT_ABI from rpython.rlib.rarithmetic import ovfcheck, r_uint, r_ulonglong +class LLAsmInfo(object): + def __init__(self, lltrace): + self.ops_offset = None + self.lltrace = lltrace + class LLTrace(object): has_been_freed = False invalid = False @@ -266,7 +271,7 @@ self.vinfo_for_tests = kwds.get('vinfo_for_tests', None) def stitch_bridge(self, faildescr, target): - faildescr._llgraph_bridge = target + faildescr._llgraph_bridge = target.lltrace def compile_loop(self, inputargs, operations, looptoken, jd_id=0, unique_id=0, log=True, name='', logger=None): @@ -285,7 +290,7 @@ faildescr._llgraph_bridge = lltrace clt._llgraph_alltraces.append(lltrace) self._record_labels(lltrace) - return lltrace + return LLAsmInfo(lltrace) def _record_labels(self, lltrace): for i, op in enumerate(lltrace.operations): @@ -753,6 +758,13 @@ values.append(val) return values + def bh_vec_getarrayitem_gc(self, struct, offset, count, descr): + values = [] + for i in range(count): + val = self.bh_getarrayitem_gc(struct, offset + i, descr) + values.append(val) + return values + def bh_vec_raw_load(self, struct, offset, count, descr): values = [] stride = descr.get_item_size_in_bytes() @@ -770,6 +782,9 @@ for i,n in enumerate(newvalues): self.bh_setarrayitem_raw(struct, offset + i, n, descr) + def bh_vec_setarrayitem_gc(self, struct, offset, newvalues, descr): + for i,n in enumerate(newvalues): + self.bh_setarrayitem_gc(struct, offset + i, n, descr) def store_fail_descr(self, deadframe, descr): pass # I *think* diff --git a/rpython/jit/metainterp/optimizeopt/test/test_guard.py b/rpython/jit/metainterp/optimizeopt/test/test_guard.py --- a/rpython/jit/metainterp/optimizeopt/test/test_guard.py +++ b/rpython/jit/metainterp/optimizeopt/test/test_guard.py @@ -319,12 +319,13 @@ opt = self.optguards(loop1, True) self.assert_guard_count(loop1, 2) self.assert_contains_sequence(loop1, """ - i40 = int_ge(42, i2) - guard_true(i40) [] ... i10 = int_gt(i1, 42) guard_true(i10) [] ... + i40 = int_gt(i11, i2) + guard_true(i40) [] + ... """) class Test(GuardBaseTest, LLtypeMixin): diff --git a/rpython/rlib/jit.py b/rpython/rlib/jit.py --- a/rpython/rlib/jit.py +++ b/rpython/rlib/jit.py @@ -1006,7 +1006,7 @@ asmlen - assembler block length rawstart - address a guard can jump to """ - def __init__(self, ops_offset, asmaddr, asmlen, rawstart): + def __init__(self, ops_offset, asmaddr, asmlen, rawstart=0): self.ops_offset = ops_offset self.asmaddr = asmaddr self.asmlen = asmlen _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit