8193434: [GRAAL] Graal classes are not loaded with -Xshare:dump

Allow loading of non-boot classes during CDS dumping but only add boot classes to the archive

Reviewed-by: kvn, iklam, jiangli
This commit is contained in:
Calvin Cheung 2018-03-02 17:33:59 -08:00
parent 8f1e5bc574
commit efcc8d2558
3 changed files with 17 additions and 14 deletions

View file

@ -450,6 +450,11 @@ static void collect_array_classes(Klass* k) {
class CollectClassesClosure : public KlassClosure {
void do_klass(Klass* k) {
if (!UseAppCDS && !k->class_loader_data()->is_the_null_class_loader_data()) {
// AppCDS is not enabled. Let's omit non-boot classes.
return;
}
if (!(k->is_instance_klass() && InstanceKlass::cast(k)->is_in_error_state())) {
if (k->is_instance_klass() && InstanceKlass::cast(k)->signers() != NULL) {
// Mark any class with signers and don't add to the _global_klass_objects