equal
deleted
inserted
replaced
452 } |
452 } |
453 } |
453 } |
454 |
454 |
455 class CollectClassesClosure : public KlassClosure { |
455 class CollectClassesClosure : public KlassClosure { |
456 void do_klass(Klass* k) { |
456 void do_klass(Klass* k) { |
457 if (!UseAppCDS && !k->class_loader_data()->is_the_null_class_loader_data()) { |
|
458 // AppCDS is not enabled. Let's omit non-boot classes. |
|
459 return; |
|
460 } |
|
461 |
|
462 if (!(k->is_instance_klass() && InstanceKlass::cast(k)->is_in_error_state())) { |
457 if (!(k->is_instance_klass() && InstanceKlass::cast(k)->is_in_error_state())) { |
463 if (k->is_instance_klass() && InstanceKlass::cast(k)->signers() != NULL) { |
458 if (k->is_instance_klass() && InstanceKlass::cast(k)->signers() != NULL) { |
464 // Mark any class with signers and don't add to the _global_klass_objects |
459 // Mark any class with signers and don't add to the _global_klass_objects |
465 k->set_has_signer_and_not_archived(); |
460 k->set_has_signer_and_not_archived(); |
466 } else { |
461 } else { |
1324 return buckets_top; |
1319 return buckets_top; |
1325 } |
1320 } |
1326 |
1321 |
1327 void VM_PopulateDumpSharedSpace::doit() { |
1322 void VM_PopulateDumpSharedSpace::doit() { |
1328 Thread* THREAD = VMThread::vm_thread(); |
1323 Thread* THREAD = VMThread::vm_thread(); |
|
1324 |
|
1325 FileMapInfo::check_nonempty_dir_in_shared_path_table(); |
1329 |
1326 |
1330 NOT_PRODUCT(SystemDictionary::verify();) |
1327 NOT_PRODUCT(SystemDictionary::verify();) |
1331 // The following guarantee is meant to ensure that no loader constraints |
1328 // The following guarantee is meant to ensure that no loader constraints |
1332 // exist yet, since the constraints table is not shared. This becomes |
1329 // exist yet, since the constraints table is not shared. This becomes |
1333 // more important now that we don't re-initialize vtables/itables for |
1330 // more important now that we don't re-initialize vtables/itables for |