8146546: assert(fr->safe_for_sender(thread)) failed: Safety check
Reviewed-by: dcubed, gziemski, dlong
This commit is contained in:
parent
9665140a14
commit
e36aa5f9d0
@ -2366,7 +2366,9 @@ bool os::win32::get_frame_at_stack_banging_point(JavaThread* thread,
|
||||
if (Interpreter::contains(pc)) {
|
||||
*fr = os::fetch_frame_from_context((void*)exceptionInfo->ContextRecord);
|
||||
if (!fr->is_first_java_frame()) {
|
||||
assert(fr->safe_for_sender(thread), "Safety check");
|
||||
// get_frame_at_stack_banging_point() is only called when we
|
||||
// have well defined stacks so java_sender() calls do not need
|
||||
// to assert safe_for_sender() first.
|
||||
*fr = fr->java_sender();
|
||||
}
|
||||
} else {
|
||||
@ -2383,7 +2385,7 @@ bool os::win32::get_frame_at_stack_banging_point(JavaThread* thread,
|
||||
// has been pushed on the stack
|
||||
*fr = frame(fr->sp() + 1, fr->fp(), (address)*(fr->sp()));
|
||||
if (!fr->is_java_frame()) {
|
||||
assert(fr->safe_for_sender(thread), "Safety check");
|
||||
// See java_sender() comment above.
|
||||
*fr = fr->java_sender();
|
||||
}
|
||||
}
|
||||
|
@ -378,7 +378,9 @@ bool os::Bsd::get_frame_at_stack_banging_point(JavaThread* thread, ucontext_t* u
|
||||
// method returns the Java sender of the current frame.
|
||||
*fr = os::fetch_frame_from_ucontext(thread, uc);
|
||||
if (!fr->is_first_java_frame()) {
|
||||
assert(fr->safe_for_sender(thread), "Safety check");
|
||||
// get_frame_at_stack_banging_point() is only called when we
|
||||
// have well defined stacks so java_sender() calls do not need
|
||||
// to assert safe_for_sender() first.
|
||||
*fr = fr->java_sender();
|
||||
}
|
||||
} else {
|
||||
@ -395,7 +397,7 @@ bool os::Bsd::get_frame_at_stack_banging_point(JavaThread* thread, ucontext_t* u
|
||||
// has been pushed on the stack
|
||||
*fr = frame(fr->sp() + 1, fr->fp(), (address)*(fr->sp()));
|
||||
if (!fr->is_java_frame()) {
|
||||
assert(fr->safe_for_sender(thread), "Safety check");
|
||||
// See java_sender() comment above.
|
||||
*fr = fr->java_sender();
|
||||
}
|
||||
}
|
||||
|
@ -191,7 +191,9 @@ bool os::Linux::get_frame_at_stack_banging_point(JavaThread* thread, ucontext_t*
|
||||
// method returns the Java sender of the current frame.
|
||||
*fr = os::fetch_frame_from_ucontext(thread, uc);
|
||||
if (!fr->is_first_java_frame()) {
|
||||
assert(fr->safe_for_sender(thread), "Safety check");
|
||||
// get_frame_at_stack_banging_point() is only called when we
|
||||
// have well defined stacks so java_sender() calls do not need
|
||||
// to assert safe_for_sender() first.
|
||||
*fr = fr->java_sender();
|
||||
}
|
||||
} else {
|
||||
@ -209,8 +211,8 @@ bool os::Linux::get_frame_at_stack_banging_point(JavaThread* thread, ucontext_t*
|
||||
intptr_t* sp = os::Linux::ucontext_get_sp(uc);
|
||||
*fr = frame(sp + 1, fp, (address)*sp);
|
||||
if (!fr->is_java_frame()) {
|
||||
assert(fr->safe_for_sender(thread), "Safety check");
|
||||
assert(!fr->is_first_frame(), "Safety check");
|
||||
// See java_sender() comment above.
|
||||
*fr = fr->java_sender();
|
||||
}
|
||||
}
|
||||
|
@ -255,7 +255,9 @@ bool os::Solaris::get_frame_at_stack_banging_point(JavaThread* thread, ucontext_
|
||||
// method returns the Java sender of the current frame.
|
||||
*fr = os::fetch_frame_from_ucontext(thread, uc);
|
||||
if (!fr->is_first_java_frame()) {
|
||||
assert(fr->safe_for_sender(thread), "Safety check");
|
||||
// get_frame_at_stack_banging_point() is only called when we
|
||||
// have well defined stacks so java_sender() calls do not need
|
||||
// to assert safe_for_sender() first.
|
||||
*fr = fr->java_sender();
|
||||
}
|
||||
} else {
|
||||
@ -273,7 +275,7 @@ bool os::Solaris::get_frame_at_stack_banging_point(JavaThread* thread, ucontext_
|
||||
intptr_t* sp = os::Solaris::ucontext_get_sp(uc);
|
||||
*fr = frame(sp + 1, fp, (address)*sp);
|
||||
if (!fr->is_java_frame()) {
|
||||
assert(fr->safe_for_sender(thread), "Safety check");
|
||||
// See java_sender() comment above.
|
||||
*fr = fr->java_sender();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user