openjdk-21/Backport-of-JDK-8316895-SeenThread-print_action_que.patch
2024-12-25 03:52:22 +00:00

41 lines
1.4 KiB
Diff

Subject: Backport of JDK-8316895 SeenThread::print_action_queue called on a null pointer
---
src/hotspot/share/classfile/placeholders.cpp | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/src/hotspot/share/classfile/placeholders.cpp b/src/hotspot/share/classfile/placeholders.cpp
index 0f08e80dd..555317f63 100644
--- a/src/hotspot/share/classfile/placeholders.cpp
+++ b/src/hotspot/share/classfile/placeholders.cpp
@@ -80,8 +80,7 @@ public:
void set_next(SeenThread* seen) { _stnext = seen; }
void set_prev(SeenThread* seen) { _stprev = seen; }
- void print_action_queue(outputStream* st) {
- SeenThread* seen = this;
+ static void print_action_queue(SeenThread* seen, outputStream* st) {
while (seen != nullptr) {
seen->thread()->print_value_on(st);
st->print(", ");
@@ -327,13 +326,13 @@ void PlaceholderEntry::print_on(outputStream* st) const {
}
st->cr();
st->print("loadInstanceThreadQ threads:");
- loadInstanceThreadQ()->print_action_queue(st);
+ SeenThread::print_action_queue(loadInstanceThreadQ(), st);
st->cr();
st->print("superThreadQ threads:");
- superThreadQ()->print_action_queue(st);
+ SeenThread::print_action_queue(loadInstanceThreadQ(), st);
st->cr();
st->print("defineThreadQ threads:");
- defineThreadQ()->print_action_queue(st);
+ SeenThread::print_action_queue(loadInstanceThreadQ(), st);
st->cr();
}
--
2.33.0