< prev index next >

src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp

Print this page
*** 680,10 ***
--- 680,13 ---
  
  
    // Alignment
    void align(int modulus);
  
+   // nop
+   void post_call_nop() { nop(); }
+ 
    // Stack frame creation/removal
    void enter()
    {
      stp(rfp, lr, Address(pre(sp, -2 * wordSize)));
      mov(rfp, sp);

*** 867,10 ***
--- 870,16 ---
    void push_CPU_state(bool save_vectors = false, bool use_sve = false,
                        int sve_vector_size_in_bytes = 0);
    void pop_CPU_state(bool restore_vectors = false, bool use_sve = false,
                        int sve_vector_size_in_bytes = 0);
  
+   void push_cont_fastpath(Register java_thread);
+   void pop_cont_fastpath(Register java_thread);
+   void inc_held_monitor_count(Register java_thread);
+   void dec_held_monitor_count(Register java_thread);
+   void reset_held_monitor_count(Register java_thread);
+ 
    // Round up to a power of two
    void round_to(Register reg, int modulus);
  
    // allocation
    void eden_allocate(

*** 979,10 ***
--- 988,14 ---
  
    void unimplemented(const char* what = "");
  
    void should_not_reach_here()                   { stop("should not reach here"); }
  
+   void _assert_asm(Condition cc, const char* msg);
+ #define assert_asm0(cc, msg) _assert_asm(cc, FILE_AND_LINE ": " msg)
+ #define assert_asm(masm, command, cc, msg) DEBUG_ONLY(command; (masm)->_assert_asm(cc, FILE_AND_LINE ": " #command " " #cc ": " msg))
+ 
    // Stack overflow checking
    void bang_stack_with_offset(int offset) {
      // stack grows down, caller passes positive offset
      assert(offset > 0, "must bang with negative offset");
      sub(rscratch2, sp, offset);

*** 1059,11 ***
  #endif
  
  public:
    // Calls
  
!   address trampoline_call(Address entry, CodeBuffer* cbuf = NULL);
  
    static bool far_branches() {
      return ReservedCodeCacheSize > branch_range;
    }
  
--- 1072,12 ---
  #endif
  
  public:
    // Calls
  
!   address trampoline_call(Address entry, CodeBuffer* cbuf = NULL) { return trampoline_call1(entry, cbuf, true); }
+   address trampoline_call1(Address entry, CodeBuffer* cbuf, bool check_emit_size = true);
  
    static bool far_branches() {
      return ReservedCodeCacheSize > branch_range;
    }
  
< prev index next >