[pypy-commit] pypy share-guard-info: share up to 5 guards
fijal
noreply at buildbot.pypy.org
Tue Sep 15 09:16:05 CEST 2015
Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: share-guard-info
Changeset: r79642:c06257c68c32
Date: 2015-09-15 09:16 +0200
http://bitbucket.org/pypy/pypy/changeset/c06257c68c32/
Log: share up to 5 guards
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
@@ -573,13 +573,15 @@
return
else:
guard_op = self.replace_op_with(op, op.getopnum())
- if self._last_guard_op:
+ if self._last_guard_op and self._last_guard_count < 5:
op = self._copy_resume_data_from(guard_op,
self._last_guard_op)
+ self._last_guard_count += 1
else:
op = self.store_final_boxes_in_guard(guard_op,
pendingfields)
self._last_guard_op = op
+ self._last_guard_count = 0
# for unrolling
for farg in op.getfailargs():
if farg:
More information about the pypy-commit
mailing list