@@ -392,38 +392,38 @@ namespace Js
392
392
}
393
393
394
394
FunctionBody * FunctionBody::NewFromRecycler(ScriptContext * scriptContext, const char16 * displayName, uint displayNameLength, uint displayShortNameOffset, uint nestedCount,
395
- Utf8SourceInfo* sourceInfo, uint uScriptId, Js::LocalFunctionId functionId, Js::PropertyRecordList* boundPropertyRecords, Attributes attributes
395
+ Utf8SourceInfo* sourceInfo, uint uScriptId, Js::LocalFunctionId functionId, Js::PropertyRecordList* boundPropertyRecords, Attributes attributes, FunctionBodyFlags flags
396
396
#ifdef PERF_COUNTERS
397
397
, bool isDeserializedFunction
398
398
#endif
399
399
)
400
400
{
401
401
return FunctionBody::NewFromRecycler(scriptContext, displayName, displayNameLength, displayShortNameOffset, nestedCount, sourceInfo,
402
- scriptContext->GetThreadContext()->NewFunctionNumber(), uScriptId, functionId, boundPropertyRecords, attributes
402
+ scriptContext->GetThreadContext()->NewFunctionNumber(), uScriptId, functionId, boundPropertyRecords, attributes, flags
403
403
#ifdef PERF_COUNTERS
404
404
, isDeserializedFunction
405
405
#endif
406
406
);
407
407
}
408
408
409
409
FunctionBody * FunctionBody::NewFromRecycler(ScriptContext * scriptContext, const char16 * displayName, uint displayNameLength, uint displayShortNameOffset, uint nestedCount,
410
- Utf8SourceInfo* sourceInfo, uint uFunctionNumber, uint uScriptId, Js::LocalFunctionId functionId, Js::PropertyRecordList* boundPropertyRecords, Attributes attributes
410
+ Utf8SourceInfo* sourceInfo, uint uFunctionNumber, uint uScriptId, Js::LocalFunctionId functionId, Js::PropertyRecordList* boundPropertyRecords, Attributes attributes, FunctionBodyFlags flags
411
411
#ifdef PERF_COUNTERS
412
412
, bool isDeserializedFunction
413
413
#endif
414
414
)
415
415
{
416
416
#ifdef PERF_COUNTERS
417
- return RecyclerNewWithBarrierFinalized(scriptContext->GetRecycler(), FunctionBody, scriptContext, displayName, displayNameLength, displayShortNameOffset, nestedCount, sourceInfo, uFunctionNumber, uScriptId, functionId, boundPropertyRecords, attributes, isDeserializedFunction);
417
+ return RecyclerNewWithBarrierFinalized(scriptContext->GetRecycler(), FunctionBody, scriptContext, displayName, displayNameLength, displayShortNameOffset, nestedCount, sourceInfo, uFunctionNumber, uScriptId, functionId, boundPropertyRecords, attributes, flags, isDeserializedFunction);
418
418
#else
419
- return RecyclerNewWithBarrierFinalized(scriptContext->GetRecycler(), FunctionBody, scriptContext, displayName, displayNameLength, displayShortNameOffset, nestedCount, sourceInfo, uFunctionNumber, uScriptId, functionId, boundPropertyRecords, attributes);
419
+ return RecyclerNewWithBarrierFinalized(scriptContext->GetRecycler(), FunctionBody, scriptContext, displayName, displayNameLength, displayShortNameOffset, nestedCount, sourceInfo, uFunctionNumber, uScriptId, functionId, boundPropertyRecords, attributes, flags );
420
420
#endif
421
421
}
422
422
423
423
424
424
FunctionBody::FunctionBody(ScriptContext* scriptContext, const char16* displayName, uint displayNameLength, uint displayShortNameOffset, uint nestedCount,
425
425
Utf8SourceInfo* utf8SourceInfo, uint uFunctionNumber, uint uScriptId,
426
- Js::LocalFunctionId functionId, Js::PropertyRecordList* boundPropertyRecords, Attributes attributes
426
+ Js::LocalFunctionId functionId, Js::PropertyRecordList* boundPropertyRecords, Attributes attributes, FunctionBodyFlags flags
427
427
#ifdef PERF_COUNTERS
428
428
, bool isDeserializedFunction
429
429
#endif
@@ -454,7 +454,7 @@ namespace Js
454
454
loopInterpreterLimit(CONFIG_FLAG(LoopInterpretCount)),
455
455
savedPolymorphicCacheState(0),
456
456
debuggerScopeIndex(0),
457
- flags(Flags_HasNoExplicitReturnValue ),
457
+ flags(flags ),
458
458
m_hasFinally(false),
459
459
#if ENABLE_PROFILE_INFO
460
460
dynamicProfileInfo(nullptr),
@@ -1717,7 +1717,8 @@ namespace Js
1717
1717
this->GetUtf8SourceInfo()->GetSrcInfo()->sourceContextInfo->sourceContextId, /* script id */
1718
1718
this->functionId, /* function id */
1719
1719
propertyRecordList,
1720
- (Attributes)(this->GetAttributes() & ~(Attributes::DeferredDeserialize | Attributes::DeferredParse))
1720
+ (Attributes)(this->GetAttributes() & ~(Attributes::DeferredDeserialize | Attributes::DeferredParse)),
1721
+ Js::FunctionBody::FunctionBodyFlags::Flags_HasNoExplicitReturnValue
1721
1722
#ifdef PERF_COUNTERS
1722
1723
, false /* is function from deferred deserialized proxy */
1723
1724
#endif
@@ -1983,7 +1984,8 @@ namespace Js
1983
1984
this->GetUtf8SourceInfo()->GetSrcInfo()->sourceContextInfo->sourceContextId, /* script id */
1984
1985
this->functionId, /* function id */
1985
1986
propertyRecordList,
1986
- (Attributes)(this->GetAttributes() & ~(Attributes::DeferredDeserialize | Attributes::DeferredParse))
1987
+ (Attributes)(this->GetAttributes() & ~(Attributes::DeferredDeserialize | Attributes::DeferredParse)),
1988
+ Js::FunctionBody::FunctionBodyFlags::Flags_HasNoExplicitReturnValue
1987
1989
#ifdef PERF_COUNTERS
1988
1990
, false /* is function from deferred deserialized proxy */
1989
1991
#endif
0 commit comments