[pypy-commit] pypy stmgc-c4: fix previous fix for debug_merge_point (always turned inevitable)

Raemi noreply at buildbot.pypy.org
Tue Oct 29 10:55:20 CET 2013


Author: Remi Meier <remi.meier at gmail.com>
Branch: stmgc-c4
Changeset: r67684:c42ba7a70b35
Date: 2013-10-29 09:31 +0100
http://bitbucket.org/pypy/pypy/changeset/c42ba7a70b35/

Log:	fix previous fix for debug_merge_point (always turned inevitable)

diff --git a/rpython/jit/backend/llsupport/stmrewrite.py b/rpython/jit/backend/llsupport/stmrewrite.py
--- a/rpython/jit/backend/llsupport/stmrewrite.py
+++ b/rpython/jit/backend/llsupport/stmrewrite.py
@@ -49,13 +49,14 @@
                             -124): # FORCE_SPILL
                     self.newops.append(op)
                     continue
-            if opnum == rop.INCREMENT_DEBUG_COUNTER:
+            if opnum in (rop.INCREMENT_DEBUG_COUNTER,
+                         rop.DEBUG_MERGE_POINT):
                 self.newops.append(op)
                 continue
             # ----------  ptr_eq  ----------
             if opnum in (rop.PTR_EQ, rop.INSTANCE_PTR_EQ,
                          rop.PTR_NE, rop.INSTANCE_PTR_NE):
-                self.handle_ptr_eq(op)
+                self.newops.append(op)
                 continue
             # ----------  guard_class  ----------
             if opnum == rop.GUARD_CLASS:
@@ -338,9 +339,6 @@
     def _is_null(self, box):
         return isinstance(box, ConstPtr) and not box.value
 
-    def handle_ptr_eq(self, op):
-        self.newops.append(op)
-
     def maybe_handle_raw_accesses(self, op):
         from rpython.jit.backend.llsupport.descr import FieldDescr
         descr = op.getdescr()
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
@@ -410,14 +410,8 @@
 
     def consider_guard_value(self, op):
         args = op.getarglist()
-        if args[0].type == REF:
-            assert args[1].type == REF
-            # move both args to reg or immed
-            x = self.make_sure_var_in_reg(args[0], args)
-            y = self.make_sure_var_in_reg(args[1], args)
-        else:
-            x = self.make_sure_var_in_reg(args[0], args)
-            y = self.loc(args[1])
+        x = self.make_sure_var_in_reg(args[0], args)
+        y = self.loc(args[1])
         self.perform_guard(op, [x, y], None)
 
     def consider_guard_class(self, op):


More information about the pypy-commit mailing list