Author: Ronan Lamy <[email protected]>
Branch: optimizeopt-cleanup
Changeset: r96586:612d770461f7
Date: 2019-05-09 17:35 +0100
http://bitbucket.org/pypy/pypy/changeset/612d770461f7/
Log: Create Optimizer.optimize_loop() for consistency
diff --git a/rpython/jit/metainterp/compile.py
b/rpython/jit/metainterp/compile.py
--- a/rpython/jit/metainterp/compile.py
+++ b/rpython/jit/metainterp/compile.py
@@ -91,16 +91,9 @@
def optimize(self, metainterp_sd, jitdriver_sd, optimizations):
from rpython.jit.metainterp.optimizeopt.optimizer import Optimizer
- from rpython.jit.metainterp.optimizeopt.bridgeopt \
- import deserialize_optimizer_knowledge
opt = Optimizer(metainterp_sd, jitdriver_sd, optimizations)
- traceiter = self.trace.get_iter()
- if self.resumestorage:
- frontend_inputargs = self.trace.inputargs
- deserialize_optimizer_knowledge(opt, self.resumestorage,
- frontend_inputargs,
- traceiter.inputargs)
- return opt.propagate_all_forward(traceiter, self.call_pure_results)
+ return opt.optimize_loop(
+ self.trace, self.resumestorage, self.call_pure_results)
class BridgeCompileData(CompileData):
""" This represents ops() with a jump at the end that goes to some
diff --git a/rpython/jit/metainterp/optimizeopt/optimizer.py
b/rpython/jit/metainterp/optimizeopt/optimizer.py
--- a/rpython/jit/metainterp/optimizeopt/optimizer.py
+++ b/rpython/jit/metainterp/optimizeopt/optimizer.py
@@ -6,6 +6,8 @@
IntBound, ConstIntBound, MININT, MAXINT, IntUnbounded)
from rpython.jit.metainterp.optimizeopt.util import (
make_dispatcher_method, get_box_replacement)
+from rpython.jit.metainterp.optimizeopt.bridgeopt import (
+ deserialize_optimizer_knowledge)
from rpython.jit.metainterp.resoperation import (
rop, AbstractResOp, GuardResOp, OpHelpers)
from rpython.jit.metainterp.optimizeopt import info
@@ -296,6 +298,14 @@
self.optimizations = optimizations
+ def optimize_loop(self, trace, resumestorage, call_pure_results):
+ traceiter = trace.get_iter()
+ if resumestorage:
+ frontend_inputargs = trace.inputargs
+ deserialize_optimizer_knowledge(
+ self, resumestorage, frontend_inputargs, traceiter.inputargs)
+ return self.propagate_all_forward(traceiter, call_pure_results)
+
def force_op_from_preamble(self, op):
return op
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit