[pypy-commit] pypy optresult-unroll: merge

fijal noreply at buildbot.pypy.org
Tue Sep 8 14:26:57 CEST 2015


Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: optresult-unroll
Changeset: r79537:5e3d73cce119
Date: 2015-09-08 14:27 +0200
http://bitbucket.org/pypy/pypy/changeset/5e3d73cce119/

Log:	merge

diff --git a/rpython/jit/backend/arm/opassembler.py b/rpython/jit/backend/arm/opassembler.py
--- a/rpython/jit/backend/arm/opassembler.py
+++ b/rpython/jit/backend/arm/opassembler.py
@@ -29,6 +29,7 @@
 from rpython.rlib.objectmodel import we_are_translated
 from rpython.rtyper.lltypesystem import rstr, rffi, lltype
 from rpython.rtyper.annlowlevel import cast_instance_to_gcref
+from rpython.rtyper import rclass
 from rpython.jit.backend.arm import callbuilder
 from rpython.rlib.rarithmetic import r_uint
 
@@ -334,7 +335,7 @@
                                  base_type_info + sizeof_ti + offset2)
             if shift_by > 0:
                 self.mc.LSL_ri(r.ip.value, r.ip.value, shift_by)
-            self.mc.LDR_rr(r.ip.value, r.ip.value, l.lr.value)
+            self.mc.LDR_rr(r.ip.value, r.ip.value, r.lr.value)
         # get the two bounds to check against
         vtable_ptr = loc_check_against_class.getint()
         vtable_ptr = rffi.cast(rclass.CLASSTYPE, vtable_ptr)
@@ -352,7 +353,8 @@
             self.mc.CMP_rr(r.ip.value, r.lr.value)
         # the guard passes if we get a result of "below or equal"
         self.guard_success_cc = c.LS
-        self.implement_guard(guard_token)
+        self._emit_guard(op, arglocs[2:], save_exc=False)
+        return fcond
 
     def emit_op_guard_not_invalidated(self, op, locs, regalloc, fcond):
         return self._emit_guard(op, locs, save_exc=False,
diff --git a/rpython/jit/backend/x86/test/test_runner.py b/rpython/jit/backend/x86/test/test_runner.py
--- a/rpython/jit/backend/x86/test/test_runner.py
+++ b/rpython/jit/backend/x86/test/test_runner.py
@@ -215,7 +215,7 @@
                              ('c2', lltype.Char),
                              ('c3', lltype.Char))
         res = InputArgRef(self.execute_operation(rop.NEW, [],
-                                     'ref', self.cpu.sizeof(TP, None)))
+                                     'ref', self.cpu.sizeof(TP)))
         ofs_s = self.cpu.fielddescrof(TP, 's')
         ofs_i = self.cpu.fielddescrof(TP, 'i')
         #ofs_f = self.cpu.fielddescrof(TP, 'f')


More information about the pypy-commit mailing list