--- a/src/hotspot/share/services/threadIdTable.hpp Tue Oct 08 09:13:08 2019 -0700
+++ b/src/hotspot/share/services/threadIdTable.hpp Tue Oct 08 09:39:10 2019 -0700
@@ -36,6 +36,7 @@
friend class ThreadIdTableConfig;
static volatile bool _is_initialized;
+ static volatile bool _has_work;
public:
// Initialization
@@ -47,12 +48,17 @@
static JavaThread* add_thread(jlong tid, JavaThread* thread);
static bool remove_thread(jlong tid);
+ // Growing
+ static bool has_work() { return _has_work; }
+ static void do_concurrent_work(JavaThread* jt);
+
private:
static void create_table(size_t size);
static size_t table_size();
static double get_load_factor();
- static void grow_if_required();
+ static void check_concurrent_work();
+ static void trigger_concurrent_work();
static void grow(JavaThread* jt);
static void item_added();