< prev index next >
src/hotspot/share/prims/resolvedMethodTable.cpp
Print this page
@@ -141,12 +141,11 @@
return _the_table->basic_add(method, resolved_method_name);
}
// Removing entries
-int ResolvedMethodTable::_oops_removed = 0;
-int ResolvedMethodTable::_oops_counted = 0;
+int ResolvedMethodTable::total_oops_removed = 0;
// There are no dead entries at start
bool ResolvedMethodTable::_dead_entries = false;
void ResolvedMethodTable::trigger_cleanup() {
@@ -157,12 +156,12 @@
// Serially invoke removed unused oops from the table.
// This is done by the ServiceThread after being notified on class unloading
void ResolvedMethodTable::unlink() {
MutexLocker ml(ResolvedMethodTable_lock);
- _oops_removed = 0;
- _oops_counted = 0;
+ int _oops_removed = 0;
+ int _oops_counted = 0;
for (int i = 0; i < _the_table->table_size(); ++i) {
ResolvedMethodEntry** p = _the_table->bucket_addr(i);
ResolvedMethodEntry* entry = _the_table->bucket(i);
while (entry != NULL) {
_oops_counted++;
@@ -183,10 +182,11 @@
entry = (ResolvedMethodEntry*)HashtableEntry<ClassLoaderWeakHandle, mtClass>::make_ptr(*p);
}
}
log_debug(membername, table) ("ResolvedMethod entries counted %d removed %d",
_oops_counted, _oops_removed);
+ total_oops_removed += _oops_removed;
_dead_entries = false;
}
#ifndef PRODUCT
void ResolvedMethodTable::print() {
< prev index next >