< prev index next >
src/cpu/x86/vm/methodHandles_x86.cpp
Print this page
@@ -521,13 +521,13 @@
frame cur_frame = os::current_frame();
// Robust search of trace_calling_frame (independant of inlining).
// Assumes saved_regs comes from a pusha in the trace_calling_frame.
assert(cur_frame.sp() < saved_regs, "registers not saved on stack ?");
- frame trace_calling_frame = os::get_sender_for_C_frame(&cur_frame);
+ frame trace_calling_frame = os::get_sender_for_C_frame(p, &cur_frame);
while (trace_calling_frame.fp() < saved_regs) {
- trace_calling_frame = os::get_sender_for_C_frame(&trace_calling_frame);
+ trace_calling_frame = os::get_sender_for_C_frame(p, &trace_calling_frame);
}
// safely create a frame and call frame::describe
intptr_t *dump_sp = trace_calling_frame.sender_sp();
intptr_t *dump_fp = trace_calling_frame.link();
@@ -539,11 +539,11 @@
// if new call sites cause the next frame constructor to start
// failing. Alternatively, frame constructors could be
// modified to support the current or future non walkable
// frames (but this is more intrusive and is not considered as
// part of this RFE, which will instead use a simpler output).
- frame dump_frame = frame(dump_sp, dump_fp);
+ frame dump_frame = frame(p, dump_sp, dump_fp);
dump_frame.describe(values, 1);
} else {
// Stack may not be walkable (invalid PC above FP):
// Add descriptions without building a Java frame to avoid issues
values.describe(-1, dump_fp, "fp for #1 <not parsed, cannot trust pc>");
< prev index next >