equal
deleted
inserted
replaced
3215 |
3215 |
3216 // Remove all breakpoints in methods of this class |
3216 // Remove all breakpoints in methods of this class |
3217 JvmtiBreakpoints& jvmti_breakpoints = JvmtiCurrentBreakpoints::get_jvmti_breakpoints(); |
3217 JvmtiBreakpoints& jvmti_breakpoints = JvmtiCurrentBreakpoints::get_jvmti_breakpoints(); |
3218 jvmti_breakpoints.clearall_in_class_at_safepoint(the_class_oop); |
3218 jvmti_breakpoints.clearall_in_class_at_safepoint(the_class_oop); |
3219 |
3219 |
3220 if (the_class_oop == Universe::reflect_invoke_cache()->klass()) { |
|
3221 // We are redefining java.lang.reflect.Method. Method.invoke() is |
|
3222 // cached and users of the cache care about each active version of |
|
3223 // the method so we have to track this previous version. |
|
3224 // Do this before methods get switched |
|
3225 Universe::reflect_invoke_cache()->add_previous_version( |
|
3226 the_class->method_with_idnum(Universe::reflect_invoke_cache()->method_idnum())); |
|
3227 } |
|
3228 |
|
3229 // Deoptimize all compiled code that depends on this class |
3220 // Deoptimize all compiled code that depends on this class |
3230 flush_dependent_code(the_class, THREAD); |
3221 flush_dependent_code(the_class, THREAD); |
3231 |
3222 |
3232 _old_methods = the_class->methods(); |
3223 _old_methods = the_class->methods(); |
3233 _new_methods = scratch_class->methods(); |
3224 _new_methods = scratch_class->methods(); |