diff -r 73bf16b22e89 -r b37ad9fbf681 hotspot/src/cpu/aarch64/vm/compiledIC_aarch64.cpp --- a/hotspot/src/cpu/aarch64/vm/compiledIC_aarch64.cpp Thu Oct 15 13:28:22 2015 +0200 +++ b/hotspot/src/cpu/aarch64/vm/compiledIC_aarch64.cpp Sat Oct 17 19:40:30 2015 -0400 @@ -51,13 +51,15 @@ // ---------------------------------------------------------------------------- #define __ _masm. -address CompiledStaticCall::emit_to_interp_stub(CodeBuffer &cbuf) { +address CompiledStaticCall::emit_to_interp_stub(CodeBuffer &cbuf, address mark) { // Stub is fixed up when the corresponding call is converted from // calling compiled code to calling interpreted code. // mov rmethod, 0 // jmp -4 # to self - address mark = cbuf.insts_mark(); // Get mark within main instrs section. + if (mark == NULL) { + mark = cbuf.insts_mark(); // Get mark within main instrs section. + } // Note that the code buffer's insts_mark is always relative to insts. // That's why we must use the macroassembler to generate a stub.