< prev index next > src/hotspot/cpu/aarch64/continuationHelper_aarch64.inline.hpp
Print this page
// 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
// 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 >