mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 23:04:50 +02:00
7195867: NPG: SAJDI tests fail with sun.jvm.hotspot.types.WrongTypeException: No suitable match for type
Need to restore the vtable in metadata when we restore the type from the shared archive. Reviewed-by: acorn, jcoomes, jmasa, jrose
This commit is contained in:
parent
f3b6368c39
commit
8536f548db
6 changed files with 22 additions and 4 deletions
|
@ -168,9 +168,16 @@ class Method : public Metadata {
|
|||
TRAPS);
|
||||
|
||||
Method() { assert(DumpSharedSpaces || UseSharedSpaces, "only for CDS"); }
|
||||
|
||||
// The Method vtable is restored by this call when the Method is in the
|
||||
// shared archive. See patch_klass_vtables() in metaspaceShared.cpp for
|
||||
// all the gory details. SA, dtrace and pstack helpers distinguish metadata
|
||||
// by their vtable.
|
||||
void restore_vtable() { guarantee(is_method(), "vtable restored by this call"); }
|
||||
bool is_method() const volatile { return true; }
|
||||
|
||||
// accessors for instance variables
|
||||
|
||||
ConstMethod* constMethod() const { return _constMethod; }
|
||||
void set_constMethod(ConstMethod* xconst) { _constMethod = xconst; }
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue