From ec55e174844734967577a99209e23c4d0769e884 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Wed, 1 Nov 2017 14:42:43 +0100 Subject: Convert TypedArray and friends to new calling convention Change-Id: Ia532b98738edb1bcc3fa5b81456763f2ec49952a Reviewed-by: Erik Verbruggen --- src/qml/jsruntime/qv4arraybuffer.cpp | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) (limited to 'src/qml/jsruntime/qv4arraybuffer.cpp') diff --git a/src/qml/jsruntime/qv4arraybuffer.cpp b/src/qml/jsruntime/qv4arraybuffer.cpp index 3f06ce8bd5..f7b9e8acef 100644 --- a/src/qml/jsruntime/qv4arraybuffer.cpp +++ b/src/qml/jsruntime/qv4arraybuffer.cpp @@ -78,13 +78,13 @@ ReturnedValue ArrayBufferCtor::call(const FunctionObject *f, const Value *, cons return callAsConstructor(f, argv, argc); } -ReturnedValue ArrayBufferCtor::method_isView(const BuiltinFunction *, CallData *callData) +ReturnedValue ArrayBufferCtor::method_isView(const FunctionObject *, const Value *, const Value *argv, int argc) { - if (callData->argc() < 1) + if (argc < 1) return Encode(false); - if (callData->args[0].as() || - callData->args[0].as()) + if (argv[0].as() || + argv[0].as()) return Encode(true); return Encode(false); @@ -157,25 +157,25 @@ void ArrayBufferPrototype::init(ExecutionEngine *engine, Object *ctor) defineDefaultProperty(QStringLiteral("toString"), method_toString, 0); } -ReturnedValue ArrayBufferPrototype::method_get_byteLength(const BuiltinFunction *b, CallData *callData) +ReturnedValue ArrayBufferPrototype::method_get_byteLength(const FunctionObject *b, const Value *thisObject, const Value *, int) { - ArrayBuffer *a = callData->thisObject.as(); + const ArrayBuffer *a = thisObject->as(); if (!a) return b->engine()->throwTypeError(); return Encode(a->d()->data->size); } -ReturnedValue ArrayBufferPrototype::method_slice(const BuiltinFunction *b, CallData *callData) +ReturnedValue ArrayBufferPrototype::method_slice(const FunctionObject *b, const Value *thisObject, const Value *argv, int argc) { ExecutionEngine *v4 = b->engine(); - ArrayBuffer *a = callData->thisObject.as(); + const ArrayBuffer *a = thisObject->as(); if (!a) return v4->throwTypeError(); - double start = callData->argc() > 0 ? callData->args[0].toInteger() : 0; - double end = (callData->argc() < 2 || callData->args[1].isUndefined()) ? - a->d()->data->size : callData->args[1].toInteger(); + double start = argc > 0 ? argv[0].toInteger() : 0; + double end = (argc < 2 || argv[1].isUndefined()) ? + a->d()->data->size : argv[1].toInteger(); if (v4->hasException) return QV4::Encode::undefined(); @@ -187,10 +187,9 @@ ReturnedValue ArrayBufferPrototype::method_slice(const BuiltinFunction *b, CallD if (!constructor) return v4->throwTypeError(); - JSCallData jsCallData(scope, 1); double newLen = qMax(final - first, 0.); - jsCallData->args[0] = QV4::Encode(newLen); - QV4::Scoped newBuffer(scope, constructor->callAsConstructor(jsCallData)); + ScopedValue argument(scope, QV4::Encode(newLen)); + QV4::Scoped newBuffer(scope, constructor->callAsConstructor(argument, 1)); if (!newBuffer || newBuffer->d()->data->size < (int)newLen) return v4->throwTypeError(); @@ -198,10 +197,10 @@ ReturnedValue ArrayBufferPrototype::method_slice(const BuiltinFunction *b, CallD return Encode::undefined(); } -ReturnedValue ArrayBufferPrototype::method_toString(const BuiltinFunction *b, CallData *callData) +ReturnedValue ArrayBufferPrototype::method_toString(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - ArrayBuffer *a = callData->thisObject.as(); + const ArrayBuffer *a = thisObject->as(); if (!a) RETURN_UNDEFINED(); return Encode(v4->newString(QString::fromUtf8(a->asByteArray()))); -- cgit v1.2.3