comparison src/cpu/sparc/vm/sharedRuntime_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 f8199438385b
children e5b0439ef4ae
comparison
equal deleted inserted replaced
609:ea20d7ce26b0 610:70998f2e05ef
2159 CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_method_entry), 2159 CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_method_entry),
2160 G2_thread, O1); 2160 G2_thread, O1);
2161 __ restore(); 2161 __ restore();
2162 } 2162 }
2163 2163
2164 // RedefineClasses() tracing support for obsolete method entry
2165 if (RC_TRACE_IN_RANGE(0x00001000, 0x00002000)) {
2166 // create inner frame
2167 __ save_frame(0);
2168 __ mov(G2_thread, L7_thread_cache);
2169 __ set_oop_constant(JNIHandles::make_local(method()), O1);
2170 __ call_VM_leaf(L7_thread_cache,
2171 CAST_FROM_FN_PTR(address, SharedRuntime::rc_trace_method_entry),
2172 G2_thread, O1);
2173 __ restore();
2174 }
2175
2164 // We are in the jni frame unless saved_frame is true in which case 2176 // We are in the jni frame unless saved_frame is true in which case
2165 // we are in one frame deeper (the "inner" frame). If we are in the 2177 // we are in one frame deeper (the "inner" frame). If we are in the
2166 // "inner" frames the args are in the Iregs and if the jni frame then 2178 // "inner" frames the args are in the Iregs and if the jni frame then
2167 // they are in the Oregs. 2179 // they are in the Oregs.
2168 // If we ever need to go to the VM (for locking, jvmti) then 2180 // If we ever need to go to the VM (for locking, jvmti) then