[pypy-commit] pypy default: fix jit translation, don't lookinside this function until ptradd works with things besides ccharp

alex_gaynor noreply at buildbot.pypy.org
Thu Oct 25 04:38:45 CEST 2012


Author: Alex Gaynor <alex.gaynor at gmail.com>
Branch: 
Changeset: r58413:88158af0627f
Date: 2012-10-24 19:38 -0700
http://bitbucket.org/pypy/pypy/changeset/88158af0627f/

Log:	fix jit translation, don't lookinside this function until ptradd
	works with things besides ccharp

diff --git a/pypy/module/array/interp_array.py b/pypy/module/array/interp_array.py
--- a/pypy/module/array/interp_array.py
+++ b/pypy/module/array/interp_array.py
@@ -9,6 +9,7 @@
 from pypy.objspace.std.multimethod import FailedToImplement
 from pypy.objspace.std.stdtypedef import SMM, StdTypeDef
 from pypy.objspace.std.register_all import register_all
+from pypy.rlib import jit
 from pypy.rlib.rarithmetic import ovfcheck, widen
 from pypy.rlib.unroll import unrolling_iterable
 from pypy.rlib.objectmodel import specialize, keepalive_until_here
@@ -466,6 +467,7 @@
         self.setlen(0)
         self.fromsequence(w_lst)
 
+    @jit.dont_look_inside
     def delslice__Array_ANY_ANY(space, self, w_i, w_j):
         i = space.int_w(w_i)
         if i < 0:
@@ -495,13 +497,13 @@
             rffi.c_memcpy(
                 rffi.cast(rffi.VOIDP, rffi.ptradd(self.buffer, i)),
                 rffi.cast(rffi.VOIDP, rffi.ptradd(oldbuffer, j)),
-                (self.len - j) * mytype.bytes)
+                (self.len - j) * mytype.bytes
+            )
         self.len -= j - i
         self.allocated = self.len
         if oldbuffer:
             lltype.free(oldbuffer, flavor='raw')
 
-
     # Add and mul methods
 
     def add__Array_Array(space, self, other):


More information about the pypy-commit mailing list