8235654: JFR leak profiler should not trace through the StringTable

Reviewed-by: stefank, coleenp, kbarrett, egahlin
This commit is contained in:
Erik Österlund 2019-12-11 16:45:08 +00:00
parent 57bdfe3dd4
commit 97ce13767a
5 changed files with 0 additions and 26 deletions

View File

@ -383,11 +383,6 @@ oop StringTable::do_intern(Handle string_or_null_h, const jchar* name,
} while(true); } while(true);
} }
void StringTable::oops_do(OopClosure* f) {
assert(f != NULL, "No closure");
OopStorageSet::string_table_weak()->oops_do(f);
}
// Concurrent work // Concurrent work
void StringTable::grow(JavaThread* jt) { void StringTable::grow(JavaThread* jt) {
StringTableHash::GrowTask gt(_local_table); StringTableHash::GrowTask gt(_local_table);

View File

@ -94,11 +94,6 @@ class StringTable : public CHeapObj<mtSymbol>{
// strings to this method. // strings to this method.
static void inc_dead_counter(size_t ndead) { add_items_to_clean(ndead); } static void inc_dead_counter(size_t ndead) { add_items_to_clean(ndead); }
// Serially invoke "f->do_oop" on the locations of all oops in the table.
// Used by JFR leak profiler. TODO: it should find these oops through
// the WeakProcessor.
static void oops_do(OopClosure* f);
// Probing // Probing
static oop lookup(Symbol* symbol); static oop lookup(Symbol* symbol);
static oop lookup(const jchar* chars, int length); static oop lookup(const jchar* chars, int length);

View File

@ -79,7 +79,6 @@ void RootSetClosure<Delegate>::process() {
JvmtiExport::oops_do(this); JvmtiExport::oops_do(this);
SystemDictionary::oops_do(this); SystemDictionary::oops_do(this);
Management::oops_do(this); Management::oops_do(this);
StringTable::oops_do(this);
AOTLoader::oops_do(this); AOTLoader::oops_do(this);
} }

View File

@ -174,13 +174,6 @@ bool ReferenceToRootClosure::do_management_roots() {
return rlc.complete(); return rlc.complete();
} }
bool ReferenceToRootClosure::do_string_table_roots() {
assert(!complete(), "invariant");
ReferenceLocateClosure rlc(_callback, OldObjectRoot::_string_table, OldObjectRoot::_type_undetermined, NULL);
StringTable::oops_do(&rlc);
return rlc.complete();
}
bool ReferenceToRootClosure::do_aot_loader_roots() { bool ReferenceToRootClosure::do_aot_loader_roots() {
assert(!complete(), "invariant"); assert(!complete(), "invariant");
ReferenceLocateClosure rcl(_callback, OldObjectRoot::_aot, OldObjectRoot::_type_undetermined, NULL); ReferenceLocateClosure rcl(_callback, OldObjectRoot::_aot, OldObjectRoot::_type_undetermined, NULL);
@ -228,11 +221,6 @@ bool ReferenceToRootClosure::do_roots() {
return true; return true;
} }
if (do_string_table_roots()) {
_complete = true;
return true;
}
if (do_aot_loader_roots()) { if (do_aot_loader_roots()) {
_complete = true; _complete = true;
return true; return true;

View File

@ -41,7 +41,6 @@ class OldObjectRoot : public AllStatic {
_management, _management,
_jvmti, _jvmti,
_code_cache, _code_cache,
_string_table,
_aot, _aot,
JVMCI_ONLY(_jvmci COMMA) JVMCI_ONLY(_jvmci COMMA)
_number_of_systems _number_of_systems
@ -78,8 +77,6 @@ class OldObjectRoot : public AllStatic {
return "JVMTI"; return "JVMTI";
case _code_cache: case _code_cache:
return "Code Cache"; return "Code Cache";
case _string_table:
return "String Table";
case _aot: case _aot:
return "AOT"; return "AOT";
#if INCLUDE_JVMCI #if INCLUDE_JVMCI