@@ -944,6 +944,7 @@ class IterateOverHeapObjectClosure: public ObjectClosure {
944
944
945
945
// invoked for each object in the heap
946
946
void IterateOverHeapObjectClosure::do_object (oop o) {
947
+ if (o == nullptr ) return ;
947
948
// check if iteration has been halted
948
949
if (is_iteration_aborted ()) return ;
949
950
@@ -953,7 +954,7 @@ void IterateOverHeapObjectClosure::do_object(oop o) {
953
954
}
954
955
955
956
// skip if object is a dormant shared object whose mirror hasn't been loaded
956
- if (o != nullptr && o ->klass ()->java_mirror () == nullptr ) {
957
+ if (o->klass ()->java_mirror () == nullptr ) {
957
958
log_debug (aot, heap)(" skipped dormant archived object " INTPTR_FORMAT " (%s)" , p2i (o),
958
959
o->klass ()->external_name ());
959
960
return ;
@@ -1032,14 +1033,15 @@ class IterateThroughHeapObjectClosure: public ObjectClosure {
1032
1033
1033
1034
// invoked for each object in the heap
1034
1035
void IterateThroughHeapObjectClosure::do_object (oop obj) {
1036
+ if (obj == nullptr ) return ;
1035
1037
// check if iteration has been halted
1036
1038
if (is_iteration_aborted ()) return ;
1037
1039
1038
1040
// apply class filter
1039
1041
if (is_filtered_by_klass_filter (obj, klass ())) return ;
1040
1042
1041
1043
// skip if object is a dormant shared object whose mirror hasn't been loaded
1042
- if (obj != nullptr && obj ->klass ()->java_mirror () == nullptr ) {
1044
+ if (obj->klass ()->java_mirror () == nullptr ) {
1043
1045
log_debug (aot, heap)(" skipped dormant archived object " INTPTR_FORMAT " (%s)" , p2i (obj),
1044
1046
obj->klass ()->external_name ());
1045
1047
return ;
0 commit comments