< prev index next >

src/hotspot/cpu/x86/c2_CodeStubs_x86.cpp

Print this page
*** 23,10 ***
--- 23,11 ---
   */
  
  #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.
  

*** 70,6 ***
--- 71,30 ---
    __ 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 >