--- old/src/hotspot/share/prims/jvmtiRedefineClasses.cpp 2018-07-10 16:07:16.529806574 -0400 +++ new/src/hotspot/share/prims/jvmtiRedefineClasses.cpp 2018-07-10 16:07:14.651121348 -0400 @@ -4098,17 +4098,14 @@ // Initialize the vtable and interface table after // methods have been rewritten - { - ResourceMark rm(THREAD); - // no exception should happen here since we explicitly - // do not check loader constraints. - // compare_and_normalize_class_versions has already checked: - // - classloaders unchanged, signatures unchanged - // - all instanceKlasses for redefined classes reused & contents updated - the_class->vtable().initialize_vtable(false, THREAD); - the_class->itable().initialize_itable(false, THREAD); - assert(!HAS_PENDING_EXCEPTION || (THREAD->pending_exception()->is_a(SystemDictionary::ThreadDeath_klass())), "redefine exception"); - } + // no exception should happen here since we explicitly + // do not check loader constraints. + // compare_and_normalize_class_versions has already checked: + // - classloaders unchanged, signatures unchanged + // - all instanceKlasses for redefined classes reused & contents updated + the_class->vtable().initialize_vtable(false, THREAD); + the_class->itable().initialize_itable(false, THREAD); + assert(!HAS_PENDING_EXCEPTION || (THREAD->pending_exception()->is_a(SystemDictionary::ThreadDeath_klass())), "redefine exception"); // Leave arrays of jmethodIDs and itable index cache unchanged