hotspot/src/share/vm/classfile/dictionary.cpp
changeset 47103 a993ec29ec75
parent 47098 e704f55561c3
equal deleted inserted replaced
47098:e704f55561c3 47103:a993ec29ec75
   364 
   364 
   365   DictionaryEntry* master_list = NULL;
   365   DictionaryEntry* master_list = NULL;
   366   for (int i = 0; i < table_size(); ++i) {
   366   for (int i = 0; i < table_size(); ++i) {
   367     DictionaryEntry* p = bucket(i);
   367     DictionaryEntry* p = bucket(i);
   368     while (p != NULL) {
   368     while (p != NULL) {
   369       DictionaryEntry* tmp;
   369       DictionaryEntry* next = p->next();
   370       tmp = p->next();
   370       InstanceKlass*ik = p->instance_klass();
   371       p->set_next(master_list);
   371       // we cannot include signed classes in the archive because the certificates
   372       master_list = p;
   372       // used during dump time may be different than those used during
   373       p = tmp;
   373       // runtime (due to expiration, etc).
       
   374       if (ik->signers() != NULL) {
       
   375         ResourceMark rm;
       
   376         tty->print_cr("Preload Warning: Skipping %s from signed JAR",
       
   377                        ik->name()->as_C_string());
       
   378         free_entry(p);
       
   379       } else {
       
   380         p->set_next(master_list);
       
   381         master_list = p;
       
   382       }
       
   383       p = next;
   374     }
   384     }
   375     set_entry(i, NULL);
   385     set_entry(i, NULL);
   376   }
   386   }
   377 
   387 
   378   // Add the dictionary entries back to the list in the correct buckets.
   388   // Add the dictionary entries back to the list in the correct buckets.