[pypy-svn] r24624 - in pypy/dist/pypy/jit: . test
arigo at codespeak.net
arigo at codespeak.net
Mon Mar 20 18:10:03 CET 2006
Author: arigo
Date: Mon Mar 20 18:09:56 2006
New Revision: 24624
Modified:
pypy/dist/pypy/jit/hintannotator.py
pypy/dist/pypy/jit/test/test_hint_annotation.py
Log:
'keepalive' support in the hint-annotator.
Modified: pypy/dist/pypy/jit/hintannotator.py
==============================================================================
--- pypy/dist/pypy/jit/hintannotator.py (original)
+++ pypy/dist/pypy/jit/hintannotator.py Mon Mar 20 18:09:56 2006
@@ -28,5 +28,8 @@
vcontainerdef = self.bookkeeper.getvirtualcontainerdef(TYPE)
return hintmodel.SomeLLAbstractContainer(vcontainerdef)
+ def consider_op_keepalive(self, hs_v):
+ pass
+
_registeroperations(HintAnnotator.__dict__, hintmodel)
Modified: pypy/dist/pypy/jit/test/test_hint_annotation.py
==============================================================================
--- pypy/dist/pypy/jit/test/test_hint_annotation.py (original)
+++ pypy/dist/pypy/jit/test/test_hint_annotation.py Mon Mar 20 18:09:56 2006
@@ -7,18 +7,21 @@
from pypy.rpython.objectmodel import hint
from pypy.annotation import model as annmodel
from pypy.annotation.policy import AnnotatorPolicy
+from pypy.translator.backendopt.inline import auto_inlining
from pypy import conftest
P_OOPSPEC = AnnotatorPolicy()
P_OOPSPEC.oopspec = True
-def hannotate(func, argtypes, policy=None, annotator=False):
+def hannotate(func, argtypes, policy=None, annotator=False, inline=None):
# build the normal ll graphs for ll_function
t = TranslationContext()
a = t.buildannotator()
a.build_types(func, argtypes)
rtyper = t.buildrtyper()
rtyper.specialize()
+ if inline:
+ auto_inlining(t, inline)
graph1 = graphof(t, func)
# build hint annotator types
hannotator = HintAnnotator(policy=policy)
@@ -409,6 +412,7 @@
return acc
assert ll_plus_minus("+-+", 0, 2) == 2
hannotate(ll_plus_minus, [str, int, int])
+ hannotate(ll_plus_minus, [str, int, int], inline=999)
def test_invalid_hint_1():
S = lltype.GcStruct('S', ('x', lltype.Signed))
More information about the Pypy-commit
mailing list