mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 15:24:43 +02:00
8213587: Speed up CDS dump time by using resizable hashtables
Reviewed-by: jiangli, coleenp, gziemski
This commit is contained in:
parent
6d3df94e5e
commit
6d269930fd
21 changed files with 264 additions and 105 deletions
|
@ -389,8 +389,8 @@ Klass* ClassListParser::load_current_class(TRAPS) {
|
|||
InstanceKlass* ik = InstanceKlass::cast(klass);
|
||||
int id = this->id();
|
||||
SystemDictionaryShared::update_shared_entry(ik, id);
|
||||
InstanceKlass* old = table()->lookup(id);
|
||||
if (old != NULL && old != ik) {
|
||||
InstanceKlass** old_ptr = table()->lookup(id);
|
||||
if (old_ptr != NULL) {
|
||||
error("Duplicated ID %d for class %s", id, _class_name);
|
||||
}
|
||||
table()->add(id, ik);
|
||||
|
@ -404,11 +404,12 @@ bool ClassListParser::is_loading_from_source() {
|
|||
}
|
||||
|
||||
InstanceKlass* ClassListParser::lookup_class_by_id(int id) {
|
||||
InstanceKlass* klass = table()->lookup(id);
|
||||
if (klass == NULL) {
|
||||
InstanceKlass** klass_ptr = table()->lookup(id);
|
||||
if (klass_ptr == NULL) {
|
||||
error("Class ID %d has not been defined", id);
|
||||
}
|
||||
return klass;
|
||||
assert(*klass_ptr != NULL, "must be");
|
||||
return *klass_ptr;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue