[pypy-svn] r78884 - in pypy/trunk/pypy/module/pypyjit: . test

agaynor at codespeak.net agaynor at codespeak.net
Mon Nov 8 18:03:57 CET 2010


Author: agaynor
Date: Mon Nov  8 18:03:54 2010
New Revision: 78884

Modified:
   pypy/trunk/pypy/module/pypyjit/policy.py
   pypy/trunk/pypy/module/pypyjit/test/test_policy.py
Log:
Allow the jit to inline property.


Modified: pypy/trunk/pypy/module/pypyjit/policy.py
==============================================================================
--- pypy/trunk/pypy/module/pypyjit/policy.py	(original)
+++ pypy/trunk/pypy/module/pypyjit/policy.py	Mon Nov  8 18:03:54 2010
@@ -6,7 +6,8 @@
         if (modname == '__builtin__.operation' or
                 modname == '__builtin__.abstractinst' or
                 modname == '__builtin__.interp_classobj' or
-                modname == '__builtin__.functional'):
+                modname == '__builtin__.functional' or
+                modname == '__builtin__.descriptor'):
             return True
         if '.' in modname:
             modname, _ = modname.split('.', 1)
@@ -19,7 +20,7 @@
         # this function should never actually return True directly
         # but instead call the base implementation
         mod = func.__module__ or '?'
-        
+
         if mod.startswith('pypy.objspace.'):
             # gc_id operation
             if func.__name__ == 'id__ANY':
@@ -36,5 +37,5 @@
             modname = mod[len('pypy.module.'):]
             if not self.look_inside_pypy_module(modname):
                 return False
-            
+
         return True

Modified: pypy/trunk/pypy/module/pypyjit/test/test_policy.py
==============================================================================
--- pypy/trunk/pypy/module/pypyjit/test/test_policy.py	(original)
+++ pypy/trunk/pypy/module/pypyjit/test/test_policy.py	Mon Nov  8 18:03:54 2010
@@ -12,7 +12,7 @@
 
 def test_rlocale():
     from pypy.rlib.rlocale import setlocale
-    assert not pypypolicy.look_inside_function(setlocale)    
+    assert not pypypolicy.look_inside_function(setlocale)
 
 def test_geninterp():
     d = {'_geninterp_': True}
@@ -28,6 +28,10 @@
     from pypy.interpreter.pyparser import parser
     assert not pypypolicy.look_inside_function(parser.Grammar.__init__.im_func)
 
+def test_property():
+    from pypy.module.__builtin__.descriptor import W_Property
+    assert pypypolicy.look_inside_function(W_Property.get.im_func)
+
 def test_pypy_module():
     from pypy.module._random.interp_random import W_Random
     assert not pypypolicy.look_inside_function(W_Random.random)
@@ -35,6 +39,7 @@
     assert pypypolicy.look_inside_pypy_module('__builtin__.operation')
     assert pypypolicy.look_inside_pypy_module('__builtin__.abstractinst')
     assert pypypolicy.look_inside_pypy_module('__builtin__.functional')
+    assert pypypolicy.look_inside_pypy_module('__builtin__.descriptor')
     assert pypypolicy.look_inside_pypy_module('exceptions.interp_exceptions')
     for modname in 'pypyjit', 'signal', 'micronumpy', 'math', 'imp':
         assert pypypolicy.look_inside_pypy_module(modname)
@@ -42,4 +47,3 @@
 
 def test_see_jit_module():
     assert pypypolicy.look_inside_pypy_module('pypyjit.interp_jit')
-



More information about the Pypy-commit mailing list