< prev index next >

src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp

Print this page
rev 54011 : 8219993: AArch64: Compiled CI stubs are unsafely modified
Reviewed-by: adinn

*** 32,41 **** --- 32,42 ---- #include "c1/c1_MacroAssembler.hpp" #include "c1/c1_Runtime1.hpp" #include "c1/c1_ValueStack.hpp" #include "ci/ciArrayKlass.hpp" #include "ci/ciInstance.hpp" + #include "code/compiledIC.hpp" #include "gc/shared/barrierSet.hpp" #include "gc/shared/cardTableBarrierSet.hpp" #include "gc/shared/collectedHeap.hpp" #include "nativeInst_aarch64.hpp" #include "oops/objArrayKlass.hpp"
*** 2061,2075 **** } int start = __ offset(); __ relocate(static_stub_Relocation::spec(call_pc)); ! __ mov_metadata(rmethod, (Metadata*)NULL); ! __ movptr(rscratch1, 0); ! __ br(rscratch1); ! assert(__ offset() - start <= call_stub_size(), "stub too big"); __ end_a_stub(); } void LIR_Assembler::throw_op(LIR_Opr exceptionPC, LIR_Opr exceptionOop, CodeEmitInfo* info) { --- 2062,2075 ---- } int start = __ offset(); __ relocate(static_stub_Relocation::spec(call_pc)); ! __ emit_static_call_stub(); ! assert(__ offset() - start + CompiledStaticCall::to_trampoline_stub_size() ! <= call_stub_size(), "stub too big"); __ end_a_stub(); } void LIR_Assembler::throw_op(LIR_Opr exceptionPC, LIR_Opr exceptionOop, CodeEmitInfo* info) {
< prev index next >