src/cpu/x86/vm/sharedRuntime_x86_64.cpp

changeset 1045
70998f2e05ef
parent 739
dc7f315e41f7
child 1047
afa80fa86d22
equal deleted inserted replaced
1044:ea20d7ce26b0 1045:70998f2e05ef
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

mercurial