Please review fix for 7195867: NPG: SAJDI tests fail with sun.jvm.hotspot.types.WrongTypeException: No,suitable match for type

Coleen Phillimore coleen.phillimore at
Wed Sep 5 16:27:20 PDT 2012

How about this version - hit reload.   I think it makes it more obvious.

On 9/5/2012 5:37 PM, John Coomes wrote:
> Coleen Phillimore (coleen.phillimore at wrote:
>> Summary: Need to restore the vtable in metadata when we restore the type
>> from the shared archive.
>> When dumping the shared archive all the C++ vtables are patched to be a
>> piece of code that inserts the actual vtable in the type, and calls
>> through the actual vtable to where the function was restored.   SA uses
>> the address of the vtable to determine which metadata type it is looking
>> at.  By calling one virtual function during restore, we can restore the
>> c++ vtable to the actual one so SA can match it.
> This code is executed solely to trigger a non-obvious side effect; i'd
> like to see that made much more explicit (preferably in the code, but
> at least in a comment).  Otherwise, I'm sure someone will be tempted
> to remove the "useless" guarantee someday.
> In the code you can add a simple method (e.g., restore_vtable() or
> similar) that wraps the virtual call.
> Aside from that, looks good.
> -John
>> (systemDictionary is a whitespace change).
>> Tested sajdi tests.
>> Thanks,
>> Coleen

More information about the hotspot-dev mailing list