On the 0x20D day of Apache Harmony Mikhail Fursov wrote: > On 10/25/06, Aleksey Ignatenko <[EMAIL PROTECTED]> wrote: > > > > Egor, > > >But it has 1 more "cons" -- JIT should change it's devirtualizer > > >accordingly to the VTable change. Doable, of course. > > There is no need to change struct VTable structure - it could be simply > > inlined in pinned VTable object + 1 additional reference field to > > j.l.Class. > > So there won't be too much work to do on JIT side. > > > +1 for "Automatic class unloading approach". > But, please, keep vtables pinned in the first version. If you make vtable > objects unpinned JIT have to track if the object is moved and patch all > devirtualized calls (not a simple task..).
hm, keeping VTable pointers on operands (and reporting them in root sets) solves the problem. That slightly increases register pressure, but I think is a better solution than pinning VTables (and rather straightforward). -- Egor Pasko, Intel Managed Runtime Division