Skip to content

Commit 939ab74

Browse files
committed
[MERGE #5168 @pleath] [MSFT 17513893] Mark callback inlinees as active when doing pre-redeferral stack walk
Merge pull request #5168 from pleath:17513893
2 parents 362e541 + efdfdeb commit 939ab74

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

lib/Runtime/Base/FunctionBody.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -804,6 +804,10 @@ namespace Js
804804
{
805805
this->UpdateActiveFunctionsForOneDataSet(pActiveFuncs, callSiteData, callSiteData->GetLdFldInlinees(), this->GetInlineCacheCount());
806806
}
807+
if (callSiteData->GetCallbackInlinees())
808+
{
809+
this->UpdateActiveFunctionsForOneDataSet(pActiveFuncs, callSiteData, callSiteData->GetCallbackInlinees(), this->GetProfiledCallSiteCount());
810+
}
807811
}
808812

809813
// Now walk the top-level data, but only do it once, since it's always the same.
@@ -826,6 +830,13 @@ namespace Js
826830
this->UpdateActiveFunctionsForOneDataSet(pActiveFuncs, nullptr, data, this->GetInlineCacheCount());
827831
}
828832
}
833+
{
834+
Field(FunctionCodeGenRuntimeData*)* data = this->GetCodeGenCallbackRuntimeData();
835+
if (data != nullptr)
836+
{
837+
this->UpdateActiveFunctionsForOneDataSet(pActiveFuncs, nullptr, data, this->GetProfiledCallSiteCount());
838+
}
839+
}
829840
}
830841

831842
bool FunctionBody::DoRedeferFunction(uint inactiveThreshold) const

0 commit comments

Comments
 (0)