Var DataView::EntryGetterByteLength(RecyclableObject* function, CallInfo callInfo, ...) { PROBE_STACK(function->GetScriptContext(), Js::Constants::MinStackDefault); ARGUMENTS(args, callInfo); ScriptContext* scriptContext = function->GetScriptContext(); Assert(!(callInfo.Flags & CallFlags_New)); if (args.Info.Count == 0 || !DataView::Is(args[0])) { JavascriptError::ThrowTypeError(scriptContext, JSERR_This_NeedDataView); } DataView* dataView = DataView::FromVar(args[0]); ArrayBuffer* arrayBuffer = dataView->GetArrayBuffer(); if (arrayBuffer == nullptr) { JavascriptError::ThrowTypeError(scriptContext, JSERR_NeedArrayBufferObject); } else if (arrayBuffer->IsDetached()) { return TaggedInt::ToVarUnchecked(0); } return JavascriptNumber::ToVar(dataView->GetLength(), scriptContext); }