From 6dbf777ff3e147208b76ce40cecb75c529a34c4c Mon Sep 17 00:00:00 2001 From: Devin Papineau Date: Tue, 20 Sep 2022 13:38:32 -0400 Subject: [PATCH] Base interface inlining determination directly on VM startup phase The JIT can re-enter STARTUP_STATE after leaving it, and it can remain in that state for much longer than one might naively expect, inhibiting these heuristics. --- runtime/compiler/optimizer/J9Inliner.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtime/compiler/optimizer/J9Inliner.cpp b/runtime/compiler/optimizer/J9Inliner.cpp index 787c23c397d..3a743d30abd 100644 --- a/runtime/compiler/optimizer/J9Inliner.cpp +++ b/runtime/compiler/optimizer/J9Inliner.cpp @@ -840,7 +840,7 @@ bool TR_J9InterfaceCallSite::findCallSiteTargetImpl(TR_CallStack *callStack, TR_ // won't be extended later. bool useVftTestHeuristics = true; TR::PersistentInfo *persistInfo = comp()->getPersistentInfo(); - if (persistInfo->getJitState() == STARTUP_STATE) + if (TR::Compiler->vm.isVMInStartupPhase(comp()->fej9()->getJ9JITConfig())) { const static bool useVftTestHeuristicsDuringStartup = feGetEnv("TR_useInterfaceVftTestHeuristicsDuringStartup") != NULL;