aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4typedarray.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@qt.io>2017-09-14 14:54:42 +0200
committerErik Verbruggen <erik.verbruggen@qt.io>2017-09-19 09:44:33 +0000
commit042aa2eb0e55616fc754d0d71246efb531ca6dfe (patch)
treef48118a1f8564b4c4cbadc0ebf291d56d59dbb70 /src/qml/jsruntime/qv4typedarray.cpp
parentb7ddcdad876cf0a46aa14a0f78ee8b3e4f685c19 (diff)
Change CallData::argc to be a QV4::Value
Instead of mimicking a Value. This makes sure that argc now stays correct even when anything on Value changes. Most of the change is mechanical: replace callData->argc by callData->argc(). Change-Id: I521831ae1ffb3966bad6589c18d7a373e13439d7 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4typedarray.cpp')
-rw-r--r--src/qml/jsruntime/qv4typedarray.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/qml/jsruntime/qv4typedarray.cpp b/src/qml/jsruntime/qv4typedarray.cpp
index 5bec5046fe..247e04f5f5 100644
--- a/src/qml/jsruntime/qv4typedarray.cpp
+++ b/src/qml/jsruntime/qv4typedarray.cpp
@@ -214,9 +214,9 @@ ReturnedValue TypedArrayCtor::construct(const Managed *m, CallData *callData)
Scope scope(m->engine());
Scoped<TypedArrayCtor> that(scope, static_cast<const TypedArrayCtor *>(m));
- if (!callData->argc || !callData->args[0].isObject()) {
+ if (!callData->argc() || !callData->args[0].isObject()) {
// ECMA 6 22.2.1.1
- double l = callData->argc ? callData->args[0].toNumber() : 0;
+ double l = callData->argc() ? callData->args[0].toNumber() : 0;
if (scope.engine->hasException)
return Encode::undefined();
uint len = (uint)l;
@@ -276,14 +276,14 @@ ReturnedValue TypedArrayCtor::construct(const Managed *m, CallData *callData)
if (!!buffer) {
// ECMA 6 22.2.1.4
- double dbyteOffset = callData->argc > 1 ? callData->args[1].toInteger() : 0;
+ double dbyteOffset = callData->argc() > 1 ? callData->args[1].toInteger() : 0;
uint byteOffset = (uint)dbyteOffset;
uint elementSize = operations[that->d()->type].bytesPerElement;
if (dbyteOffset < 0 || (byteOffset % elementSize) || dbyteOffset > buffer->byteLength())
return scope.engine->throwRangeError(QStringLiteral("new TypedArray: invalid byteOffset"));
uint byteLength;
- if (callData->argc < 3 || callData->args[2].isUndefined()) {
+ if (callData->argc() < 3 || callData->args[2].isUndefined()) {
byteLength = buffer->byteLength() - byteOffset;
if (buffer->byteLength() < byteOffset || byteLength % elementSize)
return scope.engine->throwRangeError(QStringLiteral("new TypedArray: invalid length"));
@@ -459,7 +459,7 @@ ReturnedValue TypedArrayPrototype::method_set(const BuiltinFunction *b, CallData
if (!buffer)
scope.engine->throwTypeError();
- double doffset = callData->argc >= 2 ? callData->args[1].toInteger() : 0;
+ double doffset = callData->argc() >= 2 ? callData->args[1].toInteger() : 0;
if (scope.engine->hasException)
RETURN_UNDEFINED();
@@ -551,12 +551,12 @@ ReturnedValue TypedArrayPrototype::method_subarray(const BuiltinFunction *builti
return scope.engine->throwTypeError();
int len = a->length();
- double b = callData->argc > 0 ? callData->args[0].toInteger() : 0;
+ double b = callData->argc() > 0 ? callData->args[0].toInteger() : 0;
if (b < 0)
b = len + b;
uint begin = (uint)qBound(0., b, (double)len);
- double e = callData->argc < 2 || callData->args[1].isUndefined() ? len : callData->args[1].toInteger();
+ double e = callData->argc() < 2 || callData->args[1].isUndefined() ? len : callData->args[1].toInteger();
if (e < 0)
e = len + e;
uint end = (uint)qBound(0., e, (double)len);