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