@@ -2919,26 +2919,29 @@ NativeCodeGenerator::GatherCodeGenData(
2919
2919
2920
2920
if (PHASE_ENABLED (InlineCallbacksPhase, functionBody))
2921
2921
{
2922
- Js::FunctionInfo *const callbackInfo = inliningDecider.InlineCallback (functionBody, profiledCallSiteId, recursiveInlineDepth);
2923
- if (callbackInfo != nullptr )
2922
+ if (!isJitTimeDataComputed)
2924
2923
{
2925
- Js::FunctionBody *const callbackBody = callbackInfo-> GetFunctionBody ( );
2926
- if (callbackBody != nullptr && callbackBody != functionBody )
2924
+ Js::FunctionInfo *const callbackInfo = inliningDecider. InlineCallback (functionBody, profiledCallSiteId, recursiveInlineDepth );
2925
+ if (callbackInfo != nullptr )
2927
2926
{
2928
- Js::FunctionCodeGenJitTimeData * callbackJitTimeData = jitTimeData->AddCallbackInlinee (recycler, profiledCallSiteId, callbackInfo);
2929
- Js::FunctionCodeGenRuntimeData * callbackRuntimeData = IsInlinee ? runtimeData->EnsureCallbackInlinee (recycler, profiledCallSiteId, callbackBody) : functionBody->EnsureCallbackInlineeCodeGenRuntimeData (recycler, profiledCallSiteId, callbackBody);
2930
-
2931
- GatherCodeGenData<true >(
2932
- recycler,
2933
- topFunctionBody,
2934
- callbackBody,
2935
- entryPoint,
2936
- inliningDecider,
2937
- objTypeSpecFldInfoList,
2938
- callbackJitTimeData,
2939
- callbackRuntimeData);
2940
-
2941
- AddInlineCacheStats (jitTimeData, callbackJitTimeData);
2927
+ Js::FunctionBody *const callbackBody = callbackInfo->GetFunctionBody ();
2928
+ if (callbackBody != nullptr && callbackBody != functionBody)
2929
+ {
2930
+ Js::FunctionCodeGenJitTimeData * callbackJitTimeData = jitTimeData->AddCallbackInlinee (recycler, profiledCallSiteId, callbackInfo);
2931
+ Js::FunctionCodeGenRuntimeData * callbackRuntimeData = IsInlinee ? runtimeData->EnsureCallbackInlinee (recycler, profiledCallSiteId, callbackBody) : functionBody->EnsureCallbackInlineeCodeGenRuntimeData (recycler, profiledCallSiteId, callbackBody);
2932
+
2933
+ GatherCodeGenData<true >(
2934
+ recycler,
2935
+ topFunctionBody,
2936
+ callbackBody,
2937
+ entryPoint,
2938
+ inliningDecider,
2939
+ objTypeSpecFldInfoList,
2940
+ callbackJitTimeData,
2941
+ callbackRuntimeData);
2942
+
2943
+ AddInlineCacheStats (jitTimeData, callbackJitTimeData);
2944
+ }
2942
2945
}
2943
2946
}
2944
2947
}
0 commit comments