@@ -1638,14 +1638,8 @@ nmethod* SharedRuntime::generate_native_wrapper(MacroAssembler* masm,
16381638 __ set_last_Java_frame (sp, noreg, native_return, t0);
16391639
16401640 Label dtrace_method_entry, dtrace_method_entry_done;
1641- {
1642- ExternalAddress target ((address)&DTraceMethodProbes);
1643- __ relocate (target.rspec (), [&] {
1644- int32_t offset;
1645- __ la (t0, target.target (), offset);
1646- __ lbu (t0, Address (t0, offset));
1647- });
1648- __ bnez (t0, dtrace_method_entry);
1641+ if (DTraceMethodProbes) {
1642+ __ j (dtrace_method_entry);
16491643 __ bind (dtrace_method_entry_done);
16501644 }
16511645
@@ -1861,14 +1855,8 @@ nmethod* SharedRuntime::generate_native_wrapper(MacroAssembler* masm,
18611855 }
18621856
18631857 Label dtrace_method_exit, dtrace_method_exit_done;
1864- {
1865- ExternalAddress target ((address)&DTraceMethodProbes);
1866- __ relocate (target.rspec (), [&] {
1867- int32_t offset;
1868- __ la (t0, target.target (), offset);
1869- __ lbu (t0, Address (t0, offset));
1870- });
1871- __ bnez (t0, dtrace_method_exit);
1858+ if (DTraceMethodProbes) {
1859+ __ j (dtrace_method_exit);
18721860 __ bind (dtrace_method_exit_done);
18731861 }
18741862
@@ -2009,34 +1997,36 @@ nmethod* SharedRuntime::generate_native_wrapper(MacroAssembler* masm,
20091997 }
20101998
20111999 // SLOW PATH dtrace support
2012- {
2013- __ block_comment (" dtrace entry {" );
2014- __ bind (dtrace_method_entry);
2015-
2016- // We have all of the arguments setup at this point. We must not touch any register
2017- // argument registers at this point (what if we save/restore them there are no oop?
2018-
2019- save_args (masm, total_c_args, c_arg, out_regs);
2020- __ mov_metadata (c_rarg1, method ());
2021- __ call_VM_leaf (
2022- CAST_FROM_FN_PTR (address, SharedRuntime::dtrace_method_entry),
2023- xthread, c_rarg1);
2024- restore_args (masm, total_c_args, c_arg, out_regs);
2025- __ j (dtrace_method_entry_done);
2026- __ block_comment (" } dtrace entry" );
2027- }
2000+ if (DTraceMethodProbes) {
2001+ {
2002+ __ block_comment (" dtrace entry {" );
2003+ __ bind (dtrace_method_entry);
2004+
2005+ // We have all of the arguments setup at this point. We must not touch any register
2006+ // argument registers at this point (what if we save/restore them there are no oop?
2007+
2008+ save_args (masm, total_c_args, c_arg, out_regs);
2009+ __ mov_metadata (c_rarg1, method ());
2010+ __ call_VM_leaf (
2011+ CAST_FROM_FN_PTR (address, SharedRuntime::dtrace_method_entry),
2012+ xthread, c_rarg1);
2013+ restore_args (masm, total_c_args, c_arg, out_regs);
2014+ __ j (dtrace_method_entry_done);
2015+ __ block_comment (" } dtrace entry" );
2016+ }
20282017
2029- {
2030- __ block_comment (" dtrace exit {" );
2031- __ bind (dtrace_method_exit);
2032- save_native_result (masm, ret_type, stack_slots);
2033- __ mov_metadata (c_rarg1, method ());
2034- __ call_VM_leaf (
2035- CAST_FROM_FN_PTR (address, SharedRuntime::dtrace_method_exit),
2036- xthread, c_rarg1);
2037- restore_native_result (masm, ret_type, stack_slots);
2038- __ j (dtrace_method_exit_done);
2039- __ block_comment (" } dtrace exit" );
2018+ {
2019+ __ block_comment (" dtrace exit {" );
2020+ __ bind (dtrace_method_exit);
2021+ save_native_result (masm, ret_type, stack_slots);
2022+ __ mov_metadata (c_rarg1, method ());
2023+ __ call_VM_leaf (
2024+ CAST_FROM_FN_PTR (address, SharedRuntime::dtrace_method_exit),
2025+ xthread, c_rarg1);
2026+ restore_native_result (masm, ret_type, stack_slots);
2027+ __ j (dtrace_method_exit_done);
2028+ __ block_comment (" } dtrace exit" );
2029+ }
20402030 }
20412031
20422032 __ flush ();
0 commit comments