[pypy-svn] r66990 - in pypy/branch/pyjitpl5/pypy/translator/backendopt: . test
cfbolz at codespeak.net
cfbolz at codespeak.net
Wed Aug 19 18:10:37 CEST 2009
Author: cfbolz
Date: Wed Aug 19 18:10:37 2009
New Revision: 66990
Modified:
pypy/branch/pyjitpl5/pypy/translator/backendopt/inline.py
pypy/branch/pyjitpl5/pypy/translator/backendopt/test/test_inline.py
Log:
(mikke, cfbolz): kill jit inlining heuristic, as it was replaced by a new
approach
Modified: pypy/branch/pyjitpl5/pypy/translator/backendopt/inline.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/translator/backendopt/inline.py (original)
+++ pypy/branch/pyjitpl5/pypy/translator/backendopt/inline.py Wed Aug 19 18:10:37 2009
@@ -626,18 +626,6 @@
return (0.9999 * measure_median_execution_cost(graph) +
count), True
-def inlining_heuristic_jit(graph):
- func = getattr(graph, "func", None)
- try:
- oopspec = graph.func.oopspec
- except AttributeError:
- if getattr(func, "_pure_function_", False):
- return (sys.maxint, True)
- elif not getattr(func, "_look_inside_me_", True):
- return (sys.maxint, True)
- return inlining_heuristic(graph)
- return (sys.maxint, True)
-
def inlinable_static_callers(graphs):
ok_to_call = dict.fromkeys(graphs)
result = []
Modified: pypy/branch/pyjitpl5/pypy/translator/backendopt/test/test_inline.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/translator/backendopt/test/test_inline.py (original)
+++ pypy/branch/pyjitpl5/pypy/translator/backendopt/test/test_inline.py Wed Aug 19 18:10:37 2009
@@ -9,7 +9,6 @@
from pypy.translator.backendopt.inline import collect_called_graphs
from pypy.translator.backendopt.inline import measure_median_execution_cost
from pypy.translator.backendopt.inline import instrument_inline_candidates
-from pypy.translator.backendopt.inline import inlining_heuristic_jit
from pypy.translator.backendopt.checkvirtual import check_virtual_methods
from pypy.translator.translator import TranslationContext, graphof
from pypy.rpython.llinterp import LLInterpreter
@@ -628,32 +627,6 @@
res = eval_func([])
assert res == 5
- def test_jit_inliner(self):
- from pypy.rlib.jit import purefunction, dont_look_inside
- @purefunction
- def g(x):
- return x + 1
- @dont_look_inside
- def h(x):
- return x + 2
-
- def f(x):
- tot = 0
- for item in [1,2,g(x),h(x)]:
- tot += item
- return tot
-
- eval_func, t = self.check_auto_inlining(
- f, [int], heuristic=inlining_heuristic_jit)
- f_graph = graphof(t, f)
- called_graphs = collect_called_graphs(f_graph, t, include_oosend=False)
- print called_graphs
- assert len(called_graphs) == 6 # g, h, newlist, setitem, getitem, length
-
- result = eval_func([2])
- assert result == 10
-
-
class TestInlineOOType(OORtypeMixin, BaseTestInline):
More information about the Pypy-commit
mailing list