8170098: AArch64: VM is extremely slow with JVMTI debugging enabled
authoraph
Mon, 21 Nov 2016 17:29:17 +0000
changeset 42582 8a46057442cd
parent 42581 2fdb039ea5b5
child 42583 b33957017897
8170098: AArch64: VM is extremely slow with JVMTI debugging enabled Reviewed-by: roland
hotspot/src/cpu/aarch64/vm/interp_masm_aarch64.cpp
--- 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);