Author: Remi Meier <[email protected]>
Branch: stmgc-c4
Changeset: r66014:dba65ecc13b8
Date: 2013-08-06 10:15 +0200
http://bitbucket.org/pypy/pypy/changeset/dba65ecc13b8/

Log:    reenable gcremovetypeptr. seems to work now

diff --git a/rpython/config/translationoption.py 
b/rpython/config/translationoption.py
--- a/rpython/config/translationoption.py
+++ b/rpython/config/translationoption.py
@@ -75,7 +75,7 @@
                      "minimark": [("translation.gctransformer", "framework")],
                      "stmgc": [("translation.gctransformer", "framework"),
                                ("translation.gcrootfinder", "stm"),
-                               ("translation.gcremovetypeptr", False)],
+                               ("translation.gcremovetypeptr", True)],
                      },
                  suggests = {
                      },
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
@@ -53,6 +53,13 @@
                                  rop.PTR_NE, rop.INSTANCE_PTR_NE):
                 self.handle_ptr_eq(op)
                 continue
+            # ----------  guard_class  ----------
+            if op.getopnum() == rop.GUARD_CLASS:
+                assert self.cpu.vtable_offset is None
+                # requires gcremovetypeptr translation option
+                # uses h_tid which doesn't need a read-barrier
+                self.newops.append(op)
+                continue
             # ----------  pure operations, guards  ----------
             if op.is_always_pure() or op.is_guard() or op.is_ovf():
                 self.newops.append(op)
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to