On 11/1/06, Rana Dasgupta <[EMAIL PROTECTED]> wrote:
Maybe for GC's that don't support pinning, the JIT can compare object->vtable->class for guarded devirtiualization, or even not do guarded devirtualization, sort of support the GC in downlevel mode
I think this is not a long term solution for a JIT. IMO the best solutions for a JIT with unpinned vtables would be 1) Short term: turn devirtualization off (As Egor has proposed) 2) Long term: patch devirtualization calls when GC moves object (usual enumeration routine) Storing vtable in the object without additional indirection in memory is important from the performance POV. -- Mikhail Fursov