8227054: ServiceThread needs to know about all OopStorage objects

8227053: ServiceThread cleanup of OopStorage is missing some

OopStorages provides named access and iteration.

Reviewed-by: eosterlund, pliden, coleenp
This commit is contained in:
Kim Barrett
2019-08-21 18:42:30 -04:00
parent de8d01d4d3
commit 1acad37ee6
28 changed files with 721 additions and 358 deletions

View File

@@ -25,7 +25,6 @@
#ifndef SHARE_CLASSFILE_STRINGTABLE_HPP
#define SHARE_CLASSFILE_STRINGTABLE_HPP
#include "gc/shared/oopStorage.hpp"
#include "memory/allocation.hpp"
#include "memory/padded.hpp"
#include "oops/oop.hpp"
@@ -33,6 +32,7 @@
#include "utilities/tableStatistics.hpp"
class CompactHashtableWriter;
class JavaThread;
class SerializeClosure;
class StringTable;
@@ -51,8 +51,6 @@ class StringTable : public CHeapObj<mtSymbol>{
// Set if one bucket is out of balance due to hash algorithm deficiency
static volatile bool _needs_rehashing;
static OopStorage* _weak_handles;
static void grow(JavaThread* jt);
static void clean_dead_entries(JavaThread* jt);
@@ -78,8 +76,6 @@ class StringTable : public CHeapObj<mtSymbol>{
static size_t table_size();
static TableStatistics get_table_statistics();
static OopStorage* weak_storage() { return _weak_handles; }
static void create_table();
static void do_concurrent_work(JavaThread* jt);