JS_GetSharedFloat64ArrayData(JSObject* obj, const JS::AutoCheckCannotGC&)
{
    obj = CheckedUnwrap(obj);
    if (!obj)
        return nullptr;
    SharedTypedArrayObject* tarr = &obj->as<SharedTypedArrayObject>();
    MOZ_ASSERT((int32_t) tarr->type() == Scalar::Float64);
    return static_cast<double*>(tarr->viewData());
}
 static void
 setIndex(SharedTypedArrayObject &tarray, uint32_t index, NativeType val)
 {
     MOZ_ASSERT(index < tarray.length());
     static_cast<NativeType*>(tarray.viewData())[index] = val;
 }