Mercurial > hg > truffle
comparison src/cpu/sparc/vm/interp_masm_sparc.cpp @ 610:70998f2e05ef
6805864: 4/3 Problem with jvmti->redefineClasses: some methods don't get redefined
Summary: Remove incorrect optimization in klassItable::adjust_method_entries(). Add RedefineClasses() tracing support for obsolete method entry.
Reviewed-by: acorn, swamyv
author | dcubed |
---|---|
date | Mon, 02 Mar 2009 14:03:03 -0700 |
parents | 05db98ed59ba |
children | 3db67f76d308 |
comparison
equal
deleted
inserted
replaced
609:ea20d7ce26b0 | 610:70998f2e05ef |
---|---|
2463 // | 2463 // |
2464 // if (thread is in interp_only_mode) { | 2464 // if (thread is in interp_only_mode) { |
2465 // InterpreterRuntime::post_method_entry(); | 2465 // InterpreterRuntime::post_method_entry(); |
2466 // } | 2466 // } |
2467 // if (DTraceMethodProbes) { | 2467 // if (DTraceMethodProbes) { |
2468 // SharedRuntime::dtrace_method_entry(method, reciever); | 2468 // SharedRuntime::dtrace_method_entry(method, receiver); |
2469 // } | |
2470 // if (RC_TRACE_IN_RANGE(0x00001000, 0x00002000)) { | |
2471 // SharedRuntime::rc_trace_method_entry(method, receiver); | |
2469 // } | 2472 // } |
2470 | 2473 |
2471 void InterpreterMacroAssembler::notify_method_entry() { | 2474 void InterpreterMacroAssembler::notify_method_entry() { |
2472 | 2475 |
2473 // C++ interpreter only uses this for native methods. | 2476 // C++ interpreter only uses this for native methods. |
2493 { | 2496 { |
2494 Register temp_reg = O5; | 2497 Register temp_reg = O5; |
2495 SkipIfEqual skip_if(this, temp_reg, &DTraceMethodProbes, zero); | 2498 SkipIfEqual skip_if(this, temp_reg, &DTraceMethodProbes, zero); |
2496 call_VM_leaf(noreg, | 2499 call_VM_leaf(noreg, |
2497 CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_method_entry), | 2500 CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_method_entry), |
2501 G2_thread, Lmethod); | |
2502 } | |
2503 | |
2504 // RedefineClasses() tracing support for obsolete method entry | |
2505 if (RC_TRACE_IN_RANGE(0x00001000, 0x00002000)) { | |
2506 call_VM_leaf(noreg, | |
2507 CAST_FROM_FN_PTR(address, SharedRuntime::rc_trace_method_entry), | |
2498 G2_thread, Lmethod); | 2508 G2_thread, Lmethod); |
2499 } | 2509 } |
2500 } | 2510 } |
2501 | 2511 |
2502 | 2512 |