101 return pp; |
101 return pp; |
102 } |
102 } |
103 |
103 |
104 |
104 |
105 void LoaderConstraintTable::purge_loader_constraints(BoolObjectClosure* is_alive) { |
105 void LoaderConstraintTable::purge_loader_constraints(BoolObjectClosure* is_alive) { |
106 assert(SafepointSynchronize::is_at_safepoint(), "must be at safepoint") |
106 assert(SafepointSynchronize::is_at_safepoint(), "must be at safepoint"); |
107 // Remove unloaded entries from constraint table |
107 // Remove unloaded entries from constraint table |
108 for (int index = 0; index < table_size(); index++) { |
108 for (int index = 0; index < table_size(); index++) { |
109 LoaderConstraintEntry** p = bucket_addr(index); |
109 LoaderConstraintEntry** p = bucket_addr(index); |
110 while(*p) { |
110 while(*p) { |
111 LoaderConstraintEntry* probe = *p; |
111 LoaderConstraintEntry* probe = *p; |