< prev index next >
src/hotspot/share/classfile/placeholders.cpp
Print this page
@@ -43,10 +43,11 @@
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,11 +165,12 @@
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->defineThreadQ() == NULL) && (probe->definer() == NULL)
+ && (probe->flattenableFieldQ() == NULL)) {
remove_entry(index, hash, name, loader_data);
}
}
}
@@ -219,10 +221,13 @@
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 >