< prev index next >

src/hotspot/cpu/aarch64/continuationHelper_aarch64.inline.hpp

Print this page
*** 139,12 ***
    // Always used in assertions. Just strip it.
    address* pc_addr = &(((address*) f.sp())[-1]);
    return pauth_strip_pointer(*pc_addr);
  }
  
! inline void ContinuationHelper::Frame::patch_pc(const frame& f, address pc) {
!   address* pc_addr = &(((address*) f.sp())[-1]);
    *pc_addr = pauth_sign_return_address(pc);
  }
  
  inline intptr_t* ContinuationHelper::InterpretedFrame::frame_top(const frame& f, InterpreterOopMap* mask) { // inclusive; this will be copied with the frame
    // interpreter_frame_last_sp_offset, points to unextended_sp includes arguments in the frame
--- 139,12 ---
    // Always used in assertions. Just strip it.
    address* pc_addr = &(((address*) f.sp())[-1]);
    return pauth_strip_pointer(*pc_addr);
  }
  
! inline void ContinuationHelper::Frame::patch_pc(const frame& f, address pc, bool callee_augmented) {
!   address* pc_addr = &(((address*) (callee_augmented ? f.unextended_sp() : f.sp()))[-1]);
    *pc_addr = pauth_sign_return_address(pc);
  }
  
  inline intptr_t* ContinuationHelper::InterpretedFrame::frame_top(const frame& f, InterpreterOopMap* mask) { // inclusive; this will be copied with the frame
    // interpreter_frame_last_sp_offset, points to unextended_sp includes arguments in the frame
< prev index next >