At 4:51 PM +0100 3/4/04, Leopold Toetsch wrote:
Dan Sugalski wrote:

It'd be simple enough to do--prepend a PObj front to the vtables and allocate the vtables themselves out of a separate managed arena, and do a bit of custom mark noting. This'd make collecting up unused vtables easy enough. The downside to this is it means we add in a *lot* of extra pointer traversal, as we add in an extra live pointer for every live PMC in the system.

It's a lot of extra work for the DOD. I'm up for it if we have to, but I'd prefer to not do it if we don't have to.

Rather not. But if we have to allocate a separate vtable, we should set a flag in the vtable->flags, mark the PMC as special, so that destroy can free the vtable.

That works for one-off vtables, but doesn't work in the case of shared vtables. Those may happen if we allow unloading of classes, but I think I've a way around that one. I think.
--
Dan


--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                      teddy bears get drunk

Reply via email to