1504 CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_method_entry), |
1504 CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_method_entry), |
1505 r15_thread, c_rarg1); |
1505 r15_thread, c_rarg1); |
1506 restore_args(masm, total_c_args, c_arg, out_regs); |
1506 restore_args(masm, total_c_args, c_arg, out_regs); |
1507 } |
1507 } |
1508 |
1508 |
|
1509 // RedefineClasses() tracing support for obsolete method entry |
|
1510 if (RC_TRACE_IN_RANGE(0x00001000, 0x00002000)) { |
|
1511 // protect the args we've loaded |
|
1512 save_args(masm, total_c_args, c_arg, out_regs); |
|
1513 __ movoop(c_rarg1, JNIHandles::make_local(method())); |
|
1514 __ call_VM_leaf( |
|
1515 CAST_FROM_FN_PTR(address, SharedRuntime::rc_trace_method_entry), |
|
1516 r15_thread, c_rarg1); |
|
1517 restore_args(masm, total_c_args, c_arg, out_regs); |
|
1518 } |
|
1519 |
1509 // Lock a synchronized method |
1520 // Lock a synchronized method |
1510 |
1521 |
1511 // Register definitions used by locking and unlocking |
1522 // Register definitions used by locking and unlocking |
1512 |
1523 |
1513 const Register swap_reg = rax; // Must use rax for cmpxchg instruction |
1524 const Register swap_reg = rax; // Must use rax for cmpxchg instruction |