[pypy-svn] r27628 - pypy/dist/pypy/translator/stackless

arigo at codespeak.net arigo at codespeak.net
Tue May 23 18:37:07 CEST 2006


Author: arigo
Date: Tue May 23 18:37:07 2006
New Revision: 27628

Modified:
   pypy/dist/pypy/translator/stackless/frame.py
Log:
Add WeakGcAddress support in the stackless transformer.  Tests were
already checked in (and failing!): test_framework_weakref* in newgc.



Modified: pypy/dist/pypy/translator/stackless/frame.py
==============================================================================
--- pypy/dist/pypy/translator/stackless/frame.py	(original)
+++ pypy/dist/pypy/translator/stackless/frame.py	Tue May 23 18:37:07 2006
@@ -14,13 +14,15 @@
 null_saved_ref = lltype.nullptr(SAVED_REFERENCE.TO)
 
 STORAGE_TYPES = [lltype.Void, SAVED_REFERENCE, llmemory.Address,
-                 lltype.Signed, lltype.Float, lltype.SignedLongLong]
+                 lltype.Signed, lltype.Float, lltype.SignedLongLong,
+                 llmemory.WeakGcAddress]
 
 STORAGE_FIELDS = {SAVED_REFERENCE: 'ref',
                   llmemory.Address: 'addr',
                   lltype.Signed: 'long',
                   lltype.Float: 'float',
                   lltype.SignedLongLong: 'longlong',
+                  llmemory.WeakGcAddress: 'weak',
                   }
 
 RETVAL_VOID = 0
@@ -43,6 +45,8 @@
         return lltype.SignedLongLong
     elif T is llmemory.Address:
         return llmemory.Address
+    elif T is llmemory.WeakGcAddress:
+        return llmemory.WeakGcAddress
     elif isinstance(T, lltype.Primitive):
         return lltype.Signed
     else:



More information about the Pypy-commit mailing list