Skip to content

Commit

Permalink
Reduce counts only for implict SCC
Browse files Browse the repository at this point in the history
PR eclipse-openj9#18356 introduced a change to reduce the counts of a method
whose class is not in the shared class cache (SCC), if SCC
is enabled and the load of that class happens during start-up.
This change improves performance of some short running benchmarks
from the DaCapo suite (when run with default options), but was
discovered to also cause a small (2-3%) throughput regression when
running the Daytrader benchmark on top of tWAS.
This commit restricts the change from PR eclipse-openj9#18356 to environments
that use an implicit SCC (by default, OpenJ9 creates an implict SCC
that is only allowed to to store bootstrap classes).

Signed-off-by: Marius Pirvu <[email protected]>
  • Loading branch information
mpirvu committed Jan 10, 2024
1 parent 8d940ff commit d3b6f8e
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions runtime/compiler/control/HookedByTheJit.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -575,12 +575,12 @@ static void jitHookInitializeSendTarget(J9HookInterface * * hook, UDATA eventNum
}
else // ROM class not in shared class cache (no space or ineligible - maybe because of implicit SCC)
{
// SCC is used, either explicit or implicit; this is a sign that start-up may be important
// If there is enough CPU power to compile sooner, do so by using lower counts
// but only for the classes loaded during startup
// For an implicit SCC, if there is enough CPU power to compile sooner,
// do so by using lower counts, but only for the classes loaded during startup
if (!TR::Options::getCountsAreProvidedByUser() && !countInOptionSet)
{
if (TR::Options::getCmdLineOptions()->getOption(TR_UseLowerCountsForNonSCCMethodsDuringStartup) &&
J9_ARE_NO_BITS_SET(jitConfig->javaVM->sharedClassConfig->runtimeFlags, J9SHR_RUNTIMEFLAG_ENABLE_CACHE_NON_BOOT_CLASSES) &&
(jitConfig->javaVM->phase != J9VM_PHASE_NOT_STARTUP) &&
TR::Compiler->target.numberOfProcessors() >= TR_NUMPROC_FOR_LARGE_SMP)
{
Expand Down

0 comments on commit d3b6f8e

Please sign in to comment.