< prev index next > src/hotspot/cpu/x86/continuationHelper_x86.inline.hpp
Print this page
inline address ContinuationHelper::Frame::real_pc(const frame& f) {
address* pc_addr = &(((address*) f.sp())[-1]);
return *pc_addr;
}
- inline void ContinuationHelper::Frame::patch_pc(const frame& f, address pc) {
- address* pc_addr = &(((address*) f.sp())[-1]);
+ 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 = 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 >