hotspot/src/cpu/aarch64/vm/compiledIC_aarch64.cpp
changeset 33198 b37ad9fbf681
parent 33160 c59f1676d27e
child 38035 a6105022c551
equal deleted inserted replaced
33155:73bf16b22e89 33198:b37ad9fbf681
    49 }
    49 }
    50 
    50 
    51 // ----------------------------------------------------------------------------
    51 // ----------------------------------------------------------------------------
    52 
    52 
    53 #define __ _masm.
    53 #define __ _masm.
    54 address CompiledStaticCall::emit_to_interp_stub(CodeBuffer &cbuf) {
    54 address CompiledStaticCall::emit_to_interp_stub(CodeBuffer &cbuf, address mark) {
    55   // Stub is fixed up when the corresponding call is converted from
    55   // Stub is fixed up when the corresponding call is converted from
    56   // calling compiled code to calling interpreted code.
    56   // calling compiled code to calling interpreted code.
    57   // mov rmethod, 0
    57   // mov rmethod, 0
    58   // jmp -4 # to self
    58   // jmp -4 # to self
    59 
    59 
    60   address mark = cbuf.insts_mark();  // Get mark within main instrs section.
    60   if (mark == NULL) {
       
    61     mark = cbuf.insts_mark();  // Get mark within main instrs section.
       
    62   }
    61 
    63 
    62   // Note that the code buffer's insts_mark is always relative to insts.
    64   // Note that the code buffer's insts_mark is always relative to insts.
    63   // That's why we must use the macroassembler to generate a stub.
    65   // That's why we must use the macroassembler to generate a stub.
    64   MacroAssembler _masm(&cbuf);
    66   MacroAssembler _masm(&cbuf);
    65 
    67