< prev index next >
src/hotspot/share/classfile/placeholders.cpp
Print this page
*** 43,52 ****
--- 43,53 ----
entry->set_havesupername(havesupername);
entry->set_supername(supername);
entry->set_superThreadQ(NULL);
entry->set_loadInstanceThreadQ(NULL);
entry->set_defineThreadQ(NULL);
+ entry->set_flattenableFieldQ(NULL);
entry->set_definer(NULL);
entry->set_instance_klass(NULL);
return entry;
}
*** 164,174 ****
PlaceholderEntry *probe = get_entry(index, hash, name, loader_data);
if (probe != NULL) {
probe->remove_seen_thread(thread, action);
// If no other threads using this entry, and this thread is not using this entry for other states
if ((probe->superThreadQ() == NULL) && (probe->loadInstanceThreadQ() == NULL)
! && (probe->defineThreadQ() == NULL) && (probe->definer() == NULL)) {
remove_entry(index, hash, name, loader_data);
}
}
}
--- 165,176 ----
PlaceholderEntry *probe = get_entry(index, hash, name, loader_data);
if (probe != NULL) {
probe->remove_seen_thread(thread, action);
// If no other threads using this entry, and this thread is not using this entry for other states
if ((probe->superThreadQ() == NULL) && (probe->loadInstanceThreadQ() == NULL)
! && (probe->defineThreadQ() == NULL) && (probe->definer() == NULL)
! && (probe->flattenableFieldQ() == NULL)) {
remove_entry(index, hash, name, loader_data);
}
}
}
*** 219,228 ****
--- 221,233 ----
superThreadQ()->print_action_queue(st);
st->cr();
st->print("defineThreadQ threads:");
defineThreadQ()->print_action_queue(st);
st->cr();
+ st->print("flattenableFieldQ threads:");
+ flattenableFieldQ()->print_action_queue(st);
+ st->cr();
}
void PlaceholderTable::print_on(outputStream* st) const {
st->print_cr("Placeholder table (table_size=%d, placeholders=%d)",
table_size(), number_of_entries());
< prev index next >