Skip to content
Permalink
Browse files
8276662: Scalability bottleneck in SymbolTable::lookup_common()
Backport-of: 1d7cef33c5ff24695463a03c58c7ca350ec190fc
  • Loading branch information
shipilev committed Jan 3, 2022
1 parent 38f01a7 commit 0a538a08e489f47c97e3915a499d22e9d5cdde82
Showing with 7 additions and 0 deletions.
  1. +7 −0 src/hotspot/share/classfile/symbolTable.cpp
@@ -91,7 +91,14 @@ static volatile bool _has_items_to_clean = false;


static volatile bool _alt_hash = false;

#ifdef USE_LIBRARY_BASED_TLS_ONLY
static volatile bool _lookup_shared_first = false;
#else
// "_lookup_shared_first" can get highly contended with many cores if multiple threads
// are updating "lookup success history" in a global shared variable. If built-in TLS is available, use it.
static THREAD_LOCAL bool _lookup_shared_first = false;
#endif

// Static arena for symbols that are not deallocated
Arena* SymbolTable::_arena = NULL;

1 comment on commit 0a538a0

@openjdk-notifier
Copy link

@openjdk-notifier openjdk-notifier bot commented on 0a538a0 Jan 3, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.