[pypy-svn] r75953 - pypy/branch/reflex-support/pypy/jit/backend/llsupport

cfbolz at codespeak.net cfbolz at codespeak.net
Wed Jul 7 10:25:40 CEST 2010


Author: cfbolz
Date: Wed Jul  7 10:25:38 2010
New Revision: 75953

Modified:
   pypy/branch/reflex-support/pypy/jit/backend/llsupport/descr.py
Log:
(arigo, cfbolz): add some sanity asserts to check that C arrays don't need a
typeid. don't try to get a typeid for raw arrays.


Modified: pypy/branch/reflex-support/pypy/jit/backend/llsupport/descr.py
==============================================================================
--- pypy/branch/reflex-support/pypy/jit/backend/llsupport/descr.py	(original)
+++ pypy/branch/reflex-support/pypy/jit/backend/llsupport/descr.py	Wed Jul  7 10:25:38 2010
@@ -23,10 +23,10 @@
         self._cache_call = {}
 
     def init_size_descr(self, STRUCT, sizedescr):
-        pass
+        assert isinstance(STRUCT, lltype.GcStruct)
 
     def init_array_descr(self, ARRAY, arraydescr):
-        pass
+        assert isinstance(ARRAY, lltype.GcArray)
 
 
 # ____________________________________________________________
@@ -205,7 +205,8 @@
         assert basesize == arraydescr.get_base_size(False)
         assert itemsize == arraydescr.get_item_size(False)
         assert ofslength == arraydescr.get_ofs_length(False)
-        gccache.init_array_descr(ARRAY, arraydescr)
+        if isinstance(ARRAY, lltype.GcArray):
+            gccache.init_array_descr(ARRAY, arraydescr)
         cache[ARRAY] = arraydescr
         return arraydescr
 



More information about the Pypy-commit mailing list