< prev index next >
src/hotspot/share/classfile/symbolTable.hpp
Print this page
*** 108,151 ****
// The symbol table
static SymbolTable* _the_table;
// Shared symbol table.
static CompactHashtable<Symbol*, char> _shared_table;
! static bool _lookup_shared_first;
! static bool _alt_hash;
// For statistics
! static int _symbols_removed;
! static int _symbols_counted;
- // Set if one bucket is out of balance due to hash algorithm deficiency
SymbolTableHash* _local_table;
size_t _current_size;
volatile bool _has_work;
volatile bool _needs_rehashing;
! volatile int _items;
! DEFINE_PAD_MINUS_SIZE(1, DEFAULT_CACHE_LINE_SIZE, sizeof(volatile int));
! volatile int _uncleaned_items;
! DEFINE_PAD_MINUS_SIZE(2, DEFAULT_CACHE_LINE_SIZE, sizeof(volatile int));
double get_load_factor();
double get_dead_factor();
void check_concurrent_work();
void trigger_concurrent_work();
! static uintx item_added();
static void item_removed();
static void set_item_clean_count(size_t ncl);
static void mark_item_clean_count();
SymbolTable();
! Symbol* allocate_symbol(const u1* name, int len, bool c_heap, TRAPS); // Assumes no characters larger than 0x7F
! Symbol* do_lookup(char* name, int len, uintx hash);
! Symbol* do_add_if_needed(char* name, int len, uintx hash, bool heap, TRAPS);
// Adding elements
static void add(ClassLoaderData* loader_data,
const constantPoolHandle& cp, int names_count,
const char** names, int* lengths, int* cp_indices,
--- 108,149 ----
// The symbol table
static SymbolTable* _the_table;
// Shared symbol table.
static CompactHashtable<Symbol*, char> _shared_table;
! static volatile bool _lookup_shared_first;
! static volatile bool _alt_hash;
// For statistics
! volatile size_t _symbols_removed;
! volatile size_t _symbols_counted;
SymbolTableHash* _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;
! volatile size_t _items_count;
! volatile size_t _uncleaned_items_count;
double get_load_factor();
double get_dead_factor();
void check_concurrent_work();
void trigger_concurrent_work();
! static void item_added();
static void item_removed();
static void set_item_clean_count(size_t ncl);
static void mark_item_clean_count();
SymbolTable();
! Symbol* allocate_symbol(const char* name, int len, bool c_heap, TRAPS); // Assumes no characters larger than 0x7F
! Symbol* do_lookup(const char* name, int len, uintx hash);
! Symbol* do_add_if_needed(const char* name, int len, uintx hash, bool heap, TRAPS);
// Adding elements
static void add(ClassLoaderData* loader_data,
const constantPoolHandle& cp, int names_count,
const char** names, int* lengths, int* cp_indices,
< prev index next >