< prev index next > src/hotspot/cpu/x86/c2_CodeStubs_x86.cpp
Print this page
*/
#include "precompiled.hpp"
#include "opto/c2_MacroAssembler.hpp"
#include "opto/c2_CodeStubs.hpp"
+ #include "runtime/objectMonitor.hpp"
#include "runtime/sharedRuntime.hpp"
#include "runtime/stubRoutines.hpp"
#define __ masm.
__ bind(entry());
__ call(RuntimeAddress(StubRoutines::x86::method_entry_barrier()));
__ jmp(continuation(), false /* maybe_short */);
}
+ int C2CheckLockStackStub::max_size() const {
+ return 10;
+ }
+
+ void C2CheckLockStackStub::emit(C2_MacroAssembler& masm) {
+ __ bind(entry());
+ assert(StubRoutines::x86::check_lock_stack() != NULL, "need runtime call stub");
+ __ call(RuntimeAddress(StubRoutines::x86::check_lock_stack()));
+ __ jmp(continuation(), false /* maybe_short */);
+ }
+
+ #ifdef _LP64
+ int C2LoadNKlassStub::max_size() const {
+ return 10;
+ }
+
+ void C2LoadNKlassStub::emit(C2_MacroAssembler& masm) {
+ __ bind(entry());
+ Register d = dst();
+ __ movq(d, Address(d, OM_OFFSET_NO_MONITOR_VALUE_TAG(header)));
+ __ jmp(continuation());
+ }
+ #endif
+
#undef __
< prev index next >