< prev index next >
src/hotspot/share/classfile/stringTable.hpp
Print this page
@@ -56,36 +56,37 @@
// The string table
static StringTable* _the_table;
// Shared string table
static CompactHashtable<oop, char> _shared_table;
- static bool _shared_string_mapped;
- static bool _alt_hash;
+ static volatile bool _shared_string_mapped;
+ static volatile bool _alt_hash;
+
private:
- // Set if one bucket is out of balance due to hash algorithm deficiency
StringTableHash* _local_table;
size_t _current_size;
volatile bool _has_work;
+ // Set if one bucket is out of balance due to hash algorithm deficiency
volatile bool _needs_rehashing;
OopStorage* _weak_handles;
- volatile size_t _items;
+ volatile size_t _items_count;
DEFINE_PAD_MINUS_SIZE(1, DEFAULT_CACHE_LINE_SIZE, sizeof(volatile size_t));
- volatile size_t _uncleaned_items;
+ volatile size_t _uncleaned_items_count;
DEFINE_PAD_MINUS_SIZE(2, DEFAULT_CACHE_LINE_SIZE, sizeof(volatile size_t));
double get_load_factor();
double get_dead_factor();
void check_concurrent_work();
void trigger_concurrent_work();
static size_t item_added();
static void item_removed();
- size_t add_items_to_clean(size_t ndead);
+ size_t add_items_count_to_clean(size_t ndead);
StringTable();
static oop intern(Handle string_or_null_h, jchar* name, int len, TRAPS);
oop do_intern(Handle string_or_null, jchar* name, int len, uintx hash, TRAPS);
@@ -114,22 +115,22 @@
// GC support
// Must be called before a parallel walk where strings might die.
static void reset_dead_counter() {
- the_table()->_uncleaned_items = 0;
+ the_table()->_uncleaned_items_count = 0;
}
// After the parallel walk this method must be called to trigger
// cleaning. Note it might trigger a resize instead.
static void finish_dead_counter() {
the_table()->check_concurrent_work();
}
// If GC uses ParState directly it should add the number of cleared
// strings to this method.
static void inc_dead_counter(size_t ndead) {
- the_table()->add_items_to_clean(ndead);
+ the_table()->add_items_count_to_clean(ndead);
}
// Delete pointers to otherwise-unreachable objects.
static void unlink(BoolObjectClosure* cl) {
unlink_or_oops_do(cl);
< prev index next >