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

Reply via email to