< 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 >