[pypy-svn] r65985 - pypy/branch/pyjitpl5/pypy/jit/metainterp
fijal at codespeak.net
fijal at codespeak.net
Fri Jun 26 03:16:34 CEST 2009
Author: fijal
Date: Fri Jun 26 03:16:33 2009
New Revision: 65985
Modified:
pypy/branch/pyjitpl5/pypy/jit/metainterp/policy.py
Log:
Look for delayed pointers when guessing call kind. Delayed pointers are
always portals
Modified: pypy/branch/pyjitpl5/pypy/jit/metainterp/policy.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/jit/metainterp/policy.py (original)
+++ pypy/branch/pyjitpl5/pypy/jit/metainterp/policy.py Fri Jun 26 03:16:33 2009
@@ -1,5 +1,6 @@
from pypy.translator.simplify import get_funcobj
from pypy.jit.metainterp import support, history
+from pypy.rpython.lltypesystem import lltype
class JitPolicy(object):
@@ -48,6 +49,11 @@
def guess_call_kind(self, op):
if op.opname == 'direct_call':
funcobj = get_funcobj(op.args[0].value)
+ #if isinstance(funcobj, lltype.Ptr):
+ # try:
+ # funcobj._obj
+ # except lltype.DelayedPointer:
+ # return 'recursive'
if (hasattr(funcobj, '_callable') and
getattr(funcobj._callable, '_recursive_portal_call_', False)):
return 'recursive'
More information about the Pypy-commit
mailing list