< prev index next > src/hotspot/cpu/aarch64/c1_CodeStubs_aarch64.cpp
Print this page
#include "c1/c1_LIRAssembler.hpp"
#include "c1/c1_MacroAssembler.hpp"
#include "c1/c1_Runtime1.hpp"
#include "classfile/javaClasses.hpp"
#include "nativeInst_aarch64.hpp"
+ #include "runtime/objectMonitor.hpp"
#include "runtime/sharedRuntime.hpp"
#include "vmreg_aarch64.inline.hpp"
#define __ ce->masm()->
}
__ adr(lr, _continuation);
__ far_jump(RuntimeAddress(Runtime1::entry_for(exit_id)));
}
+ void LoadKlassStub::emit_code(LIR_Assembler* ce) {
+ assert(UseCompactObjectHeaders, "Only use with compact object headers");
+ __ bind(_entry);
+ Register d = _result->as_register();
+ __ ldr(d, Address(d, OM_OFFSET_NO_MONITOR_VALUE_TAG(header)));
+ __ b(_continuation);
+ }
// Implementation of patching:
// - Copy the code at given offset to an inlined buffer (first the bytes, then the number of bytes)
// - Replace original code with a call to the stub
// At Runtime:
< prev index next >