Author: Remi Meier <[email protected]>
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):
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to