Author: Ronny Pfannschmidt <[email protected]>
Branch: pytest
Changeset: r60467:75f9b6ea28b9
Date: 2013-01-25 17:53 +0100
http://bitbucket.org/pypy/pypy/changeset/75f9b6ea28b9/

Log:    merge in default

diff --git a/py/_code/source.py b/py/_code/source.py
--- a/py/_code/source.py
+++ b/py/_code/source.py
@@ -141,6 +141,8 @@
                 trysource = self[start:end]
                 if trysource.isparseable():
                     return start, end
+                if end == start + 100:   # XXX otherwise, it takes forever
+                    break                # XXX
         if end is None:
             raise IndexError("no valid source range around line %d " % 
(lineno,))
         return start, end
diff --git a/rpython/jit/backend/x86/runner.py 
b/rpython/jit/backend/x86/runner.py
--- a/rpython/jit/backend/x86/runner.py
+++ b/rpython/jit/backend/x86/runner.py
@@ -64,6 +64,7 @@
     def setup_once(self):
         self.profile_agent.startup()
         self.assembler.setup_once()
+        self.gc_set_extra_threshold()
 
     def finish_once(self):
         self.assembler.finish_once()
diff --git a/rpython/rlib/jit.py b/rpython/rlib/jit.py
--- a/rpython/rlib/jit.py
+++ b/rpython/rlib/jit.py
@@ -481,11 +481,8 @@
             self.autoreds = True
             self.reds = []
             self.numreds = None # see warmspot.autodetect_jit_markers_redvars
-            for hook in [
-                get_jitcell_at, set_jitcell_at, get_printable_location,
-                confirm_enter_jit
-            ]:
-                assert hook is None, "reds='auto' is not compatible with 
JitDriver hooks"
+            assert confirm_enter_jit is None, (
+                "reds='auto' is not compatible with confirm_enter_jit")
         else:
             if reds is not None:
                 self.reds = reds
diff --git a/rpython/rtyper/rlist.py b/rpython/rtyper/rlist.py
--- a/rpython/rtyper/rlist.py
+++ b/rpython/rtyper/rlist.py
@@ -1025,11 +1025,7 @@
     res._ll_resize(resultlen)
     j = length
     while j < resultlen:
-        i = 0
-        while i < length:
-            p = j + i
-            res.ll_setitem_fast(p, l.ll_getitem_fast(i))
-            i += 1
+        ll_arraycopy(l, res, 0, j, length)
         j += length
     return res
 ll_inplace_mul.oopspec = 'list.inplace_mul(l, factor)'
@@ -1046,11 +1042,7 @@
     res = RESLIST.ll_newlist(resultlen)
     j = 0
     while j < resultlen:
-        i = 0
-        while i < length:
-            p = j + i
-            res.ll_setitem_fast(p, l.ll_getitem_fast(i))
-            i += 1
+        ll_arraycopy(l, res, 0, j, length)
         j += length
     return res
 # not inlined by the JIT -- contains a loop
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to