< prev index next >

src/hotspot/cpu/x86/continuationHelper_x86.inline.hpp

Print this page
@@ -117,12 +117,12 @@
  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 >