diff options
author | Lars Knoll <lars.knoll@digia.com> | 2013-09-25 10:09:26 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-28 13:33:08 +0200 |
commit | 0f2cf9074d4f0220f5c707eed478f99334814789 (patch) | |
tree | 685ea2295b8728b3545523e2625a4cf65f39b9ee /src/qml/jsruntime/qv4globalobject.cpp | |
parent | 1ef957834bf9040ccd001fa6d80e483b9b21452c (diff) |
Fix CallContext to not hold arguments on the C stack anymore
Change-Id: I35f46cce4f243d4b8b2bac9244f8fc26836f413b
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4globalobject.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4globalobject.cpp | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/src/qml/jsruntime/qv4globalobject.cpp b/src/qml/jsruntime/qv4globalobject.cpp index ae91b11991..f6f59b2f05 100644 --- a/src/qml/jsruntime/qv4globalobject.cpp +++ b/src/qml/jsruntime/qv4globalobject.cpp @@ -393,7 +393,7 @@ ReturnedValue EvalFunction::evalCall(Value /*thisObject*/, Value *args, int argc if (strictMode) { FunctionObject *e = FunctionObject::creatScriptFunction(ctx, function); ScopedCallData callData(scope, 0); - callData->thisObject = ctx->thisObject; + callData->thisObject = ctx->callData->thisObject; return e->call(callData); } @@ -573,38 +573,38 @@ ReturnedValue GlobalFunctions::method_parseFloat(SimpleCallContext *ctx) /// isNaN [15.1.2.4] ReturnedValue GlobalFunctions::method_isNaN(SimpleCallContext *ctx) { - if (!ctx->argumentCount) + if (!ctx->callData->argc) // undefined gets converted to NaN return Encode(true); - if (ctx->arguments[0].integerCompatible()) + if (ctx->callData->args[0].integerCompatible()) return Encode(false); - double d = ctx->arguments[0].toNumber(); + double d = ctx->callData->args[0].toNumber(); return Encode((bool)std::isnan(d)); } /// isFinite [15.1.2.5] ReturnedValue GlobalFunctions::method_isFinite(SimpleCallContext *ctx) { - if (!ctx->argumentCount) + if (!ctx->callData->argc) // undefined gets converted to NaN return Encode(false); - if (ctx->arguments[0].integerCompatible()) + if (ctx->callData->args[0].integerCompatible()) return Encode(true); - double d = ctx->arguments[0].toNumber(); + double d = ctx->callData->args[0].toNumber(); return Encode((bool)std::isfinite(d)); } /// decodeURI [15.1.3.1] ReturnedValue GlobalFunctions::method_decodeURI(SimpleCallContext *context) { - if (context->argumentCount == 0) + if (context->callData->argc == 0) return Encode::undefined(); - QString uriString = context->arguments[0].toString(context)->toQString(); + QString uriString = context->callData->args[0].toString(context)->toQString(); bool ok; QString out = decode(uriString, DecodeNonReserved, &ok); if (!ok) @@ -616,10 +616,10 @@ ReturnedValue GlobalFunctions::method_decodeURI(SimpleCallContext *context) /// decodeURIComponent [15.1.3.2] ReturnedValue GlobalFunctions::method_decodeURIComponent(SimpleCallContext *context) { - if (context->argumentCount == 0) + if (context->callData->argc == 0) return Encode::undefined(); - QString uriString = context->arguments[0].toString(context)->toQString(); + QString uriString = context->callData->args[0].toString(context)->toQString(); bool ok; QString out = decode(uriString, DecodeAll, &ok); if (!ok) @@ -631,10 +631,10 @@ ReturnedValue GlobalFunctions::method_decodeURIComponent(SimpleCallContext *cont /// encodeURI [15.1.3.3] ReturnedValue GlobalFunctions::method_encodeURI(SimpleCallContext *context) { - if (context->argumentCount == 0) + if (context->callData->argc == 0) return Encode::undefined(); - QString uriString = context->arguments[0].toString(context)->toQString(); + QString uriString = context->callData->args[0].toString(context)->toQString(); bool ok; QString out = encode(uriString, uriUnescapedReserved, &ok); if (!ok) @@ -646,10 +646,10 @@ ReturnedValue GlobalFunctions::method_encodeURI(SimpleCallContext *context) /// encodeURIComponent [15.1.3.4] ReturnedValue GlobalFunctions::method_encodeURIComponent(SimpleCallContext *context) { - if (context->argumentCount == 0) + if (context->callData->argc == 0) return Encode::undefined(); - QString uriString = context->arguments[0].toString(context)->toQString(); + QString uriString = context->callData->args[0].toString(context)->toQString(); bool ok; QString out = encode(uriString, uriUnescaped, &ok); if (!ok) @@ -660,18 +660,18 @@ ReturnedValue GlobalFunctions::method_encodeURIComponent(SimpleCallContext *cont ReturnedValue GlobalFunctions::method_escape(SimpleCallContext *context) { - if (!context->argumentCount) + if (!context->callData->argc) return Value::fromString(context, QStringLiteral("undefined")).asReturnedValue(); - QString str = context->arguments[0].toString(context)->toQString(); + QString str = context->callData->args[0].toString(context)->toQString(); return Value::fromString(context, escape(str)).asReturnedValue(); } ReturnedValue GlobalFunctions::method_unescape(SimpleCallContext *context) { - if (!context->argumentCount) + if (!context->callData->argc) return Value::fromString(context, QStringLiteral("undefined")).asReturnedValue(); - QString str = context->arguments[0].toString(context)->toQString(); + QString str = context->callData->args[0].toString(context)->toQString(); return Value::fromString(context, unescape(str)).asReturnedValue(); } |