// For Eval calls the FrameDisplay is passed in as an extra argument. // This is not counted in Info.Count. Use this API to get the updated count. ArgSlot CallInfo::GetArgCountWithExtraArgs(CallFlags flags, uint count) { AssertOrFailFastMsg(count < Constants::UShortMaxValue - 1, "ArgList too large"); ArgSlot argSlotCount = (ArgSlot)count; if (CallInfo::HasExtraArg(flags)) { argSlotCount++; } return argSlotCount; }
JavascriptStringObject* JavascriptStringObject::FromVar(Var aValue) { AssertOrFailFastMsg(Is(aValue), "Ensure var is actually a 'JavascriptString'"); return static_cast<JavascriptStringObject *>(aValue); }
long SharedContents::Release() { long ret = InterlockedDecrement(&refCount); AssertOrFailFastMsg(ret >= 0, "Buffer already freed"); return ret; }
SharedArrayBuffer* SharedArrayBuffer::FromVar(Var aValue) { AssertOrFailFastMsg(Is(aValue), "var must be an SharedArrayBuffer"); return static_cast<SharedArrayBuffer *>(aValue); }
JavascriptSymbol* JavascriptSymbol::FromVar(Js::Var aValue) { AssertOrFailFastMsg(Is(aValue), "Ensure var is actually a 'JavascriptSymbol'"); return static_cast<JavascriptSymbol *>(aValue); }