aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2018-05-23 23:04:49 +0200
committerLars Knoll <lars.knoll@qt.io>2018-05-24 08:09:33 +0000
commitde95f4da8bf1e16127aae5e34b3b9f34b1f7bbba (patch)
treeb5c213488b5dba7b683c09a88d875cce9e734617
parent4613068e9fc4a03048de8bf481c34e7f0aeb0299 (diff)
Fix the inheritance structure for typed arrays
Change-Id: I8a16c1f5e0252b4ea85ff8f623beb39df747e383 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
-rw-r--r--src/qml/jsruntime/qv4engine.cpp5
-rw-r--r--src/qml/jsruntime/qv4engine_p.h4
-rw-r--r--src/qml/jsruntime/qv4typedarray.cpp70
-rw-r--r--src/qml/jsruntime/qv4typedarray_p.h29
-rw-r--r--tests/auto/qml/ecmascripttests/TestExpectations124
5 files changed, 80 insertions, 152 deletions
diff --git a/src/qml/jsruntime/qv4engine.cpp b/src/qml/jsruntime/qv4engine.cpp
index 96670154e1..acc650f9f5 100644
--- a/src/qml/jsruntime/qv4engine.cpp
+++ b/src/qml/jsruntime/qv4engine.cpp
@@ -467,6 +467,11 @@ ExecutionEngine::ExecutionEngine(QJSEngine *jsEngine)
jsObjects[ValueTypeProto] = (Heap::Base *) nullptr;
jsObjects[SignalHandlerProto] = (Heap::Base *) nullptr;
+ jsObjects[IntrinsicTypedArray_Ctor] = memoryManager->allocate<IntrinsicTypedArrayCtor>(global);
+ jsObjects[IntrinsicTypedArrayProto] = memoryManager->allocate<IntrinsicTypedArrayPrototype>();
+ static_cast<IntrinsicTypedArrayPrototype *>(intrinsicTypedArrayPrototype())
+ ->init(this, static_cast<IntrinsicTypedArrayCtor *>(intrinsicTypedArrayCtor()));
+
for (int i = 0; i < Heap::TypedArray::NTypes; ++i) {
static_cast<Value &>(typedArrayCtors[i]) = memoryManager->allocate<TypedArrayCtor>(global, Heap::TypedArray::Type(i));
static_cast<Value &>(typedArrayPrototype[i]) = memoryManager->allocate<TypedArrayPrototype>(Heap::TypedArray::Type(i));
diff --git a/src/qml/jsruntime/qv4engine_p.h b/src/qml/jsruntime/qv4engine_p.h
index 99594cc81a..86421c2ddc 100644
--- a/src/qml/jsruntime/qv4engine_p.h
+++ b/src/qml/jsruntime/qv4engine_p.h
@@ -188,6 +188,7 @@ public:
#endif
ArrayBufferProto,
DataViewProto,
+ IntrinsicTypedArrayProto,
ValueTypeProto,
SignalHandlerProto,
IteratorProto,
@@ -214,6 +215,7 @@ public:
URIError_Ctor,
ArrayBuffer_Ctor,
DataView_Ctor,
+ IntrinsicTypedArray_Ctor,
GetSymbolSpecies,
@@ -247,6 +249,7 @@ public:
FunctionObject *uRIErrorCtor() const { return reinterpret_cast<FunctionObject *>(jsObjects + URIError_Ctor); }
FunctionObject *arrayBufferCtor() const { return reinterpret_cast<FunctionObject *>(jsObjects + ArrayBuffer_Ctor); }
FunctionObject *dataViewCtor() const { return reinterpret_cast<FunctionObject *>(jsObjects + DataView_Ctor); }
+ FunctionObject *intrinsicTypedArrayCtor() const { return reinterpret_cast<FunctionObject *>(jsObjects + IntrinsicTypedArray_Ctor); }
FunctionObject *typedArrayCtors;
FunctionObject *getSymbolSpecies() const { return reinterpret_cast<FunctionObject *>(jsObjects + GetSymbolSpecies); }
@@ -277,6 +280,7 @@ public:
Object *arrayBufferPrototype() const { return reinterpret_cast<Object *>(jsObjects + ArrayBufferProto); }
Object *dataViewPrototype() const { return reinterpret_cast<Object *>(jsObjects + DataViewProto); }
+ Object *intrinsicTypedArrayPrototype() const { return reinterpret_cast<Object *>(jsObjects + IntrinsicTypedArrayProto); }
Object *typedArrayPrototype;
Object *valueTypeWrapperPrototype() const { return reinterpret_cast<Object *>(jsObjects + ValueTypeProto); }
diff --git a/src/qml/jsruntime/qv4typedarray.cpp b/src/qml/jsruntime/qv4typedarray.cpp
index 5e7a0bba81..c62c114e53 100644
--- a/src/qml/jsruntime/qv4typedarray.cpp
+++ b/src/qml/jsruntime/qv4typedarray.cpp
@@ -48,6 +48,8 @@
using namespace QV4;
+DEFINE_OBJECT_VTABLE(IntrinsicTypedArrayCtor);
+DEFINE_OBJECT_VTABLE(IntrinsicTypedArrayPrototype);
DEFINE_OBJECT_VTABLE(TypedArrayCtor);
DEFINE_OBJECT_VTABLE(TypedArrayPrototype);
DEFINE_OBJECT_VTABLE(TypedArray);
@@ -346,9 +348,9 @@ ReturnedValue TypedArrayCtor::callAsConstructor(const FunctionObject *f, const V
return array.asReturnedValue();
}
-ReturnedValue TypedArrayCtor::call(const FunctionObject *f, const Value *, const Value *argv, int argc)
+ReturnedValue TypedArrayCtor::call(const FunctionObject *f, const Value *, const Value *, int)
{
- return callAsConstructor(f, argv, argc);
+ return f->engine()->throwTypeError(QStringLiteral("calling a TypedArray constructor without new is invalid"));
}
void Heap::TypedArray::init(Type t)
@@ -404,27 +406,18 @@ void TypedArrayPrototype::init(ExecutionEngine *engine, TypedArrayCtor *ctor)
{
Scope scope(engine);
ScopedObject o(scope);
+
ctor->defineReadonlyConfigurableProperty(engine->id_length(), Primitive::fromInt32(3));
- ctor->defineReadonlyProperty(engine->id_prototype(), (o = this));
+ ctor->defineReadonlyProperty(engine->id_prototype(), *this);
ctor->defineReadonlyProperty(QStringLiteral("BYTES_PER_ELEMENT"), Primitive::fromInt32(operations[ctor->d()->type].bytesPerElement));
- ctor->addSymbolSpecies();
+ ctor->setPrototype(engine->intrinsicTypedArrayCtor());
+ setPrototype(engine->intrinsicTypedArrayPrototype());
defineDefaultProperty(engine->id_constructor(), (o = ctor));
- defineAccessorProperty(QStringLiteral("buffer"), method_get_buffer, nullptr);
- defineAccessorProperty(QStringLiteral("byteLength"), method_get_byteLength, nullptr);
- defineAccessorProperty(QStringLiteral("byteOffset"), method_get_byteOffset, nullptr);
- defineAccessorProperty(QStringLiteral("length"), method_get_length, nullptr);
defineReadonlyProperty(QStringLiteral("BYTES_PER_ELEMENT"), Primitive::fromInt32(operations[ctor->d()->type].bytesPerElement));
-
- defineDefaultProperty(QStringLiteral("entries"), method_entries, 0);
- defineDefaultProperty(QStringLiteral("keys"), method_keys, 0);
- defineDefaultProperty(QStringLiteral("values"), method_values, 0);
- defineDefaultProperty(QStringLiteral("set"), method_set, 1);
- defineDefaultProperty(QStringLiteral("subarray"), method_subarray, 0);
- defineDefaultProperty(engine->symbol_iterator(), method_values, 0);
}
-ReturnedValue TypedArrayPrototype::method_get_buffer(const FunctionObject *b, const Value *thisObject, const Value *, int)
+ReturnedValue IntrinsicTypedArrayPrototype::method_get_buffer(const FunctionObject *b, const Value *thisObject, const Value *, int)
{
ExecutionEngine *v4 = b->engine();
const TypedArray *v = thisObject->as<TypedArray>();
@@ -434,7 +427,7 @@ ReturnedValue TypedArrayPrototype::method_get_buffer(const FunctionObject *b, co
return v->d()->buffer->asReturnedValue();
}
-ReturnedValue TypedArrayPrototype::method_get_byteLength(const FunctionObject *b, const Value *thisObject, const Value *, int)
+ReturnedValue IntrinsicTypedArrayPrototype::method_get_byteLength(const FunctionObject *b, const Value *thisObject, const Value *, int)
{
ExecutionEngine *v4 = b->engine();
const TypedArray *v = thisObject->as<TypedArray>();
@@ -444,7 +437,7 @@ ReturnedValue TypedArrayPrototype::method_get_byteLength(const FunctionObject *b
return Encode(v->d()->byteLength);
}
-ReturnedValue TypedArrayPrototype::method_get_byteOffset(const FunctionObject *b, const Value *thisObject, const Value *, int)
+ReturnedValue IntrinsicTypedArrayPrototype::method_get_byteOffset(const FunctionObject *b, const Value *thisObject, const Value *, int)
{
ExecutionEngine *v4 = b->engine();
const TypedArray *v = thisObject->as<TypedArray>();
@@ -454,7 +447,7 @@ ReturnedValue TypedArrayPrototype::method_get_byteOffset(const FunctionObject *b
return Encode(v->d()->byteOffset);
}
-ReturnedValue TypedArrayPrototype::method_get_length(const FunctionObject *b, const Value *thisObject, const Value *, int)
+ReturnedValue IntrinsicTypedArrayPrototype::method_get_length(const FunctionObject *b, const Value *thisObject, const Value *, int)
{
ExecutionEngine *v4 = b->engine();
const TypedArray *v = thisObject->as<TypedArray>();
@@ -464,7 +457,7 @@ ReturnedValue TypedArrayPrototype::method_get_length(const FunctionObject *b, co
return Encode(v->d()->byteLength/v->d()->type->bytesPerElement);
}
-ReturnedValue TypedArrayPrototype::method_entries(const FunctionObject *b, const Value *thisObject, const Value *, int)
+ReturnedValue IntrinsicTypedArrayPrototype::method_entries(const FunctionObject *b, const Value *thisObject, const Value *, int)
{
Scope scope(b);
Scoped<TypedArray> O(scope, thisObject);
@@ -476,7 +469,7 @@ ReturnedValue TypedArrayPrototype::method_entries(const FunctionObject *b, const
return ao->asReturnedValue();
}
-ReturnedValue TypedArrayPrototype::method_keys(const FunctionObject *b, const Value *thisObject, const Value *, int)
+ReturnedValue IntrinsicTypedArrayPrototype::method_keys(const FunctionObject *b, const Value *thisObject, const Value *, int)
{
Scope scope(b);
Scoped<TypedArray> O(scope, thisObject);
@@ -488,7 +481,7 @@ ReturnedValue TypedArrayPrototype::method_keys(const FunctionObject *b, const Va
return ao->asReturnedValue();
}
-ReturnedValue TypedArrayPrototype::method_values(const FunctionObject *b, const Value *thisObject, const Value *, int)
+ReturnedValue IntrinsicTypedArrayPrototype::method_values(const FunctionObject *b, const Value *thisObject, const Value *, int)
{
Scope scope(b);
Scoped<TypedArray> O(scope, thisObject);
@@ -500,7 +493,7 @@ ReturnedValue TypedArrayPrototype::method_values(const FunctionObject *b, const
return ao->asReturnedValue();
}
-ReturnedValue TypedArrayPrototype::method_set(const FunctionObject *b, const Value *thisObject, const Value *argv, int argc)
+ReturnedValue IntrinsicTypedArrayPrototype::method_set(const FunctionObject *b, const Value *thisObject, const Value *argv, int argc)
{
Scope scope(b);
Scoped<TypedArray> a(scope, *thisObject);
@@ -589,7 +582,7 @@ ReturnedValue TypedArrayPrototype::method_set(const FunctionObject *b, const Val
RETURN_UNDEFINED();
}
-ReturnedValue TypedArrayPrototype::method_subarray(const FunctionObject *builtin, const Value *thisObject, const Value *argv, int argc)
+ReturnedValue IntrinsicTypedArrayPrototype::method_subarray(const FunctionObject *builtin, const Value *thisObject, const Value *argv, int argc)
{
Scope scope(builtin);
Scoped<TypedArray> a(scope, *thisObject);
@@ -629,3 +622,32 @@ ReturnedValue TypedArrayPrototype::method_subarray(const FunctionObject *builtin
arguments[2] = Encode(newLen);
return constructor->callAsConstructor(arguments, 3);
}
+
+ReturnedValue IntrinsicTypedArrayCtor::callAsConstructor(const FunctionObject *f, const Value *, int)
+{
+ return f->engine()->throwTypeError();
+}
+
+ReturnedValue IntrinsicTypedArrayCtor::call(const FunctionObject *f, const Value *, const Value *, int)
+{
+ return f->engine()->throwTypeError();
+}
+
+void IntrinsicTypedArrayPrototype::init(ExecutionEngine *engine, IntrinsicTypedArrayCtor *ctor)
+{
+ ctor->defineReadonlyProperty(engine->id_prototype(), *this);
+ ctor->defineReadonlyConfigurableProperty(engine->id_length(), Primitive::fromInt32(0));
+ ctor->addSymbolSpecies();
+
+ defineAccessorProperty(QStringLiteral("buffer"), method_get_buffer, nullptr);
+ defineAccessorProperty(QStringLiteral("byteLength"), method_get_byteLength, nullptr);
+ defineAccessorProperty(QStringLiteral("byteOffset"), method_get_byteOffset, nullptr);
+ defineAccessorProperty(QStringLiteral("length"), method_get_length, nullptr);
+
+ defineDefaultProperty(QStringLiteral("entries"), method_entries, 0);
+ defineDefaultProperty(QStringLiteral("keys"), method_keys, 0);
+ defineDefaultProperty(QStringLiteral("values"), method_values, 0);
+ defineDefaultProperty(QStringLiteral("set"), method_set, 1);
+ defineDefaultProperty(QStringLiteral("subarray"), method_subarray, 0);
+ defineDefaultProperty(engine->symbol_iterator(), method_values, 0);
+}
diff --git a/src/qml/jsruntime/qv4typedarray_p.h b/src/qml/jsruntime/qv4typedarray_p.h
index 74561f9c35..5f1d343b36 100644
--- a/src/qml/jsruntime/qv4typedarray_p.h
+++ b/src/qml/jsruntime/qv4typedarray_p.h
@@ -97,12 +97,18 @@ DECLARE_HEAP_OBJECT(TypedArray, Object) {
void init(Type t);
};
+struct IntrinsicTypedArrayCtor : FunctionObject {
+};
+
struct TypedArrayCtor : FunctionObject {
void init(QV4::ExecutionContext *scope, TypedArray::Type t);
TypedArray::Type type;
};
+struct IntrinsicTypedArrayPrototype : Object {
+};
+
struct TypedArrayPrototype : Object {
inline void init(TypedArray::Type t);
TypedArray::Type type;
@@ -137,6 +143,14 @@ struct Q_QML_PRIVATE_EXPORT TypedArray : Object
static bool putIndexed(Managed *m, uint index, const Value &value);
};
+struct IntrinsicTypedArrayCtor: FunctionObject
+{
+ V4_OBJECT2(IntrinsicTypedArrayCtor, FunctionObject)
+
+ static ReturnedValue callAsConstructor(const FunctionObject *f, const Value *argv, int argc);
+ static ReturnedValue call(const FunctionObject *f, const Value *thisObject, const Value *argv, int argc);
+};
+
struct TypedArrayCtor: FunctionObject
{
V4_OBJECT2(TypedArrayCtor, FunctionObject)
@@ -145,13 +159,12 @@ struct TypedArrayCtor: FunctionObject
static ReturnedValue call(const FunctionObject *f, const Value *thisObject, const Value *argv, int argc);
};
-
-struct TypedArrayPrototype : Object
+struct IntrinsicTypedArrayPrototype : Object
{
- V4_OBJECT2(TypedArrayPrototype, Object)
+ V4_OBJECT2(IntrinsicTypedArrayPrototype, Object)
V4_PROTOTYPE(objectPrototype)
- void init(ExecutionEngine *engine, TypedArrayCtor *ctor);
+ void init(ExecutionEngine *engine, IntrinsicTypedArrayCtor *ctor);
static ReturnedValue method_get_buffer(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
static ReturnedValue method_get_byteLength(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
@@ -165,6 +178,14 @@ struct TypedArrayPrototype : Object
static ReturnedValue method_subarray(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
};
+struct TypedArrayPrototype : Object
+{
+ V4_OBJECT2(TypedArrayPrototype, Object)
+ V4_PROTOTYPE(objectPrototype)
+
+ void init(ExecutionEngine *engine, TypedArrayCtor *ctor);
+};
+
inline void
Heap::TypedArrayPrototype::init(TypedArray::Type t)
{
diff --git a/tests/auto/qml/ecmascripttests/TestExpectations b/tests/auto/qml/ecmascripttests/TestExpectations
index 08319f3407..e60754a103 100644
--- a/tests/auto/qml/ecmascripttests/TestExpectations
+++ b/tests/auto/qml/ecmascripttests/TestExpectations
@@ -2103,10 +2103,6 @@ built-ins/Symbol/toPrimitive/cross-realm.js fails
built-ins/Symbol/toStringTag/cross-realm.js fails
built-ins/Symbol/unscopables/cross-realm.js fails
built-ins/ThrowTypeError/distinct-cross-realm.js fails
-built-ins/TypedArray/Symbol.species/length.js fails
-built-ins/TypedArray/Symbol.species/name.js fails
-built-ins/TypedArray/Symbol.species/prop-desc.js fails
-built-ins/TypedArray/Symbol.species/result.js fails
built-ins/TypedArray/from/arylk-get-length-error.js fails
built-ins/TypedArray/from/arylk-to-length-error.js fails
built-ins/TypedArray/from/iter-access-error.js fails
@@ -2116,15 +2112,12 @@ built-ins/TypedArray/from/iter-next-value-error.js fails
built-ins/TypedArray/from/length.js fails
built-ins/TypedArray/from/name.js fails
built-ins/TypedArray/from/prop-desc.js fails
-built-ins/TypedArray/invoked.js fails
built-ins/TypedArray/name.js fails
built-ins/TypedArray/of/length.js fails
built-ins/TypedArray/of/name.js fails
built-ins/TypedArray/of/prop-desc.js fails
-built-ins/TypedArray/prototype.js fails
built-ins/TypedArray/prototype/Symbol.iterator.js fails
built-ins/TypedArray/prototype/Symbol.toStringTag/detached-buffer.js fails
-built-ins/TypedArray/prototype/Symbol.toStringTag/invoked-as-accessor.js fails
built-ins/TypedArray/prototype/Symbol.toStringTag/invoked-as-func.js fails
built-ins/TypedArray/prototype/Symbol.toStringTag/length.js fails
built-ins/TypedArray/prototype/Symbol.toStringTag/name.js fails
@@ -2133,26 +2126,14 @@ built-ins/TypedArray/prototype/Symbol.toStringTag/return-typedarrayname.js fails
built-ins/TypedArray/prototype/Symbol.toStringTag/this-has-no-typedarrayname-internal.js fails
built-ins/TypedArray/prototype/Symbol.toStringTag/this-is-not-object.js fails
built-ins/TypedArray/prototype/buffer/detached-buffer.js fails
-built-ins/TypedArray/prototype/buffer/invoked-as-func.js fails
-built-ins/TypedArray/prototype/buffer/length.js fails
built-ins/TypedArray/prototype/buffer/name.js fails
built-ins/TypedArray/prototype/buffer/prop-desc.js fails
-built-ins/TypedArray/prototype/buffer/this-has-no-typedarrayname-internal.js fails
-built-ins/TypedArray/prototype/buffer/this-is-not-object.js fails
built-ins/TypedArray/prototype/byteLength/detached-buffer.js fails
-built-ins/TypedArray/prototype/byteLength/invoked-as-func.js fails
-built-ins/TypedArray/prototype/byteLength/length.js fails
built-ins/TypedArray/prototype/byteLength/name.js fails
built-ins/TypedArray/prototype/byteLength/prop-desc.js fails
-built-ins/TypedArray/prototype/byteLength/this-has-no-typedarrayname-internal.js fails
-built-ins/TypedArray/prototype/byteLength/this-is-not-object.js fails
built-ins/TypedArray/prototype/byteOffset/detached-buffer.js fails
-built-ins/TypedArray/prototype/byteOffset/invoked-as-func.js fails
-built-ins/TypedArray/prototype/byteOffset/length.js fails
built-ins/TypedArray/prototype/byteOffset/name.js fails
built-ins/TypedArray/prototype/byteOffset/prop-desc.js fails
-built-ins/TypedArray/prototype/byteOffset/this-has-no-typedarrayname-internal.js fails
-built-ins/TypedArray/prototype/byteOffset/this-is-not-object.js fails
built-ins/TypedArray/prototype/constructor.js fails
built-ins/TypedArray/prototype/copyWithin/bit-precision.js fails
built-ins/TypedArray/prototype/copyWithin/coerced-values-end.js fails
@@ -2179,17 +2160,8 @@ built-ins/TypedArray/prototype/copyWithin/return-abrupt-from-end.js fails
built-ins/TypedArray/prototype/copyWithin/return-abrupt-from-start.js fails
built-ins/TypedArray/prototype/copyWithin/return-abrupt-from-target.js fails
built-ins/TypedArray/prototype/copyWithin/return-this.js fails
-built-ins/TypedArray/prototype/copyWithin/this-is-not-object.js fails
-built-ins/TypedArray/prototype/copyWithin/this-is-not-typedarray-instance.js fails
built-ins/TypedArray/prototype/copyWithin/undefined-end.js fails
built-ins/TypedArray/prototype/entries/detached-buffer.js fails
-built-ins/TypedArray/prototype/entries/invoked-as-func.js fails
-built-ins/TypedArray/prototype/entries/invoked-as-method.js fails
-built-ins/TypedArray/prototype/entries/length.js fails
-built-ins/TypedArray/prototype/entries/name.js fails
-built-ins/TypedArray/prototype/entries/prop-desc.js fails
-built-ins/TypedArray/prototype/entries/this-is-not-object.js fails
-built-ins/TypedArray/prototype/entries/this-is-not-typedarray-instance.js fails
built-ins/TypedArray/prototype/every/callbackfn-arguments-with-thisarg.js fails
built-ins/TypedArray/prototype/every/callbackfn-arguments-without-thisarg.js fails
built-ins/TypedArray/prototype/every/callbackfn-detachbuffer.js fails
@@ -2208,8 +2180,6 @@ built-ins/TypedArray/prototype/every/name.js fails
built-ins/TypedArray/prototype/every/prop-desc.js fails
built-ins/TypedArray/prototype/every/returns-false-if-any-cb-returns-false.js fails
built-ins/TypedArray/prototype/every/returns-true-if-every-cb-returns-true.js fails
-built-ins/TypedArray/prototype/every/this-is-not-object.js fails
-built-ins/TypedArray/prototype/every/this-is-not-typedarray-instance.js fails
built-ins/TypedArray/prototype/every/values-are-not-cached.js fails
built-ins/TypedArray/prototype/fill/coerced-indexes.js fails
built-ins/TypedArray/prototype/fill/detached-buffer.js fails
@@ -2231,8 +2201,6 @@ built-ins/TypedArray/prototype/fill/return-abrupt-from-end.js fails
built-ins/TypedArray/prototype/fill/return-abrupt-from-set-value.js fails
built-ins/TypedArray/prototype/fill/return-abrupt-from-start.js fails
built-ins/TypedArray/prototype/fill/return-this.js fails
-built-ins/TypedArray/prototype/fill/this-is-not-object.js fails
-built-ins/TypedArray/prototype/fill/this-is-not-typedarray-instance.js fails
built-ins/TypedArray/prototype/filter/arraylength-internal.js fails
built-ins/TypedArray/prototype/filter/callbackfn-arguments-with-thisarg.js fails
built-ins/TypedArray/prototype/filter/callbackfn-arguments-without-thisarg.js fails
@@ -2264,8 +2232,6 @@ built-ins/TypedArray/prototype/filter/speciesctor-get-species-custom-ctor-return
built-ins/TypedArray/prototype/filter/speciesctor-get-species-custom-ctor.js fails
built-ins/TypedArray/prototype/filter/speciesctor-get-species-use-default-ctor.js fails
built-ins/TypedArray/prototype/filter/speciesctor-get-species.js fails
-built-ins/TypedArray/prototype/filter/this-is-not-object.js fails
-built-ins/TypedArray/prototype/filter/this-is-not-typedarray-instance.js fails
built-ins/TypedArray/prototype/filter/values-are-not-cached.js fails
built-ins/TypedArray/prototype/filter/values-are-set.js fails
built-ins/TypedArray/prototype/find/detached-buffer.js fails
@@ -2284,8 +2250,6 @@ built-ins/TypedArray/prototype/find/prop-desc.js fails
built-ins/TypedArray/prototype/find/return-abrupt-from-predicate-call.js fails
built-ins/TypedArray/prototype/find/return-found-value-predicate-result-is-true.js fails
built-ins/TypedArray/prototype/find/return-undefined-if-predicate-returns-false-value.js fails
-built-ins/TypedArray/prototype/find/this-is-not-object.js fails
-built-ins/TypedArray/prototype/find/this-is-not-typedarray-instance.js fails
built-ins/TypedArray/prototype/findIndex/detached-buffer.js fails
built-ins/TypedArray/prototype/findIndex/get-length-ignores-length-prop.js fails
built-ins/TypedArray/prototype/findIndex/invoked-as-func.js fails
@@ -2302,8 +2266,6 @@ built-ins/TypedArray/prototype/findIndex/prop-desc.js fails
built-ins/TypedArray/prototype/findIndex/return-abrupt-from-predicate-call.js fails
built-ins/TypedArray/prototype/findIndex/return-index-predicate-result-is-true.js fails
built-ins/TypedArray/prototype/findIndex/return-negative-one-if-predicate-returns-false-value.js fails
-built-ins/TypedArray/prototype/findIndex/this-is-not-object.js fails
-built-ins/TypedArray/prototype/findIndex/this-is-not-typedarray-instance.js fails
built-ins/TypedArray/prototype/forEach/arraylength-internal.js fails
built-ins/TypedArray/prototype/forEach/callbackfn-arguments-with-thisarg.js fails
built-ins/TypedArray/prototype/forEach/callbackfn-arguments-without-thisarg.js fails
@@ -2321,8 +2283,6 @@ built-ins/TypedArray/prototype/forEach/length.js fails
built-ins/TypedArray/prototype/forEach/name.js fails
built-ins/TypedArray/prototype/forEach/prop-desc.js fails
built-ins/TypedArray/prototype/forEach/returns-undefined.js fails
-built-ins/TypedArray/prototype/forEach/this-is-not-object.js fails
-built-ins/TypedArray/prototype/forEach/this-is-not-typedarray-instance.js fails
built-ins/TypedArray/prototype/forEach/values-are-not-cached.js fails
built-ins/TypedArray/prototype/includes/detached-buffer.js fails
built-ins/TypedArray/prototype/includes/fromIndex-equal-or-greater-length-returns-false.js fails
@@ -2339,8 +2299,6 @@ built-ins/TypedArray/prototype/includes/return-abrupt-tointeger-fromindex.js fai
built-ins/TypedArray/prototype/includes/samevaluezero.js fails
built-ins/TypedArray/prototype/includes/search-found-returns-true.js fails
built-ins/TypedArray/prototype/includes/search-not-found-returns-false.js fails
-built-ins/TypedArray/prototype/includes/this-is-not-object.js fails
-built-ins/TypedArray/prototype/includes/this-is-not-typedarray-instance.js fails
built-ins/TypedArray/prototype/includes/tointeger-fromindex.js fails
built-ins/TypedArray/prototype/indexOf/detached-buffer.js fails
built-ins/TypedArray/prototype/indexOf/fromIndex-equal-or-greater-length-returns-minus-one.js fails
@@ -2357,8 +2315,6 @@ built-ins/TypedArray/prototype/indexOf/return-abrupt-tointeger-fromindex.js fail
built-ins/TypedArray/prototype/indexOf/search-found-returns-index.js fails
built-ins/TypedArray/prototype/indexOf/search-not-found-returns-minus-one.js fails
built-ins/TypedArray/prototype/indexOf/strict-comparison.js fails
-built-ins/TypedArray/prototype/indexOf/this-is-not-object.js fails
-built-ins/TypedArray/prototype/indexOf/this-is-not-typedarray-instance.js fails
built-ins/TypedArray/prototype/indexOf/tointeger-fromindex.js fails
built-ins/TypedArray/prototype/join/custom-separator-result-from-tostring-on-each-simple-value.js fails
built-ins/TypedArray/prototype/join/custom-separator-result-from-tostring-on-each-value.js fails
@@ -2373,16 +2329,7 @@ built-ins/TypedArray/prototype/join/prop-desc.js fails
built-ins/TypedArray/prototype/join/result-from-tostring-on-each-simple-value.js fails
built-ins/TypedArray/prototype/join/result-from-tostring-on-each-value.js fails
built-ins/TypedArray/prototype/join/return-abrupt-from-separator.js fails
-built-ins/TypedArray/prototype/join/this-is-not-object.js fails
-built-ins/TypedArray/prototype/join/this-is-not-typedarray-instance.js fails
built-ins/TypedArray/prototype/keys/detached-buffer.js fails
-built-ins/TypedArray/prototype/keys/invoked-as-func.js fails
-built-ins/TypedArray/prototype/keys/invoked-as-method.js fails
-built-ins/TypedArray/prototype/keys/length.js fails
-built-ins/TypedArray/prototype/keys/name.js fails
-built-ins/TypedArray/prototype/keys/prop-desc.js fails
-built-ins/TypedArray/prototype/keys/this-is-not-object.js fails
-built-ins/TypedArray/prototype/keys/this-is-not-typedarray-instance.js fails
built-ins/TypedArray/prototype/lastIndexOf/detached-buffer.js fails
built-ins/TypedArray/prototype/lastIndexOf/fromIndex-infinity.js fails
built-ins/TypedArray/prototype/lastIndexOf/fromIndex-minus-zero.js fails
@@ -2397,16 +2344,10 @@ built-ins/TypedArray/prototype/lastIndexOf/return-abrupt-tointeger-fromindex.js
built-ins/TypedArray/prototype/lastIndexOf/search-found-returns-index.js fails
built-ins/TypedArray/prototype/lastIndexOf/search-not-found-returns-minus-one.js fails
built-ins/TypedArray/prototype/lastIndexOf/strict-comparison.js fails
-built-ins/TypedArray/prototype/lastIndexOf/this-is-not-object.js fails
-built-ins/TypedArray/prototype/lastIndexOf/this-is-not-typedarray-instance.js fails
built-ins/TypedArray/prototype/lastIndexOf/tointeger-fromindex.js fails
built-ins/TypedArray/prototype/length/detached-buffer.js fails
-built-ins/TypedArray/prototype/length/invoked-as-func.js fails
-built-ins/TypedArray/prototype/length/length.js fails
built-ins/TypedArray/prototype/length/name.js fails
built-ins/TypedArray/prototype/length/prop-desc.js fails
-built-ins/TypedArray/prototype/length/this-has-no-typedarrayname-internal.js fails
-built-ins/TypedArray/prototype/length/this-is-not-object.js fails
built-ins/TypedArray/prototype/map/arraylength-internal.js fails
built-ins/TypedArray/prototype/map/callbackfn-arguments-with-thisarg.js fails
built-ins/TypedArray/prototype/map/callbackfn-arguments-without-thisarg.js fails
@@ -2429,8 +2370,6 @@ built-ins/TypedArray/prototype/map/return-new-typedarray-conversion-operation-co
built-ins/TypedArray/prototype/map/return-new-typedarray-conversion-operation.js fails
built-ins/TypedArray/prototype/map/return-new-typedarray-from-empty-length.js fails
built-ins/TypedArray/prototype/map/return-new-typedarray-from-positive-length.js fails
-built-ins/TypedArray/prototype/map/this-is-not-object.js fails
-built-ins/TypedArray/prototype/map/this-is-not-typedarray-instance.js fails
built-ins/TypedArray/prototype/map/values-are-not-cached.js fails
built-ins/TypedArray/prototype/reduce/callbackfn-arguments-custom-accumulator.js fails
built-ins/TypedArray/prototype/reduce/callbackfn-arguments-default-accumulator.js fails
@@ -2452,8 +2391,6 @@ built-ins/TypedArray/prototype/reduce/prop-desc.js fails
built-ins/TypedArray/prototype/reduce/result-is-last-callbackfn-return.js fails
built-ins/TypedArray/prototype/reduce/result-of-any-type.js fails
built-ins/TypedArray/prototype/reduce/return-first-value-without-callbackfn.js fails
-built-ins/TypedArray/prototype/reduce/this-is-not-object.js fails
-built-ins/TypedArray/prototype/reduce/this-is-not-typedarray-instance.js fails
built-ins/TypedArray/prototype/reduce/values-are-not-cached.js fails
built-ins/TypedArray/prototype/reduceRight/callbackfn-arguments-custom-accumulator.js fails
built-ins/TypedArray/prototype/reduceRight/callbackfn-arguments-default-accumulator.js fails
@@ -2475,8 +2412,6 @@ built-ins/TypedArray/prototype/reduceRight/prop-desc.js fails
built-ins/TypedArray/prototype/reduceRight/result-is-last-callbackfn-return.js fails
built-ins/TypedArray/prototype/reduceRight/result-of-any-type.js fails
built-ins/TypedArray/prototype/reduceRight/return-first-value-without-callbackfn.js fails
-built-ins/TypedArray/prototype/reduceRight/this-is-not-object.js fails
-built-ins/TypedArray/prototype/reduceRight/this-is-not-typedarray-instance.js fails
built-ins/TypedArray/prototype/reduceRight/values-are-not-cached.js fails
built-ins/TypedArray/prototype/reverse/detached-buffer.js fails
built-ins/TypedArray/prototype/reverse/get-length-uses-internal-arraylength.js fails
@@ -2488,20 +2423,11 @@ built-ins/TypedArray/prototype/reverse/preserves-non-numeric-properties.js fails
built-ins/TypedArray/prototype/reverse/prop-desc.js fails
built-ins/TypedArray/prototype/reverse/returns-original-object.js fails
built-ins/TypedArray/prototype/reverse/reverts.js fails
-built-ins/TypedArray/prototype/reverse/this-is-not-object.js fails
-built-ins/TypedArray/prototype/reverse/this-is-not-typedarray-instance.js fails
built-ins/TypedArray/prototype/set/array-arg-set-values-in-order.js fails
built-ins/TypedArray/prototype/set/array-arg-target-arraylength-internal.js fails
built-ins/TypedArray/prototype/set/array-arg-targetbuffer-detached-on-get-src-value-throws.js fails
built-ins/TypedArray/prototype/set/array-arg-targetbuffer-detached-on-tointeger-offset-throws.js fails
built-ins/TypedArray/prototype/set/array-arg-targetbuffer-detached-throws.js fails
-built-ins/TypedArray/prototype/set/invoked-as-func.js fails
-built-ins/TypedArray/prototype/set/invoked-as-method.js fails
-built-ins/TypedArray/prototype/set/length.js fails
-built-ins/TypedArray/prototype/set/name.js fails
-built-ins/TypedArray/prototype/set/prop-desc.js fails
-built-ins/TypedArray/prototype/set/this-is-not-object.js fails
-built-ins/TypedArray/prototype/set/this-is-not-typedarray-instance.js fails
built-ins/TypedArray/prototype/set/typedarray-arg-src-arraylength-internal.js fails
built-ins/TypedArray/prototype/set/typedarray-arg-src-byteoffset-internal.js fails
built-ins/TypedArray/prototype/set/typedarray-arg-srcbuffer-detached-during-tointeger-offset-throws.js fails
@@ -2537,8 +2463,6 @@ built-ins/TypedArray/prototype/slice/speciesctor-get-species-custom-ctor-returns
built-ins/TypedArray/prototype/slice/speciesctor-get-species-custom-ctor.js fails
built-ins/TypedArray/prototype/slice/speciesctor-get-species-use-default-ctor.js fails
built-ins/TypedArray/prototype/slice/speciesctor-get-species.js fails
-built-ins/TypedArray/prototype/slice/this-is-not-object.js fails
-built-ins/TypedArray/prototype/slice/this-is-not-typedarray-instance.js fails
built-ins/TypedArray/prototype/slice/tointeger-end.js fails
built-ins/TypedArray/prototype/slice/tointeger-start.js fails
built-ins/TypedArray/prototype/some/callbackfn-arguments-with-thisarg.js fails
@@ -2559,8 +2483,6 @@ built-ins/TypedArray/prototype/some/name.js fails
built-ins/TypedArray/prototype/some/prop-desc.js fails
built-ins/TypedArray/prototype/some/returns-false-if-every-cb-returns-false.js fails
built-ins/TypedArray/prototype/some/returns-true-if-any-cb-returns-true.js fails
-built-ins/TypedArray/prototype/some/this-is-not-object.js fails
-built-ins/TypedArray/prototype/some/this-is-not-typedarray-instance.js fails
built-ins/TypedArray/prototype/some/values-are-not-cached.js fails
built-ins/TypedArray/prototype/sort/arraylength-internal.js fails
built-ins/TypedArray/prototype/sort/comparefn-call-throws.js fails
@@ -2576,14 +2498,8 @@ built-ins/TypedArray/prototype/sort/return-same-instance.js fails
built-ins/TypedArray/prototype/sort/sortcompare-with-no-tostring.js fails
built-ins/TypedArray/prototype/sort/sorted-values-nan.js fails
built-ins/TypedArray/prototype/sort/sorted-values.js fails
-built-ins/TypedArray/prototype/sort/this-is-not-object.js fails
-built-ins/TypedArray/prototype/sort/this-is-not-typedarray-instance.js fails
built-ins/TypedArray/prototype/subarray/detached-buffer.js fails
-built-ins/TypedArray/prototype/subarray/invoked-as-func.js fails
-built-ins/TypedArray/prototype/subarray/invoked-as-method.js fails
built-ins/TypedArray/prototype/subarray/length.js fails
-built-ins/TypedArray/prototype/subarray/name.js fails
-built-ins/TypedArray/prototype/subarray/prop-desc.js fails
built-ins/TypedArray/prototype/subarray/speciesctor-get-ctor-inherited.js fails
built-ins/TypedArray/prototype/subarray/speciesctor-get-ctor.js fails
built-ins/TypedArray/prototype/subarray/speciesctor-get-species-abrupt.js fails
@@ -2592,18 +2508,13 @@ built-ins/TypedArray/prototype/subarray/speciesctor-get-species-custom-ctor-retu
built-ins/TypedArray/prototype/subarray/speciesctor-get-species-custom-ctor.js fails
built-ins/TypedArray/prototype/subarray/speciesctor-get-species-use-default-ctor.js fails
built-ins/TypedArray/prototype/subarray/speciesctor-get-species.js fails
-built-ins/TypedArray/prototype/subarray/this-is-not-object.js fails
-built-ins/TypedArray/prototype/subarray/this-is-not-typedarray-instance.js fails
built-ins/TypedArray/prototype/toLocaleString/calls-tolocalestring-from-each-value.js fails
built-ins/TypedArray/prototype/toLocaleString/calls-tostring-from-each-value.js fails
built-ins/TypedArray/prototype/toLocaleString/calls-valueof-from-each-value.js fails
built-ins/TypedArray/prototype/toLocaleString/detached-buffer.js fails
built-ins/TypedArray/prototype/toLocaleString/empty-instance-returns-empty-string.js fails
built-ins/TypedArray/prototype/toLocaleString/get-length-uses-internal-arraylength.js fails
-built-ins/TypedArray/prototype/toLocaleString/invoked-as-func.js fails
built-ins/TypedArray/prototype/toLocaleString/invoked-as-method.js fails
-built-ins/TypedArray/prototype/toLocaleString/length.js fails
-built-ins/TypedArray/prototype/toLocaleString/name.js fails
built-ins/TypedArray/prototype/toLocaleString/prop-desc.js fails
built-ins/TypedArray/prototype/toLocaleString/return-abrupt-from-firstelement-tolocalestring.js fails
built-ins/TypedArray/prototype/toLocaleString/return-abrupt-from-firstelement-tostring.js fails
@@ -2617,39 +2528,20 @@ built-ins/TypedArray/prototype/toLocaleString/this-is-not-typedarray-instance.js
built-ins/TypedArray/prototype/toString.js fails
built-ins/TypedArray/prototype/toString/detached-buffer.js fails
built-ins/TypedArray/prototype/values/detached-buffer.js fails
-built-ins/TypedArray/prototype/values/invoked-as-func.js fails
-built-ins/TypedArray/prototype/values/invoked-as-method.js fails
-built-ins/TypedArray/prototype/values/length.js fails
-built-ins/TypedArray/prototype/values/name.js fails
-built-ins/TypedArray/prototype/values/prop-desc.js fails
-built-ins/TypedArray/prototype/values/this-is-not-object.js fails
-built-ins/TypedArray/prototype/values/this-is-not-typedarray-instance.js fails
-built-ins/TypedArrays/Float32Array/prototype/proto.js fails
-built-ins/TypedArrays/Float64Array/prototype/proto.js fails
-built-ins/TypedArrays/Int16Array/prototype/proto.js fails
-built-ins/TypedArrays/Int32Array/prototype/proto.js fails
-built-ins/TypedArrays/Int8Array/prototype/proto.js fails
-built-ins/TypedArrays/Uint16Array/prototype/proto.js fails
-built-ins/TypedArrays/Uint32Array/prototype/proto.js fails
-built-ins/TypedArrays/Uint8Array/prototype/proto.js fails
-built-ins/TypedArrays/Uint8ClampedArray/prototype/proto.js fails
built-ins/TypedArrays/ctors/buffer-arg/byteoffset-to-number-detachbuffer.js fails
built-ins/TypedArrays/ctors/buffer-arg/custom-proto-access-throws.js fails
built-ins/TypedArrays/ctors/buffer-arg/defined-negative-length.js fails
built-ins/TypedArrays/ctors/buffer-arg/detachedbuffer.js fails
-built-ins/TypedArrays/ctors/buffer-arg/invoked-with-undefined-newtarget.js fails
built-ins/TypedArrays/ctors/buffer-arg/length-to-number-detachbuffer.js fails
built-ins/TypedArrays/ctors/buffer-arg/proto-from-ctor-realm.js fails
built-ins/TypedArrays/ctors/buffer-arg/use-custom-proto-if-object.js fails
built-ins/TypedArrays/ctors/buffer-arg/use-default-proto-if-custom-proto-is-not-object.js fails
built-ins/TypedArrays/ctors/length-arg/custom-proto-access-throws.js fails
built-ins/TypedArrays/ctors/length-arg/proto-from-ctor-realm.js fails
-built-ins/TypedArrays/ctors/length-arg/undefined-newtarget-throws.js fails
built-ins/TypedArrays/ctors/length-arg/use-custom-proto-if-object.js fails
built-ins/TypedArrays/ctors/length-arg/use-default-proto-if-custom-proto-is-not-object.js fails
built-ins/TypedArrays/ctors/no-args/custom-proto-access-throws.js fails
built-ins/TypedArrays/ctors/no-args/proto-from-ctor-realm.js fails
-built-ins/TypedArrays/ctors/no-args/undefined-newtarget-throws.js fails
built-ins/TypedArrays/ctors/no-args/use-custom-proto-if-object.js fails
built-ins/TypedArrays/ctors/no-args/use-default-proto-if-custom-proto-is-not-object.js fails
built-ins/TypedArrays/ctors/object-arg/as-generator-iterable-returns.js fails
@@ -2658,7 +2550,6 @@ built-ins/TypedArrays/ctors/object-arg/iterator-not-callable-throws.js fails
built-ins/TypedArrays/ctors/object-arg/proto-from-ctor-realm.js fails
built-ins/TypedArrays/ctors/object-arg/throws-setting-obj-to-primitive-typeerror.js fails
built-ins/TypedArrays/ctors/object-arg/throws-setting-obj-to-primitive.js fails
-built-ins/TypedArrays/ctors/object-arg/undefined-newtarget-throws.js fails
built-ins/TypedArrays/ctors/object-arg/use-custom-proto-if-object.js fails
built-ins/TypedArrays/ctors/object-arg/use-default-proto-if-custom-proto-is-not-object.js fails
built-ins/TypedArrays/ctors/typedarray-arg/custom-proto-access-throws.js fails
@@ -2675,7 +2566,6 @@ built-ins/TypedArrays/ctors/typedarray-arg/same-ctor-buffer-ctor-species-custom.
built-ins/TypedArrays/ctors/typedarray-arg/same-ctor-buffer-ctor-species-not-ctor.js fails
built-ins/TypedArrays/ctors/typedarray-arg/same-ctor-buffer-ctor-species-prototype-throws.js fails
built-ins/TypedArrays/ctors/typedarray-arg/same-ctor-buffer-ctor-value-not-obj-throws.js fails
-built-ins/TypedArrays/ctors/typedarray-arg/undefined-newtarget-throws.js fails
built-ins/TypedArrays/ctors/typedarray-arg/use-custom-proto-if-object.js fails
built-ins/TypedArrays/ctors/typedarray-arg/use-default-proto-if-custom-proto-is-not-object.js fails
built-ins/TypedArrays/from/arylk-get-length-error.js fails
@@ -2726,14 +2616,10 @@ built-ins/TypedArrays/internals/Get/detached-buffer-key-is-not-numeric-index.js
built-ins/TypedArrays/internals/Get/detached-buffer-key-is-symbol.js fails
built-ins/TypedArrays/internals/Get/detached-buffer-realm.js fails
built-ins/TypedArrays/internals/Get/detached-buffer.js fails
-built-ins/TypedArrays/internals/Get/indexed-value.js fails
built-ins/TypedArrays/internals/Get/infinity-detached-buffer.js fails
-built-ins/TypedArrays/internals/Get/key-is-not-canonical-index.js fails
built-ins/TypedArrays/internals/Get/key-is-not-integer.js fails
built-ins/TypedArrays/internals/Get/key-is-not-minus-zero.js fails
-built-ins/TypedArrays/internals/Get/key-is-not-numeric-index.js fails
built-ins/TypedArrays/internals/Get/key-is-out-of-bounds.js fails
-built-ins/TypedArrays/internals/Get/key-is-symbol.js fails
built-ins/TypedArrays/internals/GetOwnProperty/detached-buffer-key-is-not-number.js fails
built-ins/TypedArrays/internals/GetOwnProperty/detached-buffer-key-is-symbol.js fails
built-ins/TypedArrays/internals/GetOwnProperty/detached-buffer-realm.js fails
@@ -2780,16 +2666,6 @@ built-ins/TypedArrays/of/new-instance-empty.js fails
built-ins/TypedArrays/of/new-instance-from-zero.js fails
built-ins/TypedArrays/of/new-instance-using-custom-ctor.js fails
built-ins/TypedArrays/of/new-instance.js fails
-built-ins/TypedArrays/prototype/Symbol.iterator.js fails
-built-ins/TypedArrays/prototype/buffer/inherited.js fails
-built-ins/TypedArrays/prototype/byteLength/inherited.js fails
-built-ins/TypedArrays/prototype/byteOffset/inherited.js fails
-built-ins/TypedArrays/prototype/entries/inherited.js fails
-built-ins/TypedArrays/prototype/keys/inherited.js fails
-built-ins/TypedArrays/prototype/length/inherited.js fails
-built-ins/TypedArrays/prototype/set/inherited.js fails
-built-ins/TypedArrays/prototype/subarray/inherited.js fails
-built-ins/TypedArrays/prototype/values/inherited.js fails
built-ins/WeakMap/constructor.js fails
built-ins/WeakMap/empty-iterable.js fails
built-ins/WeakMap/get-set-method-failure.js fails