[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