comparison src/cpu/x86/vm/sharedRuntime_x86_32.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 dc7f315e41f7
children afa80fa86d22
comparison
equal deleted inserted replaced
609:ea20d7ce26b0 610:70998f2e05ef
1530 __ call_VM_leaf( 1530 __ call_VM_leaf(
1531 CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_method_entry), 1531 CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_method_entry),
1532 thread, rax); 1532 thread, rax);
1533 } 1533 }
1534 1534
1535 // RedefineClasses() tracing support for obsolete method entry
1536 if (RC_TRACE_IN_RANGE(0x00001000, 0x00002000)) {
1537 __ movoop(rax, JNIHandles::make_local(method()));
1538 __ call_VM_leaf(
1539 CAST_FROM_FN_PTR(address, SharedRuntime::rc_trace_method_entry),
1540 thread, rax);
1541 }
1542
1535 1543
1536 // These are register definitions we need for locking/unlocking 1544 // These are register definitions we need for locking/unlocking
1537 const Register swap_reg = rax; // Must use rax, for cmpxchg instruction 1545 const Register swap_reg = rax; // Must use rax, for cmpxchg instruction
1538 const Register obj_reg = rcx; // Will contain the oop 1546 const Register obj_reg = rcx; // Will contain the oop
1539 const Register lock_reg = rdx; // Address of compiler lock object (BasicLock) 1547 const Register lock_reg = rdx; // Address of compiler lock object (BasicLock)