mirror of
https://github.com/openjdk/jdk.git
synced 2026-03-20 21:03:18 +00:00
8326236: assert(ce != nullptr) failed in Continuation::continuation_bottom_sender
Reviewed-by: dholmes, mgronlun
This commit is contained in:
parent
02d24934ff
commit
ec2aaaaf83
@ -163,6 +163,11 @@ bool frame::safe_for_sender(JavaThread *thread) {
|
||||
}
|
||||
|
||||
if (Continuation::is_return_barrier_entry(sender_pc)) {
|
||||
// sender_pc might be invalid so check that the frame
|
||||
// actually belongs to a Continuation.
|
||||
if (!Continuation::is_frame_in_continuation(thread, *this)) {
|
||||
return false;
|
||||
}
|
||||
// If our sender_pc is the return barrier, then our "real" sender is the continuation entry
|
||||
frame s = Continuation::continuation_bottom_sender(thread, *this, sender_sp);
|
||||
sender_sp = s.sp();
|
||||
|
||||
@ -122,6 +122,11 @@ bool frame::safe_for_sender(JavaThread *thread) {
|
||||
address sender_pc = (address) sender_abi->lr;
|
||||
|
||||
if (Continuation::is_return_barrier_entry(sender_pc)) {
|
||||
// sender_pc might be invalid so check that the frame
|
||||
// actually belongs to a Continuation.
|
||||
if (!Continuation::is_frame_in_continuation(thread, *this)) {
|
||||
return false;
|
||||
}
|
||||
// If our sender_pc is the return barrier, then our "real" sender is the continuation entry
|
||||
frame s = Continuation::continuation_bottom_sender(thread, *this, sender_sp);
|
||||
sender_sp = s.sp();
|
||||
|
||||
@ -158,6 +158,11 @@ bool frame::safe_for_sender(JavaThread *thread) {
|
||||
}
|
||||
|
||||
if (Continuation::is_return_barrier_entry(sender_pc)) {
|
||||
// sender_pc might be invalid so check that the frame
|
||||
// actually belongs to a Continuation.
|
||||
if (!Continuation::is_frame_in_continuation(thread, *this)) {
|
||||
return false;
|
||||
}
|
||||
// If our sender_pc is the return barrier, then our "real" sender is the continuation entry
|
||||
frame s = Continuation::continuation_bottom_sender(thread, *this, sender_sp);
|
||||
sender_sp = s.sp();
|
||||
|
||||
@ -154,6 +154,11 @@ bool frame::safe_for_sender(JavaThread *thread) {
|
||||
}
|
||||
|
||||
if (Continuation::is_return_barrier_entry(sender_pc)) {
|
||||
// sender_pc might be invalid so check that the frame
|
||||
// actually belongs to a Continuation.
|
||||
if (!Continuation::is_frame_in_continuation(thread, *this)) {
|
||||
return false;
|
||||
}
|
||||
// If our sender_pc is the return barrier, then our "real" sender is the continuation entry
|
||||
frame s = Continuation::continuation_bottom_sender(thread, *this, sender_sp);
|
||||
sender_sp = s.sp();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user