@@ -1754,11 +1754,8 @@ nmethod* SharedRuntime::generate_native_wrapper(MacroAssembler* masm,
17541754 __ set_last_Java_frame (sp, noreg, native_return, rscratch1);
17551755
17561756 Label dtrace_method_entry, dtrace_method_entry_done;
1757- {
1758- uint64_t offset;
1759- __ adrp (rscratch1, ExternalAddress ((address)&DTraceMethodProbes), offset);
1760- __ ldrb (rscratch1, Address (rscratch1, offset));
1761- __ cbnzw (rscratch1, dtrace_method_entry);
1757+ if (DTraceMethodProbes) {
1758+ __ b (dtrace_method_entry);
17621759 __ bind (dtrace_method_entry_done);
17631760 }
17641761
@@ -1990,11 +1987,8 @@ nmethod* SharedRuntime::generate_native_wrapper(MacroAssembler* masm,
19901987 }
19911988
19921989 Label dtrace_method_exit, dtrace_method_exit_done;
1993- {
1994- uint64_t offset;
1995- __ adrp (rscratch1, ExternalAddress ((address)&DTraceMethodProbes), offset);
1996- __ ldrb (rscratch1, Address (rscratch1, offset));
1997- __ cbnzw (rscratch1, dtrace_method_exit);
1990+ if (DTraceMethodProbes) {
1991+ __ b (dtrace_method_exit);
19981992 __ bind (dtrace_method_exit_done);
19991993 }
20001994
@@ -2138,37 +2132,38 @@ nmethod* SharedRuntime::generate_native_wrapper(MacroAssembler* masm,
21382132 }
21392133
21402134 // SLOW PATH dtrace support
2141- {
2142- __ block_comment (" dtrace entry {" );
2143- __ bind (dtrace_method_entry);
2144-
2145- // We have all of the arguments setup at this point. We must not touch any register
2146- // argument registers at this point (what if we save/restore them there are no oop?
2147-
2148- save_args (masm, total_c_args, c_arg, out_regs);
2149- __ mov_metadata (c_rarg1, method ());
2150- __ call_VM_leaf (
2151- CAST_FROM_FN_PTR (address, SharedRuntime::dtrace_method_entry),
2152- rthread, c_rarg1);
2153- restore_args (masm, total_c_args, c_arg, out_regs);
2154- __ b (dtrace_method_entry_done);
2155- __ block_comment (" } dtrace entry" );
2156- }
2135+ if (DTraceMethodProbes) {
2136+ {
2137+ __ block_comment (" dtrace entry {" );
2138+ __ bind (dtrace_method_entry);
2139+
2140+ // We have all of the arguments setup at this point. We must not touch any register
2141+ // argument registers at this point (what if we save/restore them there are no oop?
2142+
2143+ save_args (masm, total_c_args, c_arg, out_regs);
2144+ __ mov_metadata (c_rarg1, method ());
2145+ __ call_VM_leaf (
2146+ CAST_FROM_FN_PTR (address, SharedRuntime::dtrace_method_entry),
2147+ rthread, c_rarg1);
2148+ restore_args (masm, total_c_args, c_arg, out_regs);
2149+ __ b (dtrace_method_entry_done);
2150+ __ block_comment (" } dtrace entry" );
2151+ }
21572152
2158- {
2159- __ block_comment (" dtrace exit {" );
2160- __ bind (dtrace_method_exit);
2161- save_native_result (masm, ret_type, stack_slots);
2162- __ mov_metadata (c_rarg1, method ());
2163- __ call_VM_leaf (
2164- CAST_FROM_FN_PTR (address, SharedRuntime::dtrace_method_exit),
2165- rthread, c_rarg1);
2166- restore_native_result (masm, ret_type, stack_slots);
2167- __ b (dtrace_method_exit_done);
2168- __ block_comment (" } dtrace exit" );
2153+ {
2154+ __ block_comment (" dtrace exit {" );
2155+ __ bind (dtrace_method_exit);
2156+ save_native_result (masm, ret_type, stack_slots);
2157+ __ mov_metadata (c_rarg1, method ());
2158+ __ call_VM_leaf (
2159+ CAST_FROM_FN_PTR (address, SharedRuntime::dtrace_method_exit),
2160+ rthread, c_rarg1);
2161+ restore_native_result (masm, ret_type, stack_slots);
2162+ __ b (dtrace_method_exit_done);
2163+ __ block_comment (" } dtrace exit" );
2164+ }
21692165 }
21702166
2171-
21722167 __ flush ();
21732168
21742169 nmethod *nm = nmethod::new_native_nmethod (method,
0 commit comments