Author: Remi Meier
Branch: stmgc-c7
Changeset: r69961:71769371cb0b
Date: 2014-03-14 17:41 +0100
http://bitbucket.org/pypy/pypy/changeset/71769371cb0b/

Log:    remove 'weakref_deref' from stm_read-exceptions

diff --git a/rpython/translator/stm/readbarrier.py 
b/rpython/translator/stm/readbarrier.py
--- a/rpython/translator/stm/readbarrier.py
+++ b/rpython/translator/stm/readbarrier.py
@@ -61,10 +61,13 @@
                 op.args[0].concretetype.TO._hints.get('typeptr')):
                 # typeptr is always immutable
                 pass
-            elif ((op.opname in ('getarraysize', 'getinteriorarraysize', 
'weakref_deref') and
+            elif ((op.opname in ('getarraysize', 'getinteriorarraysize') and
                   is_gc_ptr(op.args[0].concretetype)) or
                   (is_getter and is_immutable(op))):
                 # immutable getters
+                # 'weakref_deref': kind of immutable, but the GC has to see
+                #     which transactions read from a dying weakref, so we
+                #     need the barrier nonetheless...
                 pass
             elif is_getter:
                 if not stm_ignored:
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to