mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 23:04:50 +02:00
8008511: JSR 292: MemberName vmtarget refs to methods must be updated at class redefinition
Lazily create and maintain the MemberNameTable to be able to update MemberName's Reviewed-by: coleenp, jrose, dholmes
This commit is contained in:
parent
46b3969016
commit
87f3086e13
9 changed files with 231 additions and 58 deletions
|
@ -3284,6 +3284,16 @@ void VM_RedefineClasses::redefine_single_class(jclass the_jclass,
|
|||
// that reference methods of the evolved class.
|
||||
SystemDictionary::classes_do(adjust_cpool_cache_and_vtable, THREAD);
|
||||
|
||||
// JSR-292 support
|
||||
MemberNameTable* mnt = the_class->member_names();
|
||||
if (mnt != NULL) {
|
||||
bool trace_name_printed = false;
|
||||
mnt->adjust_method_entries(_matching_old_methods,
|
||||
_matching_new_methods,
|
||||
_matching_methods_length,
|
||||
&trace_name_printed);
|
||||
}
|
||||
|
||||
// Fix Resolution Error table also to remove old constant pools
|
||||
SystemDictionary::delete_resolution_error(old_constants);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue