[pypy-svn] r62471 - pypy/branch/pyjitpl5/pypy/rpython/lltypesystem

fijal at codespeak.net fijal at codespeak.net
Tue Mar 3 14:37:58 CET 2009


Author: fijal
Date: Tue Mar  3 14:37:57 2009
New Revision: 62471

Modified:
   pypy/branch/pyjitpl5/pypy/rpython/lltypesystem/rvirtualizable2.py
Log:
propagate an _always_virtual_ attribute to hints


Modified: pypy/branch/pyjitpl5/pypy/rpython/lltypesystem/rvirtualizable2.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/rpython/lltypesystem/rvirtualizable2.py	(original)
+++ pypy/branch/pyjitpl5/pypy/rpython/lltypesystem/rvirtualizable2.py	Tue Mar  3 14:37:57 2009
@@ -64,6 +64,10 @@
             self.top_of_virtualizable_hierarchy = True
         else:
             self.top_of_virtualizable_hierarchy = False
+        try:
+            self.virtuals = tuple(classdesc.classdict['_always_virtual_'].value)
+        except KeyError:
+            self.virtuals = ()
         self.accessor = VirtualizableAccessor()
 
     def _setup_repr(self):
@@ -72,7 +76,8 @@
             llfields.append(('vable_base', llmemory.Address))
             llfields.append(('vable_rti', VABLERTIPTR))
         InstanceRepr._setup_repr(self, llfields,
-                                 hints = {'virtualizable2': True},
+                                 hints = {'virtualizable2': True,
+                                          'virtuals' : self.virtuals},
                                  adtmeths = {'access': self.accessor})
         if self.top_of_virtualizable_hierarchy:
             my_redirected_fields = []



More information about the Pypy-commit mailing list