src/share/vm/classfile/systemDictionary.cpp

changeset 3427
94ec88ca68e2
parent 3137
e6b1331a51d2
child 3491
b2cd0ee8f778
equal deleted inserted replaced
3402:4f25538b54c9 3427:94ec88ca68e2
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);

mercurial