8067982: Some jcmd /gc/heap_dump tests failed: hprof output contains warning or error

Include shared symbols in SymbolTable::symbols_do(SymbolClosure).

Reviewed-by: minqi, farvidsson, coleenp
This commit is contained in:
Jiangli Zhou 2015-01-14 16:35:00 -05:00
parent 4e84bf1e93
commit f3c99841f9
3 changed files with 34 additions and 3 deletions

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -82,6 +82,10 @@ void SymbolTable::initialize_symbols(int arena_alloc_size) {
// Call function for all symbols in the symbol table.
void SymbolTable::symbols_do(SymbolClosure *cl) {
// all symbols from shared table
_shared_table.symbols_do(cl);
// all symbols from the dynamic table
const int n = the_table()->table_size();
for (int i = 0; i < n; i++) {
for (HashtableEntry<Symbol*, mtSymbol>* p = the_table()->bucket(i);