Author: Maciej Fijalkowski <[email protected]>
Branch: rewrite-unrolling
Changeset: r75303:55b1de6dc730
Date: 2015-01-11 12:25 +0200
http://bitbucket.org/pypy/pypy/changeset/55b1de6dc730/
Log: bam reap apart the part in pure.py responsible for old unrolling
diff --git a/rpython/jit/metainterp/optimizeopt/pure.py
b/rpython/jit/metainterp/optimizeopt/pure.py
--- a/rpython/jit/metainterp/optimizeopt/pure.py
+++ b/rpython/jit/metainterp/optimizeopt/pure.py
@@ -7,7 +7,6 @@
def __init__(self):
self.postponed_op = None
self.pure_operations = args_dict()
- self.emitted_pure_operations = {}
def propagate_forward(self, op):
dispatch_opt(self, op)
@@ -26,7 +25,6 @@
nextop = None
args = None
- remember = None
if canfold:
for i in range(op.numargs()):
if self.get_constant_box(op.getarg(i)) is None:
@@ -45,8 +43,6 @@
if oldvalue is not None:
self.optimizer.make_equal_to(op.result, oldvalue, True)
return
- else:
- remember = op
# otherwise, the operation remains
self.emit_operation(op)
@@ -56,8 +52,6 @@
self.emit_operation(nextop)
if args is not None:
self.pure_operations[args] = self.getvalue(op.result)
- if remember:
- self.remember_emitting_pure(remember)
def optimize_CALL_PURE(self, op):
# Step 1: check if all arguments are constant
@@ -85,7 +79,6 @@
args = op.getarglist()
self.emit_operation(ResOperation(rop.CALL, args, op.result,
op.getdescr()))
- self.remember_emitting_pure(op)
def optimize_GUARD_NO_EXCEPTION(self, op):
if self.last_emitted_operation is REMOVED:
@@ -114,14 +107,5 @@
def get_pure_result(self, key):
return self.pure_operations.get(key, None)
- def remember_emitting_pure(self, op):
- if self.optimizer.exporting_state:
- op = self.optimizer.get_op_replacement(op)
- self.emitted_pure_operations[op] = True
-
- def produce_potential_short_preamble_ops(self, sb):
- for op in self.emitted_pure_operations:
- sb.add_potential(op)
-
dispatch_opt = make_dispatcher_method(OptPure, 'optimize_',
default=OptPure.optimize_default)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit