[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