Author: Maciej Fijalkowski <fij...@gmail.com> Branch: better-jit-hooks Changeset: r51176:8fdbf83e4cce Date: 2012-01-09 19:17 +0200 http://bitbucket.org/pypy/pypy/changeset/8fdbf83e4cce/
Log: rename JitPortal to JitHookInterface diff --git a/pypy/jit/codewriter/policy.py b/pypy/jit/codewriter/policy.py --- a/pypy/jit/codewriter/policy.py +++ b/pypy/jit/codewriter/policy.py @@ -8,15 +8,15 @@ class JitPolicy(object): - def __init__(self, portal=None): + def __init__(self, jithookiface=None): self.unsafe_loopy_graphs = set() self.supports_floats = False self.supports_longlong = False self.supports_singlefloats = False - if portal is None: - from pypy.rlib.jit import JitPortal - portal = JitPortal() - self.portal = portal + if jithookiface is None: + from pypy.rlib.jit import JitHookInterface + jithookiface = JitHookInterface() + self.jithookiface = jithookiface def set_supports_floats(self, flag): self.supports_floats = flag diff --git a/pypy/jit/metainterp/compile.py b/pypy/jit/metainterp/compile.py --- a/pypy/jit/metainterp/compile.py +++ b/pypy/jit/metainterp/compile.py @@ -306,12 +306,12 @@ loop.check_consistency() if metainterp_sd.warmrunnerdesc is not None: - portal = metainterp_sd.warmrunnerdesc.portal - portal.before_compile(jitdriver_sd.jitdriver, metainterp_sd.logger_ops, - original_jitcell_token, loop.operations, type, - greenkey) + hooks = metainterp_sd.warmrunnerdesc.hooks + hooks.before_compile(jitdriver_sd.jitdriver, metainterp_sd.logger_ops, + original_jitcell_token, loop.operations, type, + greenkey) else: - portal = None + hooks = None operations = get_deep_immutable_oplist(loop.operations) metainterp_sd.profiler.start_backend() debug_start("jit-backend") @@ -323,8 +323,8 @@ finally: debug_stop("jit-backend") metainterp_sd.profiler.end_backend() - if portal is not None: - portal.after_compile(jitdriver_sd.jitdriver, metainterp_sd.logger_ops, + if hooks is not None: + hooks.after_compile(jitdriver_sd.jitdriver, metainterp_sd.logger_ops, original_jitcell_token, loop.operations, type, greenkey, ops_offset, asmstart, asmlen) metainterp_sd.stats.add_new_loop(loop) @@ -348,12 +348,12 @@ seen = dict.fromkeys(inputargs) TreeLoop.check_consistency_of_branch(operations, seen) if metainterp_sd.warmrunnerdesc is not None: - portal = metainterp_sd.warmrunnerdesc.portal - portal.before_compile_bridge(jitdriver_sd.jitdriver, + hooks = metainterp_sd.warmrunnerdesc.hooks + hooks.before_compile_bridge(jitdriver_sd.jitdriver, metainterp_sd.logger_ops, original_loop_token, operations, n) else: - portal = None + hooks = None operations = get_deep_immutable_oplist(operations) metainterp_sd.profiler.start_backend() debug_start("jit-backend") @@ -364,12 +364,12 @@ finally: debug_stop("jit-backend") metainterp_sd.profiler.end_backend() - if portal is not None: - portal.after_compile_bridge(jitdriver_sd.jitdriver, - metainterp_sd.logger_ops, - original_loop_token, operations, n, - ops_offset, - asmstart, asmlen) + if hooks is not None: + hooks.after_compile_bridge(jitdriver_sd.jitdriver, + metainterp_sd.logger_ops, + original_loop_token, operations, n, + ops_offset, + asmstart, asmlen) if not we_are_translated(): metainterp_sd.stats.compiled() metainterp_sd.log("compiled new bridge") diff --git a/pypy/jit/metainterp/pyjitpl.py b/pypy/jit/metainterp/pyjitpl.py --- a/pypy/jit/metainterp/pyjitpl.py +++ b/pypy/jit/metainterp/pyjitpl.py @@ -1795,8 +1795,8 @@ debug_print('~~~ ABORTING TRACING') jd_sd = self.jitdriver_sd greenkey = self.current_merge_points[0][0][:jd_sd.num_green_args] - self.staticdata.warmrunnerdesc.portal.on_abort(reason, jd_sd.jitdriver, - greenkey) + self.staticdata.warmrunnerdesc.hooks.on_abort(reason, jd_sd.jitdriver, + greenkey) self.staticdata.stats.aborted() def blackhole_if_trace_too_long(self): diff --git a/pypy/jit/metainterp/test/test_jitportal.py b/pypy/jit/metainterp/test/test_jitiface.py rename from pypy/jit/metainterp/test/test_jitportal.py rename to pypy/jit/metainterp/test/test_jitiface.py --- a/pypy/jit/metainterp/test/test_jitportal.py +++ b/pypy/jit/metainterp/test/test_jitiface.py @@ -1,5 +1,5 @@ -from pypy.rlib.jit import JitDriver, JitPortal +from pypy.rlib.jit import JitDriver, JitHookInterface from pypy.rlib import jit_hooks from pypy.jit.metainterp.test.support import LLJitMixin from pypy.jit.codewriter.policy import JitPolicy @@ -7,17 +7,17 @@ from pypy.jit.metainterp.resoperation import rop from pypy.rpython.annlowlevel import hlstr -class TestJitPortal(LLJitMixin): +class TestJitHookInterface(LLJitMixin): def test_abort_quasi_immut(self): reasons = [] - class MyJitPortal(JitPortal): + class MyJitIface(JitHookInterface): def on_abort(self, reason, jitdriver, greenkey): assert jitdriver is myjitdriver assert len(greenkey) == 1 reasons.append(reason) - portal = MyJitPortal() + iface = MyJitIface() myjitdriver = JitDriver(greens=['foo'], reds=['x', 'total']) @@ -37,14 +37,14 @@ return total # assert f(100, 7) == 721 - res = self.meta_interp(f, [100, 7], policy=JitPolicy(portal)) + res = self.meta_interp(f, [100, 7], policy=JitPolicy(iface)) assert res == 721 assert reasons == [ABORT_FORCE_QUASIIMMUT] * 2 def test_on_compile(self): called = [] - class MyJitPortal(JitPortal): + class MyJitIface(JitHookInterface): def after_compile(self, jitdriver, logger, looptoken, operations, type, greenkey, ops_offset, asmaddr, asmlen): assert asmaddr == 0 @@ -62,7 +62,7 @@ called.append(("trace", greenkey[1].getint(), greenkey[0].getint(), type)) - portal = MyJitPortal() + iface = MyJitIface() driver = JitDriver(greens = ['n', 'm'], reds = ['i']) @@ -73,11 +73,11 @@ driver.jit_merge_point(n=n, m=m, i=i) i += 1 - self.meta_interp(loop, [1, 4], policy=JitPolicy(portal)) + self.meta_interp(loop, [1, 4], policy=JitPolicy(iface)) assert called == [#("trace", 4, 1, "loop"), ("optimize", 4, 1, "loop"), ("compile", 4, 1, "loop")] - self.meta_interp(loop, [2, 4], policy=JitPolicy(portal)) + self.meta_interp(loop, [2, 4], policy=JitPolicy(iface)) assert called == [#("trace", 4, 1, "loop"), ("optimize", 4, 1, "loop"), ("compile", 4, 1, "loop"), @@ -88,7 +88,7 @@ def test_on_compile_bridge(self): called = [] - class MyJitPortal(JitPortal): + class MyJitIface(JitHookInterface): def after_compile(self, jitdriver, logger, looptoken, operations, type, greenkey, ops_offset, asmaddr, asmlen): assert asmaddr == 0 @@ -114,7 +114,7 @@ i += 2 i += 1 - self.meta_interp(loop, [1, 10], policy=JitPolicy(MyJitPortal())) + self.meta_interp(loop, [1, 10], policy=JitPolicy(MyJitIface())) assert called == ["compile", "before_compile_bridge", "compile_bridge"] def test_resop_interface(self): diff --git a/pypy/jit/metainterp/warmspot.py b/pypy/jit/metainterp/warmspot.py --- a/pypy/jit/metainterp/warmspot.py +++ b/pypy/jit/metainterp/warmspot.py @@ -210,13 +210,12 @@ vrefinfo = VirtualRefInfo(self) self.codewriter.setup_vrefinfo(vrefinfo) # - self.portal = policy.portal + self.hooks = policy.jithookiface self.make_virtualizable_infos() self.make_exception_classes() self.make_driverhook_graphs() self.make_enter_functions() self.rewrite_jit_merge_points(policy) - self.portal = policy.portal verbose = False # not self.cpu.translate_support_code self.rewrite_access_helpers() diff --git a/pypy/rlib/jit.py b/pypy/rlib/jit.py --- a/pypy/rlib/jit.py +++ b/pypy/rlib/jit.py @@ -725,11 +725,11 @@ return hop.genop('jit_marker', vlist, resulttype=lltype.Void) -class JitPortal(object): +class JitHookInterface(object): """ This is the main connector between the JIT and the interpreter. - Several methods on portal will be invoked at various stages of JIT running - like JIT loops compiled, aborts etc. - An instance of this class will be available as policy.portal. + Several methods on this class will be invoked at various stages + of JIT running like JIT loops compiled, aborts etc. + An instance of this class will be available as policy.jithookiface. each hook will accept some of the following args: _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit