[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