[pypy-commit] pypy stmgc-c4: reenable gcremovetypeptr. seems to work now
Raemi
noreply at buildbot.pypy.org
Thu Aug 8 16:15:13 CEST 2013
Author: Remi Meier <remi.meier at gmail.com>
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)
More information about the pypy-commit
mailing list