mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 23:04:50 +02:00
8009728: nsk/jvmti/AttachOnDemand/attach030 crashes on Win32
ActiveMethodOopsCache was used to keep track of old versions of some methods that are cached in Universe but is buggy with permgen removal and not needed anymore Reviewed-by: sspitsyn, dcubed, mseledtsov
This commit is contained in:
parent
5189d350c9
commit
a25f924de6
7 changed files with 109 additions and 184 deletions
|
@ -3217,15 +3217,6 @@ void VM_RedefineClasses::redefine_single_class(jclass the_jclass,
|
|||
JvmtiBreakpoints& jvmti_breakpoints = JvmtiCurrentBreakpoints::get_jvmti_breakpoints();
|
||||
jvmti_breakpoints.clearall_in_class_at_safepoint(the_class_oop);
|
||||
|
||||
if (the_class_oop == Universe::reflect_invoke_cache()->klass()) {
|
||||
// We are redefining java.lang.reflect.Method. Method.invoke() is
|
||||
// cached and users of the cache care about each active version of
|
||||
// the method so we have to track this previous version.
|
||||
// Do this before methods get switched
|
||||
Universe::reflect_invoke_cache()->add_previous_version(
|
||||
the_class->method_with_idnum(Universe::reflect_invoke_cache()->method_idnum()));
|
||||
}
|
||||
|
||||
// Deoptimize all compiled code that depends on this class
|
||||
flush_dependent_code(the_class, THREAD);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue