@@ -3958,22 +3958,26 @@ namespace Js
3958
3958
template <class T >
3959
3959
void InterpreterStackFrame::OP_ProfileCallCommon (const unaligned T * playout, RecyclableObject * function, unsigned flags, ProfileId profileId, InlineCacheIndex inlineCacheIndex, const Js::AuxArray<uint32> *spreadIndices)
3960
3960
{
3961
+ JavascriptFunction * targetFunction = VarIs<JavascriptFunction>(m_outParams[0 ]) ? UnsafeVarTo<JavascriptFunction>(m_outParams[0 ]) : nullptr ;
3961
3962
FunctionBody* functionBody = this ->m_functionBody ;
3962
- DynamicProfileInfo * dynamicProfileInfo = functionBody->GetDynamicProfileInfo ();
3963
3963
FunctionInfo* functionInfo = function->GetTypeId () == TypeIds_Function ?
3964
3964
VarTo<JavascriptFunction>(function)->GetFunctionInfo () : nullptr ;
3965
+ DynamicProfileInfo* dynamicProfileInfo = functionBody->GetDynamicProfileInfo ();
3965
3966
bool isConstructorCall = (CallFlags_New & flags) == CallFlags_New;
3966
- dynamicProfileInfo->RecordCallSiteInfo (functionBody, profileId, functionInfo, functionInfo ? static_cast <JavascriptFunction*>(function) : nullptr , playout->ArgCount , isConstructorCall, inlineCacheIndex);
3967
-
3968
- JavascriptFunction * targetFunction = VarIs<JavascriptFunction>(m_outParams[0 ]) ? UnsafeVarTo<JavascriptFunction>(m_outParams[0 ]) : nullptr ;
3969
-
3967
+
3968
+
3970
3969
OP_CallCommon<T>(playout, function, flags, spreadIndices);
3971
3970
3971
+
3972
+ // Profile call site
3973
+
3974
+ dynamicProfileInfo->RecordCallSiteInfo (functionBody, profileId, functionInfo, functionInfo ? static_cast <JavascriptFunction*>(function) : nullptr , playout->ArgCount , isConstructorCall, inlineCacheIndex);
3975
+
3972
3976
if (functionInfo && !functionInfo->HasBody ())
3973
3977
{
3974
3978
if ((functionInfo->IsBuiltInApplyFunction () || functionInfo->IsBuiltInCallFunction ()) && targetFunction)
3975
3979
{
3976
- Js::ProfileId * callSiteToCallApplyCallSiteMap = this ->m_functionBody ->GetCallSiteToCallApplyCallSiteArray ();
3980
+ Js::ProfileId* callSiteToCallApplyCallSiteMap = this ->m_functionBody ->GetCallSiteToCallApplyCallSiteArray ();
3977
3981
if (callSiteToCallApplyCallSiteMap)
3978
3982
{
3979
3983
Js::ProfileId callApplyCallSiteId = callSiteToCallApplyCallSiteMap[profileId];
0 commit comments