41 lines
1.4 KiB
Diff
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
|
|
|