Skip to content
Permalink
Browse files
8276662: Scalability bottleneck in SymbolTable::lookup_common()
Reviewed-by: redestad, dholmes, iklam, shade
  • Loading branch information
Derek White committed Nov 20, 2021
1 parent c79a485 commit 1d7cef33c5ff24695463a03c58c7ca350ec190fc
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 1d7cef3

@openjdk-notifier
Copy link

@openjdk-notifier openjdk-notifier bot commented on 1d7cef3 Nov 20, 2021

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.