Author: Armin Rigo <[email protected]>
Branch: guard-compatible
Changeset: r84617:7192c4f378ca
Date: 2016-05-23 11:21 +0200
http://bitbucket.org/pypy/pypy/changeset/7192c4f378ca/
Log: Disable the counter_per_value in GUARD_COMPATIBLE, but still call
make_a_counter_per_value() from the x86 backend
diff --git a/rpython/jit/backend/x86/regalloc.py
b/rpython/jit/backend/x86/regalloc.py
--- a/rpython/jit/backend/x86/regalloc.py
+++ b/rpython/jit/backend/x86/regalloc.py
@@ -479,6 +479,7 @@
self.perform_guard(op, [x, y], None)
def consider_guard_compatible(self, op):
+ op.getdescr().make_a_counter_per_value(op, -1) # -1 not used here
args = op.getarglist()
assert args[0].type == REF # only supported case for now
assert isinstance(args[1], ConstInt) # by rewrite.py
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
@@ -1133,7 +1133,9 @@
def make_a_counter_per_value(self, guard_value_op, index):
self.failarg_index = guard_value_op.getfailargs().index(
guard_value_op.getarg(0))
- ResumeGuardDescr.make_a_counter_per_value(self, guard_value_op, index)
+ # this is not actually enabling the counter_per_value logic,
+ # which right now gives bad results with a GUARD_COMPATIBLE
+ #ResumeGuardDescr.make_a_counter_per_value(self, guard_value_op, index)
def repr_of_conditions(self, argrepr="?"):
if self._compatibility_conditions:
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit