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:
Coleen Phillimore 2013-08-12 17:24:54 -04:00
parent 5189d350c9
commit a25f924de6
7 changed files with 109 additions and 184 deletions

View file

@ -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);