Author: Armin Rigo <[email protected]>
Branch:
Changeset: r61282:9ef3899846ea
Date: 2013-02-15 18:22 +0000
http://bitbucket.org/pypy/pypy/changeset/9ef3899846ea/
Log: merge heads
diff --git a/rpython/rlib/jit.py b/rpython/rlib/jit.py
--- a/rpython/rlib/jit.py
+++ b/rpython/rlib/jit.py
@@ -476,7 +476,7 @@
get_jitcell_at=None, set_jitcell_at=None,
get_printable_location=None, confirm_enter_jit=None,
can_never_inline=None, should_unroll_one_iteration=None,
- name='jitdriver'):
+ name='jitdriver', check_untranslated=True):
if greens is not None:
self.greens = greens
self.name = name
@@ -511,6 +511,7 @@
self.confirm_enter_jit = confirm_enter_jit
self.can_never_inline = can_never_inline
self.should_unroll_one_iteration = should_unroll_one_iteration
+ self.check_untranslated = check_untranslated
def _freeze_(self):
return True
@@ -565,13 +566,15 @@
def jit_merge_point(_self, **livevars):
# special-cased by ExtRegistryEntry
- _self._check_arguments(livevars)
+ if _self.check_untranslated:
+ _self._check_arguments(livevars)
def can_enter_jit(_self, **livevars):
if _self.autoreds:
raise TypeError, "Cannot call can_enter_jit on a driver with
reds='auto'"
# special-cased by ExtRegistryEntry
- _self._check_arguments(livevars)
+ if _self.check_untranslated:
+ _self._check_arguments(livevars)
def loop_header(self):
# special-cased by ExtRegistryEntry
diff --git a/rpython/rtyper/lltypesystem/rlist.py
b/rpython/rtyper/lltypesystem/rlist.py
--- a/rpython/rtyper/lltypesystem/rlist.py
+++ b/rpython/rtyper/lltypesystem/rlist.py
@@ -246,6 +246,7 @@
of the list to be 'newsize'."""
_ll_list_resize_really(l, newsize, False)
+
@jit.look_inside_iff(lambda l, newsize: jit.isconstant(len(l.items)) and
jit.isconstant(newsize))
@jit.oopspec("list._resize_ge(l, newsize)")
def _ll_list_resize_ge(l, newsize):
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit