8170098: AArch64: VM is extremely slow with JVMTI debugging enabled
Reviewed-by: roland
--- a/hotspot/src/cpu/aarch64/vm/interp_masm_aarch64.cpp Mon Nov 21 09:33:06 2016 +0100
+++ b/hotspot/src/cpu/aarch64/vm/interp_masm_aarch64.cpp Mon Nov 21 17:29:17 2016 +0000
@@ -407,10 +407,8 @@
// JVMTI events, such as single-stepping, are implemented partly by avoiding running
// compiled code in threads for which the event is enabled. Check here for
// interp_only_mode if these events CAN be enabled.
- // interp_only is an int, on little endian it is sufficient to test the byte only
- // Is a cmpl faster?
- ldr(rscratch1, Address(rthread, JavaThread::interp_only_mode_offset()));
- cbz(rscratch1, run_compiled_code);
+ ldrw(rscratch1, Address(rthread, JavaThread::interp_only_mode_offset()));
+ cbzw(rscratch1, run_compiled_code);
ldr(rscratch1, Address(method, Method::interpreter_entry_offset()));
br(rscratch1);
bind(run_compiled_code);