File tree 2 files changed +4
-2
lines changed
2 files changed +4
-2
lines changed Original file line number Diff line number Diff line change @@ -1133,6 +1133,7 @@ class ArchiveBuilder::CDSMapLogger : AllStatic {
1133
1133
// The address of _source_obj at runtime
1134
1134
oop requested_obj = ArchiveHeapWriter::source_obj_to_requested_obj (_source_obj);
1135
1135
// The address of this field in the requested space
1136
+ assert (requested_obj != nullptr , " Attempting to load field from null oop" );
1136
1137
address requested_field_addr = cast_from_oop<address>(requested_obj) + fd->offset ();
1137
1138
1138
1139
fd->print_on (_st);
Original file line number Diff line number Diff line change @@ -2503,10 +2503,11 @@ void InstanceKlass::clean_implementors_list() {
2503
2503
assert (ClassUnloading, " only called for ClassUnloading" );
2504
2504
for (;;) {
2505
2505
// Use load_acquire due to competing with inserts
2506
- InstanceKlass* impl = Atomic::load_acquire (adr_implementor ());
2506
+ InstanceKlass* volatile * iklass = adr_implementor ();
2507
+ assert (iklass != nullptr , " Klass must not be null" );
2508
+ InstanceKlass* impl = Atomic::load_acquire (iklass);
2507
2509
if (impl != nullptr && !impl->is_loader_alive ()) {
2508
2510
// null this field, might be an unloaded instance klass or null
2509
- InstanceKlass* volatile * iklass = adr_implementor ();
2510
2511
if (Atomic::cmpxchg (iklass, impl, (InstanceKlass*)nullptr ) == impl) {
2511
2512
// Successfully unlinking implementor.
2512
2513
if (log_is_enabled (Trace, class , unload)) {
You can’t perform that action at this time.
0 commit comments