[pypy-commit] pypy default: (fijal) let the jit look inside now that the loop has a merge point

pjenvey noreply at buildbot.pypy.org
Thu Sep 13 22:37:47 CEST 2012


Author: Philip Jenvey <pjenvey at underboss.org>
Branch: 
Changeset: r57332:f37565070f07
Date: 2012-09-13 13:37 -0700
http://bitbucket.org/pypy/pypy/changeset/f37565070f07/

Log:	(fijal) let the jit look inside now that the loop has a merge point

diff --git a/pypy/interpreter/baseobjspace.py b/pypy/interpreter/baseobjspace.py
--- a/pypy/interpreter/baseobjspace.py
+++ b/pypy/interpreter/baseobjspace.py
@@ -834,7 +834,8 @@
         return isinstance(obj, RequiredClass)
 
     def unpackiterable(self, w_iterable, expected_length=-1):
-        """Unpack an iterable object into a real (interpreter-level) list.
+        """Unpack an iterable into a real (interpreter-level) list.
+
         Raise an OperationError(w_ValueError) if the length is wrong."""
         w_iterator = self.iter(w_iterable)
         if expected_length == -1:
@@ -854,12 +855,10 @@
     def iteriterable(self, w_iterable):
         return W_InterpIterable(self, w_iterable)
 
-    @jit.dont_look_inside
     def _unpackiterable_unknown_length(self, w_iterator, w_iterable):
-        # Unpack a variable-size list of unknown length.
-        # The JIT does not look inside this function because it
-        # contains a loop (made explicit with the decorator above).
-        #
+        """Unpack an iterable of unknown length into an interp-level
+        list.
+        """
         # If we can guess the expected length we can preallocate.
         try:
             lgt_estimate = self.len_w(w_iterable)


More information about the pypy-commit mailing list