hotspot/src/share/vm/classfile/loaderConstraints.cpp
changeset 46380 4a51438196cf
parent 46329 53ccc37bda19
child 46468 be80e262d2a2
equal deleted inserted replaced
46379:43ec76e10184 46380:4a51438196cf
    54 void LoaderConstraintTable::free_entry(LoaderConstraintEntry *entry) {
    54 void LoaderConstraintTable::free_entry(LoaderConstraintEntry *entry) {
    55   // decrement name refcount before freeing
    55   // decrement name refcount before freeing
    56   entry->name()->decrement_refcount();
    56   entry->name()->decrement_refcount();
    57   Hashtable<InstanceKlass*, mtClass>::free_entry(entry);
    57   Hashtable<InstanceKlass*, mtClass>::free_entry(entry);
    58 }
    58 }
    59 
       
    60 // Enhanced Class Redefinition support
       
    61 void LoaderConstraintTable::classes_do(KlassClosure* f) {
       
    62   for (int index = 0; index < table_size(); index++) {
       
    63     for (LoaderConstraintEntry* probe = bucket(index);
       
    64                                 probe != NULL;
       
    65                                 probe = probe->next()) {
       
    66       if (probe->klass() != NULL) {
       
    67         f->do_klass(probe->klass());
       
    68       }
       
    69         }
       
    70       }
       
    71     }
       
    72 
    59 
    73 // The loaderConstraintTable must always be accessed with the
    60 // The loaderConstraintTable must always be accessed with the
    74 // SystemDictionary lock held. This is true even for readers as
    61 // SystemDictionary lock held. This is true even for readers as
    75 // entries in the table could be being dynamically resized.
    62 // entries in the table could be being dynamically resized.
    76 
    63