# HG changeset patch # User aph # Date 1542126092 18000 # Tue Nov 13 11:21:32 2018 -0500 # Node ID 5e27845bf1ca204636be29af3d72220dbb539222 # Parent 26810c5fe2901ac8c41ed6925878096ab7be298d 8209415: Fix JVMTI test failure HS202 Summary: Fix test for static method in exception throw handler Reviewed-by: adinn diff --git a/src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp b/src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp --- a/src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp +++ b/src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp @@ -1912,8 +1912,8 @@ Label L_done; __ ldrb(rscratch1, Address(rbcp, 0)); - __ cmpw(r1, Bytecodes::_invokestatic); - __ br(Assembler::EQ, L_done); + __ cmpw(rscratch1, Bytecodes::_invokestatic); + __ br(Assembler::NE, L_done); // The member name argument must be restored if _invokestatic is re-executed after a PopFrame call. // Detect such a case in the InterpreterRuntime function and return the member name argument, or NULL. @@ -1948,7 +1948,6 @@ // remove the activation (without doing throws on illegalMonitorExceptions) __ remove_activation(vtos, false, true, false); // restore exception - // restore exception __ get_vm_result(r0, rthread); // In between activations - previous activation type unknown yet @@ -1957,9 +1956,8 @@ // // r0: exception // lr: return address/pc that threw exception - // rsp: expression stack of caller + // esp: expression stack of caller // rfp: fp of caller - // FIXME: There's no point saving LR here because VM calls don't trash it __ stp(r0, lr, Address(__ pre(sp, -2 * wordSize))); // save exception & return address __ super_call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::exception_handler_for_return_address),