Author: Maciej Fijalkowski <[email protected]>
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
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit