< prev index next > src/hotspot/cpu/x86/c1_CodeStubs_x86.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_x86.hpp"
+ #include "runtime/objectMonitor.hpp"
#include "runtime/sharedRuntime.hpp"
#include "utilities/align.hpp"
#include "utilities/macros.hpp"
#include "vmreg_x86.inline.hpp"
}
__ call(RuntimeAddress(Runtime1::entry_for(exit_id)));
__ jmp(_continuation);
}
+ void LoadKlassStub::emit_code(LIR_Assembler* ce) {
+ assert(UseCompactObjectHeaders, "only with compact headers");
+ __ bind(_entry);
+ #ifdef _LP64
+ Register d = _result->as_register();
+ __ movq(d, Address(d, OM_OFFSET_NO_MONITOR_VALUE_TAG(header)));
+ __ jmp(_continuation);
+ #else
+ __ should_not_reach_here();
+ #endif
+ }
// 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 >