[pypy-commit] pypy default: unroll isinstance checks with old style classes

alex_gaynor noreply at buildbot.pypy.org
Tue Apr 2 05:30:55 CEST 2013


Author: Alex Gaynor <alex.gaynor at gmail.com>
Branch: 
Changeset: r62924:73524812269e
Date: 2013-04-01 20:30 -0700
http://bitbucket.org/pypy/pypy/changeset/73524812269e/

Log:	unroll isinstance checks with old style classes

diff --git a/pypy/module/__builtin__/abstractinst.py b/pypy/module/__builtin__/abstractinst.py
--- a/pypy/module/__builtin__/abstractinst.py
+++ b/pypy/module/__builtin__/abstractinst.py
@@ -94,9 +94,8 @@
             return w_obj.w_class.is_subclass_of(w_klass_or_tuple)
     return _abstract_isinstance_w_helper(space, w_obj, w_klass_or_tuple)
 
- at jit.dont_look_inside
+
 def _abstract_isinstance_w_helper(space, w_obj, w_klass_or_tuple):
-
     # -- case (anything, abstract-class)
     check_class(space, w_klass_or_tuple,
                 "isinstance() arg 2 must be a class, type,"
@@ -111,7 +110,7 @@
         return _issubclass_recurse(space, w_abstractclass, w_klass_or_tuple)
 
 
- at jit.dont_look_inside
+ at jit.unroll_safe
 def _issubclass_recurse(space, w_derived, w_top):
     """Internal helper for abstract cases.  Here, w_top cannot be a tuple."""
     if space.is_w(w_derived, w_top):


More information about the pypy-commit mailing list