2128 // defined, not each time it is referenced from a new class loader |
2128 // defined, not each time it is referenced from a new class loader |
2129 if (k->class_loader() == class_loader()) { |
2129 if (k->class_loader() == class_loader()) { |
2130 k->set_prototype_header(markOopDesc::biased_locking_prototype()); |
2130 k->set_prototype_header(markOopDesc::biased_locking_prototype()); |
2131 } |
2131 } |
2132 } |
2132 } |
|
2133 |
|
2134 // Assign a classid if one has not already been assigned. The |
|
2135 // counter does not need to be atomically incremented since this |
|
2136 // is only done while holding the SystemDictionary_lock. |
|
2137 // All loaded classes get a unique ID. |
|
2138 TRACE_INIT_ID(k); |
2133 |
2139 |
2134 // Check for a placeholder. If there, remove it and make a |
2140 // Check for a placeholder. If there, remove it and make a |
2135 // new system dictionary entry. |
2141 // new system dictionary entry. |
2136 placeholders()->find_and_remove(p_index, p_hash, name, class_loader, THREAD); |
2142 placeholders()->find_and_remove(p_index, p_hash, name, class_loader, THREAD); |
2137 klassOop sd_check = find_class(d_index, d_hash, name, class_loader); |
2143 klassOop sd_check = find_class(d_index, d_hash, name, class_loader); |