< prev index next >

src/hotspot/cpu/aarch64/c2_CodeStubs_aarch64.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.
  

*** 61,6 ***
--- 62,28 ---
    __ bind(guard());
    __ relocate(entry_guard_Relocation::spec());
    __ emit_int32(0);   // nmethod guard value
  }
  
+ int C2CheckLockStackStub::max_size() const {
+   return 20;
+ }
+ 
+ void C2CheckLockStackStub::emit(C2_MacroAssembler& masm) {
+   __ bind(entry());
+   assert(StubRoutines::aarch64::check_lock_stack() != NULL, "need runtime call stub");
+   __ far_call(StubRoutines::aarch64::check_lock_stack());
+   __ b(continuation());
+ }
+ 
+ int C2LoadNKlassStub::max_size() const {
+   return 8;
+ }
+ 
+ void C2LoadNKlassStub::emit(C2_MacroAssembler& masm) {
+   __ bind(entry());
+   Register d = dst();
+   __ ldr(d, Address(d, OM_OFFSET_NO_MONITOR_VALUE_TAG(header)));
+   __ b(continuation());
+ }
+ 
  #undef __
< prev index next >