diff --git a/lib/Runtime/Base/FunctionBody.cpp b/lib/Runtime/Base/FunctionBody.cpp index 21f591958eb..502399bc35a 100644 --- a/lib/Runtime/Base/FunctionBody.cpp +++ b/lib/Runtime/Base/FunctionBody.cpp @@ -900,6 +900,10 @@ namespace Js { functionType->SetEntryPoint(GetScriptContext()->DeferredParsingThunk); } + if (!CrossSite::IsThunk(functionType->GetEntryPointInfo()->jsMethod)) + { + functionType->GetEntryPointInfo()->jsMethod = GetScriptContext()->DeferredParsingThunk; + } }); this->Cleanup(false); diff --git a/lib/Runtime/Library/StackScriptFunction.cpp b/lib/Runtime/Library/StackScriptFunction.cpp index 2bb7fd5e6af..5884b5afc1d 100644 --- a/lib/Runtime/Library/StackScriptFunction.cpp +++ b/lib/Runtime/Library/StackScriptFunction.cpp @@ -349,8 +349,8 @@ namespace Js ScopeSlots slots(slotArray); if (slots.IsFunctionScopeSlotArray()) { - FunctionBody *functionBody = slots.GetFunctionInfo()->GetFunctionBody(); - if (this->NeedBoxFrame(functionBody)) + FunctionProxy *functionProxy = slots.GetFunctionInfo()->GetFunctionProxy(); + if (functionProxy->IsFunctionBody() && this->NeedBoxFrame(functionProxy->GetFunctionBody())) { break; }