8209414: AArch64: method handle invocation does not respect JVMTI interp_only mode
Reviewed-by: adinn
Contributed-by: nick.gasson@arm.com
--- a/src/hotspot/cpu/aarch64/methodHandles_aarch64.cpp Wed Dec 19 11:48:34 2018 +0100
+++ b/src/hotspot/cpu/aarch64/methodHandles_aarch64.cpp Wed Dec 19 11:45:54 2018 +0000
@@ -105,8 +105,8 @@
// compiled code in threads for which the event is enabled. Check here for
// interp_only_mode if these events CAN be enabled.
- __ ldrb(rscratch1, Address(rthread, JavaThread::interp_only_mode_offset()));
- __ cbnz(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);