diff options
author | Lars Knoll <lars.knoll@digia.com> | 2013-09-06 12:44:12 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-11 13:01:57 +0200 |
commit | f9fda643ab7aa1a66e4816382f0e66499818f42a (patch) | |
tree | 10d537491f648945632ac7181557c157c891e002 /src/qml/jsruntime | |
parent | a23158a41291055aa0f546869e4c9f8efb19c2dc (diff) |
Change signature of call/construct() to take a pointer to a CallData
Change-Id: I5467aadba083e4b01fb0a7170946695207033680
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime')
32 files changed, 204 insertions, 204 deletions
diff --git a/src/qml/jsruntime/qv4argumentsobject.cpp b/src/qml/jsruntime/qv4argumentsobject.cpp index f25fe496f9..5a53c0fc3e 100644 --- a/src/qml/jsruntime/qv4argumentsobject.cpp +++ b/src/qml/jsruntime/qv4argumentsobject.cpp @@ -148,10 +148,10 @@ bool ArgumentsObject::defineOwnProperty(ExecutionContext *ctx, uint index, const DEFINE_MANAGED_VTABLE(ArgumentsGetterFunction); -Value ArgumentsGetterFunction::call(Managed *getter, const CallData &d) +Value ArgumentsGetterFunction::call(Managed *getter, CallData *callData) { ArgumentsGetterFunction *g = static_cast<ArgumentsGetterFunction *>(getter); - Object *that = d.thisObject.asObject(); + Object *that = callData->thisObject.asObject(); if (!that) getter->engine()->current->throwTypeError(); ArgumentsObject *o = that->asArgumentsObject(); @@ -164,10 +164,10 @@ Value ArgumentsGetterFunction::call(Managed *getter, const CallData &d) DEFINE_MANAGED_VTABLE(ArgumentsSetterFunction); -Value ArgumentsSetterFunction::call(Managed *setter, const CallData &d) +Value ArgumentsSetterFunction::call(Managed *setter, CallData *callData) { ArgumentsSetterFunction *s = static_cast<ArgumentsSetterFunction *>(setter); - Object *that = d.thisObject.asObject(); + Object *that = callData->thisObject.asObject(); if (!that) setter->engine()->current->throwTypeError(); ArgumentsObject *o = that->asArgumentsObject(); @@ -175,7 +175,7 @@ Value ArgumentsSetterFunction::call(Managed *setter, const CallData &d) setter->engine()->current->throwTypeError(); assert(s->index < o->context->argumentCount); - o->context->arguments[s->index] = d.argc ? d.args[0] : Value::undefinedValue(); + o->context->arguments[s->index] = callData->argc ? callData->args[0] : Value::undefinedValue(); return Value::undefinedValue(); } diff --git a/src/qml/jsruntime/qv4argumentsobject_p.h b/src/qml/jsruntime/qv4argumentsobject_p.h index f48db1f2e6..66ee22c953 100644 --- a/src/qml/jsruntime/qv4argumentsobject_p.h +++ b/src/qml/jsruntime/qv4argumentsobject_p.h @@ -55,7 +55,7 @@ struct ArgumentsGetterFunction: FunctionObject ArgumentsGetterFunction(ExecutionContext *scope, uint index) : FunctionObject(scope), index(index) { vtbl = &static_vtbl; } - static Value call(Managed *that, const CallData &d); + static Value call(Managed *that, CallData *d); protected: static const ManagedVTable static_vtbl; @@ -68,7 +68,7 @@ struct ArgumentsSetterFunction: FunctionObject ArgumentsSetterFunction(ExecutionContext *scope, uint index) : FunctionObject(scope), index(index) { vtbl = &static_vtbl; } - static Value call(Managed *that, const CallData &d); + static Value call(Managed *that, CallData *callData); protected: static const ManagedVTable static_vtbl; diff --git a/src/qml/jsruntime/qv4arrayobject.cpp b/src/qml/jsruntime/qv4arrayobject.cpp index 08578e0002..3ab74d8080 100644 --- a/src/qml/jsruntime/qv4arrayobject.cpp +++ b/src/qml/jsruntime/qv4arrayobject.cpp @@ -54,25 +54,25 @@ ArrayCtor::ArrayCtor(ExecutionContext *scope) vtbl = &static_vtbl; } -Value ArrayCtor::construct(Managed *m, const CallData &d) +Value ArrayCtor::construct(Managed *m, CallData *callData) { ExecutionEngine *v4 = m->engine(); ArrayObject *a = v4->newArrayObject(); uint len; - if (d.argc == 1 && d.args[0].isNumber()) { + if (callData->argc == 1 && callData->args[0].isNumber()) { bool ok; - len = d.args[0].asArrayLength(&ok); + len = callData->args[0].asArrayLength(&ok); if (!ok) - v4->current->throwRangeError(d.args[0]); + v4->current->throwRangeError(callData->args[0]); if (len < 0x1000) a->arrayReserve(len); } else { - len = d.argc; + len = callData->argc; a->arrayReserve(len); for (unsigned int i = 0; i < len; ++i) - a->arrayData[i].value = d.args[i]; + a->arrayData[i].value = callData->args[i]; a->arrayDataLen = len; } a->setArrayLengthUnchecked(len); @@ -80,9 +80,9 @@ Value ArrayCtor::construct(Managed *m, const CallData &d) return Value::fromObject(a); } -Value ArrayCtor::call(Managed *that, const CallData &d) +Value ArrayCtor::call(Managed *that, CallData *callData) { - return construct(that, d); + return construct(that, callData); } ArrayPrototype::ArrayPrototype(InternalClass *ic) diff --git a/src/qml/jsruntime/qv4arrayobject_p.h b/src/qml/jsruntime/qv4arrayobject_p.h index 0d76542535..354ddd0380 100644 --- a/src/qml/jsruntime/qv4arrayobject_p.h +++ b/src/qml/jsruntime/qv4arrayobject_p.h @@ -53,8 +53,8 @@ struct ArrayCtor: FunctionObject { ArrayCtor(ExecutionContext *scope); - static Value construct(Managed *m, const CallData &d); - static Value call(Managed *that, const CallData &d); + static Value construct(Managed *m, CallData *callData); + static Value call(Managed *that, CallData *callData); protected: static const ManagedVTable static_vtbl; diff --git a/src/qml/jsruntime/qv4booleanobject.cpp b/src/qml/jsruntime/qv4booleanobject.cpp index 25c105210a..6b77db3ca7 100644 --- a/src/qml/jsruntime/qv4booleanobject.cpp +++ b/src/qml/jsruntime/qv4booleanobject.cpp @@ -51,15 +51,15 @@ BooleanCtor::BooleanCtor(ExecutionContext *scope) vtbl = &static_vtbl; } -Value BooleanCtor::construct(Managed *m, const CallData &d) +Value BooleanCtor::construct(Managed *m, CallData *callData) { - bool n = d.argc ? d.args[0].toBoolean() : false; + bool n = callData->argc ? callData->args[0].toBoolean() : false; return Value::fromObject(m->engine()->newBooleanObject(Value::fromBoolean(n))); } -Value BooleanCtor::call(Managed *, const CallData &d) +Value BooleanCtor::call(Managed *, CallData *callData) { - bool value = d.argc ? d.args[0].toBoolean() : 0; + bool value = callData->argc ? callData->args[0].toBoolean() : 0; return Value::fromBoolean(value); } diff --git a/src/qml/jsruntime/qv4booleanobject_p.h b/src/qml/jsruntime/qv4booleanobject_p.h index b55f82b76f..35ecf25b6f 100644 --- a/src/qml/jsruntime/qv4booleanobject_p.h +++ b/src/qml/jsruntime/qv4booleanobject_p.h @@ -53,8 +53,8 @@ struct BooleanCtor: FunctionObject { BooleanCtor(ExecutionContext *scope); - static Value construct(Managed *, const CallData &d); - static Value call(Managed *that, const CallData &d); + static Value construct(Managed *, CallData *callData); + static Value call(Managed *that, CallData *callData); protected: static const ManagedVTable static_vtbl; diff --git a/src/qml/jsruntime/qv4context.cpp b/src/qml/jsruntime/qv4context.cpp index 0ad245f8fc..dc10033307 100644 --- a/src/qml/jsruntime/qv4context.cpp +++ b/src/qml/jsruntime/qv4context.cpp @@ -51,7 +51,7 @@ using namespace QV4; -CallContext *ExecutionContext::newCallContext(void *stackSpace, FunctionObject *function, const CallData &d) +CallContext *ExecutionContext::newCallContext(void *stackSpace, FunctionObject *function, CallData *callData) { CallContext *c = (CallContext *)stackSpace; #ifndef QT_NO_DEBUG @@ -64,10 +64,10 @@ CallContext *ExecutionContext::newCallContext(void *stackSpace, FunctionObject * c->function = function; // ### - c->arguments = const_cast<Value *>(d.args); - c->realArgumentCount = d.argc; - c->argumentCount = d.argc; - c->thisObject = d.thisObject; + c->arguments = const_cast<Value *>(callData->args); + c->realArgumentCount = callData->argc; + c->argumentCount = callData->argc; + c->thisObject = callData->thisObject; c->strictMode = function->strictMode; c->marked = false; @@ -90,28 +90,28 @@ CallContext *ExecutionContext::newCallContext(void *stackSpace, FunctionObject * if (function->varCount) std::fill(c->locals, c->locals + function->varCount, Value::undefinedValue()); - if (d.argc < function->formalParameterCount) { + if (callData->argc < function->formalParameterCount) { #ifndef QT_NO_DEBUG Q_ASSERT(function->formalParameterCount <= QV4::Global::ReservedArgumentCount); #endif - std::fill(c->arguments + d.argc, c->arguments + function->formalParameterCount, Value::undefinedValue()); + std::fill(c->arguments + callData->argc, c->arguments + function->formalParameterCount, Value::undefinedValue()); c->argumentCount = function->formalParameterCount; } return c; } -CallContext *ExecutionContext::newCallContext(FunctionObject *function, const CallData &d) +CallContext *ExecutionContext::newCallContext(FunctionObject *function, CallData *callData) { - CallContext *c = static_cast<CallContext *>(engine->memoryManager->allocContext(requiredMemoryForExecutionContect(function, d.argc))); + CallContext *c = static_cast<CallContext *>(engine->memoryManager->allocContext(requiredMemoryForExecutionContect(function, callData->argc))); engine->current = c; c->initBaseContext(Type_CallContext, engine, this); c->function = function; - c->realArgumentCount = d.argc; - c->thisObject = d.thisObject; + c->realArgumentCount = callData->argc; + c->thisObject = callData->thisObject; c->strictMode = function->strictMode; c->marked = false; @@ -134,12 +134,12 @@ CallContext *ExecutionContext::newCallContext(FunctionObject *function, const Ca if (function->varCount) std::fill(c->locals, c->locals + function->varCount, Value::undefinedValue()); - c->argumentCount = qMax((uint)d.argc, function->formalParameterCount); + c->argumentCount = qMax((uint)callData->argc, function->formalParameterCount); c->arguments = c->locals + function->varCount; - if (d.argc) - ::memcpy(c->arguments, d.args, d.argc * sizeof(Value)); - if (d.argc < function->formalParameterCount) - std::fill(c->arguments + d.argc, c->arguments + function->formalParameterCount, Value::undefinedValue()); + if (callData->argc) + ::memcpy(c->arguments, callData->args, callData->argc * sizeof(Value)); + if (callData->argc < function->formalParameterCount) + std::fill(c->arguments + callData->argc, c->arguments + function->formalParameterCount, Value::undefinedValue()); return c; } diff --git a/src/qml/jsruntime/qv4context_p.h b/src/qml/jsruntime/qv4context_p.h index 331c5aa990..fed166cb52 100644 --- a/src/qml/jsruntime/qv4context_p.h +++ b/src/qml/jsruntime/qv4context_p.h @@ -114,8 +114,8 @@ struct Q_QML_EXPORT ExecutionContext interpreterInstructionPointer = 0; } - CallContext *newCallContext(void *stackSpace, FunctionObject *f, const CallData &d); - CallContext *newCallContext(FunctionObject *f, const CallData &d); + CallContext *newCallContext(void *stackSpace, FunctionObject *f, CallData *callData); + CallContext *newCallContext(FunctionObject *f, CallData *callData); WithContext *newWithContext(Object *with); CatchContext *newCatchContext(String* exceptionVarName, const QV4::Value &exceptionValue); CallContext *newQmlContext(FunctionObject *f, Object *qml); diff --git a/src/qml/jsruntime/qv4dateobject.cpp b/src/qml/jsruntime/qv4dateobject.cpp index c76fbed3bf..5d9abfe74e 100644 --- a/src/qml/jsruntime/qv4dateobject.cpp +++ b/src/qml/jsruntime/qv4dateobject.cpp @@ -654,15 +654,15 @@ DateCtor::DateCtor(ExecutionContext *scope) vtbl = &static_vtbl; } -Value DateCtor::construct(Managed *m, const CallData &d) +Value DateCtor::construct(Managed *m, CallData *callData) { double t = 0; - if (d.argc == 0) + if (callData->argc == 0) t = currentTime(); - else if (d.argc == 1) { - Value arg = d.args[0]; + else if (callData->argc == 1) { + Value arg = callData->args[0]; if (DateObject *d = arg.asDateObject()) arg = d->value; else @@ -675,13 +675,13 @@ Value DateCtor::construct(Managed *m, const CallData &d) } else { // d.argc > 1 - double year = d.args[0].toNumber(); - double month = d.args[1].toNumber(); - double day = d.argc >= 3 ? d.args[2].toNumber() : 1; - double hours = d.argc >= 4 ? d.args[3].toNumber() : 0; - double mins = d.argc >= 5 ? d.args[4].toNumber() : 0; - double secs = d.argc >= 6 ? d.args[5].toNumber() : 0; - double ms = d.argc >= 7 ? d.args[6].toNumber() : 0; + double year = callData->args[0].toNumber(); + double month = callData->args[1].toNumber(); + double day = callData->argc >= 3 ? callData->args[2].toNumber() : 1; + double hours = callData->argc >= 4 ? callData->args[3].toNumber() : 0; + double mins = callData->argc >= 5 ? callData->args[4].toNumber() : 0; + double secs = callData->argc >= 6 ? callData->args[5].toNumber() : 0; + double ms = callData->argc >= 7 ? callData->args[6].toNumber() : 0; if (year >= 0 && year <= 99) year += 1900; t = MakeDate(MakeDay(year, month, day), MakeTime(hours, mins, secs, ms)); @@ -692,7 +692,7 @@ Value DateCtor::construct(Managed *m, const CallData &d) return Value::fromObject(o); } -Value DateCtor::call(Managed *m, const CallData &) +Value DateCtor::call(Managed *m, CallData *) { double t = currentTime(); return Value::fromString(m->engine()->current, ToString(t)); diff --git a/src/qml/jsruntime/qv4dateobject_p.h b/src/qml/jsruntime/qv4dateobject_p.h index 238d10849a..573326adc4 100644 --- a/src/qml/jsruntime/qv4dateobject_p.h +++ b/src/qml/jsruntime/qv4dateobject_p.h @@ -66,8 +66,8 @@ struct DateCtor: FunctionObject { DateCtor(ExecutionContext *scope); - static Value construct(Managed *, const CallData &d); - static Value call(Managed *that, const CallData &); + static Value construct(Managed *, CallData *callData); + static Value call(Managed *that, CallData *); protected: static const ManagedVTable static_vtbl; diff --git a/src/qml/jsruntime/qv4errorobject.cpp b/src/qml/jsruntime/qv4errorobject.cpp index 04357c393a..6e6aeca299 100644 --- a/src/qml/jsruntime/qv4errorobject.cpp +++ b/src/qml/jsruntime/qv4errorobject.cpp @@ -240,14 +240,14 @@ ErrorCtor::ErrorCtor(ExecutionContext *scope, String *name) vtbl = &static_vtbl; } -Value ErrorCtor::construct(Managed *m, const CallData &d) +Value ErrorCtor::construct(Managed *m, CallData *callData) { - return Value::fromObject(m->engine()->newErrorObject(d.argc ? d.args[0] : Value::undefinedValue())); + return Value::fromObject(m->engine()->newErrorObject(callData->argc ? callData->args[0] : Value::undefinedValue())); } -Value ErrorCtor::call(Managed *that, const CallData &d) +Value ErrorCtor::call(Managed *that, CallData *callData) { - return that->construct(d); + return that->construct(callData); } EvalErrorCtor::EvalErrorCtor(ExecutionContext *scope) @@ -256,9 +256,9 @@ EvalErrorCtor::EvalErrorCtor(ExecutionContext *scope) vtbl = &static_vtbl; } -Value EvalErrorCtor::construct(Managed *m, const CallData &d) +Value EvalErrorCtor::construct(Managed *m, CallData *callData) { - return Value::fromObject(new (m->engine()->memoryManager) EvalErrorObject(m->engine(), d.argc ? d.args[0] : Value::undefinedValue())); + return Value::fromObject(new (m->engine()->memoryManager) EvalErrorObject(m->engine(), callData->argc ? callData->args[0] : Value::undefinedValue())); } RangeErrorCtor::RangeErrorCtor(ExecutionContext *scope) @@ -267,9 +267,9 @@ RangeErrorCtor::RangeErrorCtor(ExecutionContext *scope) vtbl = &static_vtbl; } -Value RangeErrorCtor::construct(Managed *m, const CallData &d) +Value RangeErrorCtor::construct(Managed *m, CallData *callData) { - return Value::fromObject(new (m->engine()->memoryManager) RangeErrorObject(m->engine(), d.argc ? d.args[0] : Value::undefinedValue())); + return Value::fromObject(new (m->engine()->memoryManager) RangeErrorObject(m->engine(), callData->argc ? callData->args[0] : Value::undefinedValue())); } ReferenceErrorCtor::ReferenceErrorCtor(ExecutionContext *scope) @@ -278,9 +278,9 @@ ReferenceErrorCtor::ReferenceErrorCtor(ExecutionContext *scope) vtbl = &static_vtbl; } -Value ReferenceErrorCtor::construct(Managed *m, const CallData &d) +Value ReferenceErrorCtor::construct(Managed *m, CallData *callData) { - return Value::fromObject(new (m->engine()->memoryManager) ReferenceErrorObject(m->engine(), d.argc ? d.args[0] : Value::undefinedValue())); + return Value::fromObject(new (m->engine()->memoryManager) ReferenceErrorObject(m->engine(), callData->argc ? callData->args[0] : Value::undefinedValue())); } SyntaxErrorCtor::SyntaxErrorCtor(ExecutionContext *scope) @@ -289,9 +289,9 @@ SyntaxErrorCtor::SyntaxErrorCtor(ExecutionContext *scope) vtbl = &static_vtbl; } -Value SyntaxErrorCtor::construct(Managed *m, const CallData &d) +Value SyntaxErrorCtor::construct(Managed *m, CallData *callData) { - return Value::fromObject(new (m->engine()->memoryManager) SyntaxErrorObject(m->engine(), d.argc ? d.args[0] : Value::undefinedValue())); + return Value::fromObject(new (m->engine()->memoryManager) SyntaxErrorObject(m->engine(), callData->argc ? callData->args[0] : Value::undefinedValue())); } TypeErrorCtor::TypeErrorCtor(ExecutionContext *scope) @@ -300,9 +300,9 @@ TypeErrorCtor::TypeErrorCtor(ExecutionContext *scope) vtbl = &static_vtbl; } -Value TypeErrorCtor::construct(Managed *m, const CallData &d) +Value TypeErrorCtor::construct(Managed *m, CallData *callData) { - return Value::fromObject(new (m->engine()->memoryManager) TypeErrorObject(m->engine(), d.argc ? d.args[0] : Value::undefinedValue())); + return Value::fromObject(new (m->engine()->memoryManager) TypeErrorObject(m->engine(), callData->argc ? callData->args[0] : Value::undefinedValue())); } URIErrorCtor::URIErrorCtor(ExecutionContext *scope) @@ -311,9 +311,9 @@ URIErrorCtor::URIErrorCtor(ExecutionContext *scope) vtbl = &static_vtbl; } -Value URIErrorCtor::construct(Managed *m, const CallData &d) +Value URIErrorCtor::construct(Managed *m, CallData *callData) { - return Value::fromObject(new (m->engine()->memoryManager) URIErrorObject(m->engine(), d.argc ? d.args[0] : Value::undefinedValue())); + return Value::fromObject(new (m->engine()->memoryManager) URIErrorObject(m->engine(), callData->argc ? callData->args[0] : Value::undefinedValue())); } void ErrorPrototype::init(ExecutionEngine *engine, const Value &ctor, Object *obj) diff --git a/src/qml/jsruntime/qv4errorobject_p.h b/src/qml/jsruntime/qv4errorobject_p.h index f8aeae603c..1d82bb7ba2 100644 --- a/src/qml/jsruntime/qv4errorobject_p.h +++ b/src/qml/jsruntime/qv4errorobject_p.h @@ -114,8 +114,8 @@ struct ErrorCtor: FunctionObject ErrorCtor(ExecutionContext *scope); ErrorCtor(ExecutionContext *scope, String *name); - static Value construct(Managed *, const CallData &d); - static Value call(Managed *that, const CallData &d); + static Value construct(Managed *, CallData *callData); + static Value call(Managed *that, CallData *callData); protected: static const ManagedVTable static_vtbl; @@ -125,7 +125,7 @@ struct EvalErrorCtor: ErrorCtor { EvalErrorCtor(ExecutionContext *scope); - static Value construct(Managed *m, const CallData &d); + static Value construct(Managed *m, CallData *callData); protected: static const ManagedVTable static_vtbl; @@ -135,7 +135,7 @@ struct RangeErrorCtor: ErrorCtor { RangeErrorCtor(ExecutionContext *scope); - static Value construct(Managed *m, const CallData &d); + static Value construct(Managed *m, CallData *callData); protected: static const ManagedVTable static_vtbl; @@ -145,7 +145,7 @@ struct ReferenceErrorCtor: ErrorCtor { ReferenceErrorCtor(ExecutionContext *scope); - static Value construct(Managed *m, const CallData &d); + static Value construct(Managed *m, CallData *callData); protected: static const ManagedVTable static_vtbl; @@ -155,7 +155,7 @@ struct SyntaxErrorCtor: ErrorCtor { SyntaxErrorCtor(ExecutionContext *scope); - static Value construct(Managed *m, const CallData &d); + static Value construct(Managed *m, CallData *callData); protected: static const ManagedVTable static_vtbl; @@ -165,7 +165,7 @@ struct TypeErrorCtor: ErrorCtor { TypeErrorCtor(ExecutionContext *scope); - static Value construct(Managed *m, const CallData &d); + static Value construct(Managed *m, CallData *callData); protected: static const ManagedVTable static_vtbl; @@ -175,7 +175,7 @@ struct URIErrorCtor: ErrorCtor { URIErrorCtor(ExecutionContext *scope); - static Value construct(Managed *m, const CallData &d); + static Value construct(Managed *m, CallData *callData); protected: static const ManagedVTable static_vtbl; diff --git a/src/qml/jsruntime/qv4functionobject.cpp b/src/qml/jsruntime/qv4functionobject.cpp index 9fbefef586..876aaf9e0e 100644 --- a/src/qml/jsruntime/qv4functionobject.cpp +++ b/src/qml/jsruntime/qv4functionobject.cpp @@ -152,7 +152,7 @@ bool FunctionObject::hasInstance(Managed *that, const Value &value) return false; } -Value FunctionObject::construct(Managed *that, const CallData &) +Value FunctionObject::construct(Managed *that, CallData *) { FunctionObject *f = static_cast<FunctionObject *>(that); ExecutionEngine *v4 = f->engine(); @@ -165,7 +165,7 @@ Value FunctionObject::construct(Managed *that, const CallData &) return Value::fromObject(obj); } -Value FunctionObject::call(Managed *, const CallData &) +Value FunctionObject::call(Managed *, CallData *) { return Value::undefinedValue(); } @@ -204,7 +204,7 @@ FunctionCtor::FunctionCtor(ExecutionContext *scope) } // 15.3.2 -Value FunctionCtor::construct(Managed *that, const CallData &d) +Value FunctionCtor::construct(Managed *that, CallData *callData) { FunctionCtor *f = static_cast<FunctionCtor *>(that); MemoryManager::GCBlocker gcBlocker(f->engine()->memoryManager); @@ -212,13 +212,13 @@ Value FunctionCtor::construct(Managed *that, const CallData &d) ExecutionContext *ctx = f->engine()->current; QString arguments; QString body; - if (d.argc > 0) { - for (uint i = 0; i < d.argc - 1; ++i) { + if (callData->argc > 0) { + for (uint i = 0; i < callData->argc - 1; ++i) { if (i) arguments += QLatin1String(", "); - arguments += d.args[i].toString(ctx)->toQString(); + arguments += callData->args[i].toString(ctx)->toQString(); } - body = d.args[d.argc - 1].toString(ctx)->toQString(); + body = callData->args[callData->argc - 1].toString(ctx)->toQString(); } QString function = QLatin1String("function(") + arguments + QLatin1String("){") + body + QLatin1String("}"); @@ -252,9 +252,9 @@ Value FunctionCtor::construct(Managed *that, const CallData &d) } // 15.3.1: This is equivalent to new Function(...) -Value FunctionCtor::call(Managed *that, const CallData &d) +Value FunctionCtor::call(Managed *that, CallData *callData) { - return construct(that, d); + return construct(that, callData); } FunctionPrototype::FunctionPrototype(InternalClass *ic) @@ -400,7 +400,7 @@ ScriptFunction::ScriptFunction(ExecutionContext *scope, Function *function) } } -Value ScriptFunction::construct(Managed *that, const CallData &d) +Value ScriptFunction::construct(Managed *that, CallData *callData) { ScriptFunction *f = static_cast<ScriptFunction *>(that); SAVE_JS_STACK(f->scope); @@ -413,8 +413,8 @@ Value ScriptFunction::construct(Managed *that, const CallData &d) Object *obj = v4->newObject(ic); ExecutionContext *context = v4->current; - const_cast<CallData &>(d).thisObject = Value::fromObject(obj); - ExecutionContext *ctx = context->newCallContext(f, d); + callData->thisObject = Value::fromObject(obj); + ExecutionContext *ctx = context->newCallContext(f, callData); Value result; try { @@ -431,19 +431,19 @@ Value ScriptFunction::construct(Managed *that, const CallData &d) return Value::fromObject(obj); } -Value ScriptFunction::call(Managed *that, const CallData &d) +Value ScriptFunction::call(Managed *that, CallData *callData) { ScriptFunction *f = static_cast<ScriptFunction *>(that); SAVE_JS_STACK(f->scope); void *stackSpace; ExecutionContext *context = f->engine()->current; - CallContext *ctx = context->newCallContext(f, d); + CallContext *ctx = context->newCallContext(f, callData); - if (!f->strictMode && !d.thisObject.isObject()) { - if (d.thisObject.isNullOrUndefined()) { + if (!f->strictMode && !callData->thisObject.isObject()) { + if (callData->thisObject.isNullOrUndefined()) { ctx->thisObject = Value::fromObject(f->engine()->globalObject); } else { - ctx->thisObject = Value::fromObject(d.thisObject.toObject(context)); + ctx->thisObject = Value::fromObject(callData->thisObject.toObject(context)); } } @@ -494,7 +494,7 @@ SimpleScriptFunction::SimpleScriptFunction(ExecutionContext *scope, Function *fu } } -Value SimpleScriptFunction::construct(Managed *that, const CallData &d) +Value SimpleScriptFunction::construct(Managed *that, CallData *callData) { SimpleScriptFunction *f = static_cast<SimpleScriptFunction *>(that); SAVE_JS_STACK(f->scope); @@ -508,8 +508,8 @@ Value SimpleScriptFunction::construct(Managed *that, const CallData &d) ExecutionContext *context = v4->current; void *stackSpace = alloca(requiredMemoryForExecutionContectSimple(f)); - const_cast<CallData &>(d).thisObject = Value::fromObject(obj); - ExecutionContext *ctx = context->newCallContext(stackSpace, f, d); + callData->thisObject = Value::fromObject(obj); + ExecutionContext *ctx = context->newCallContext(stackSpace, f, callData); Value result; try { @@ -526,19 +526,19 @@ Value SimpleScriptFunction::construct(Managed *that, const CallData &d) return Value::fromObject(obj); } -Value SimpleScriptFunction::call(Managed *that, const CallData &d) +Value SimpleScriptFunction::call(Managed *that, CallData *callData) { SimpleScriptFunction *f = static_cast<SimpleScriptFunction *>(that); SAVE_JS_STACK(f->scope); void *stackSpace = alloca(requiredMemoryForExecutionContectSimple(f)); ExecutionContext *context = f->engine()->current; - ExecutionContext *ctx = context->newCallContext(stackSpace, f, d); + ExecutionContext *ctx = context->newCallContext(stackSpace, f, callData); - if (!f->strictMode && !d.thisObject.isObject()) { - if (d.thisObject.isNullOrUndefined()) { + if (!f->strictMode && !callData->thisObject.isObject()) { + if (callData->thisObject.isNullOrUndefined()) { ctx->thisObject = Value::fromObject(f->engine()->globalObject); } else { - ctx->thisObject = Value::fromObject(d.thisObject.toObject(context)); + ctx->thisObject = Value::fromObject(callData->thisObject.toObject(context)); } } @@ -567,13 +567,13 @@ BuiltinFunctionOld::BuiltinFunctionOld(ExecutionContext *scope, String *name, Va isBuiltinFunction = true; } -Value BuiltinFunctionOld::construct(Managed *f, const CallData &d) +Value BuiltinFunctionOld::construct(Managed *f, CallData *) { f->engine()->current->throwTypeError(); return Value::undefinedValue(); } -Value BuiltinFunctionOld::call(Managed *that, const CallData &d) +Value BuiltinFunctionOld::call(Managed *that, CallData *callData) { BuiltinFunctionOld *f = static_cast<BuiltinFunctionOld *>(that); ExecutionEngine *v4 = f->engine(); @@ -582,10 +582,10 @@ Value BuiltinFunctionOld::call(Managed *that, const CallData &d) SimpleCallContext ctx; ctx.initSimpleCallContext(f->scope->engine); ctx.strictMode = f->scope->strictMode; // ### needed? scope or parent context? - ctx.thisObject = d.thisObject; + ctx.thisObject = callData->thisObject; // ### const_cast - ctx.arguments = const_cast<Value *>(d.args); - ctx.argumentCount = d.argc; + ctx.arguments = const_cast<Value *>(callData->args); + ctx.argumentCount = callData->argc; v4->pushContext(&ctx); Value result; @@ -600,7 +600,7 @@ Value BuiltinFunctionOld::call(Managed *that, const CallData &d) return result; } -Value IndexedBuiltinFunction::call(Managed *that, const CallData &d) +Value IndexedBuiltinFunction::call(Managed *that, CallData *callData) { IndexedBuiltinFunction *f = static_cast<IndexedBuiltinFunction *>(that); ExecutionEngine *v4 = f->engine(); @@ -609,10 +609,10 @@ Value IndexedBuiltinFunction::call(Managed *that, const CallData &d) SimpleCallContext ctx; ctx.initSimpleCallContext(f->scope->engine); ctx.strictMode = f->scope->strictMode; // ### needed? scope or parent context? - ctx.thisObject = d.thisObject; + ctx.thisObject = callData->thisObject; // ### const_cast - ctx.arguments = const_cast<Value *>(d.args); - ctx.argumentCount = d.argc; + ctx.arguments = const_cast<Value *>(callData->args); + ctx.argumentCount = callData->argc; v4->pushContext(&ctx); Value result; @@ -655,23 +655,23 @@ void BoundFunction::destroy(Managed *that) static_cast<BoundFunction *>(that)->~BoundFunction(); } -Value BoundFunction::call(Managed *that, const CallData &dd) +Value BoundFunction::call(Managed *that, CallData *dd) { BoundFunction *f = static_cast<BoundFunction *>(that); - ScopedCallData callData(f->scope->engine, f->boundArgs.size() + dd.argc); + ScopedCallData callData(f->scope->engine, f->boundArgs.size() + dd->argc); callData->thisObject = f->boundThis; memcpy(callData->args, f->boundArgs.constData(), f->boundArgs.size()*sizeof(Value)); - memcpy(callData->args + f->boundArgs.size(), dd.args, dd.argc*sizeof(Value)); + memcpy(callData->args + f->boundArgs.size(), dd->args, dd->argc*sizeof(Value)); return f->target->call(callData); } -Value BoundFunction::construct(Managed *that, const CallData &dd) +Value BoundFunction::construct(Managed *that, CallData *dd) { BoundFunction *f = static_cast<BoundFunction *>(that); - ScopedCallData callData(f->scope->engine, f->boundArgs.size() + dd.argc); + ScopedCallData callData(f->scope->engine, f->boundArgs.size() + dd->argc); memcpy(callData->args, f->boundArgs.constData(), f->boundArgs.size()*sizeof(Value)); - memcpy(callData->args + f->boundArgs.size(), dd.args, dd.argc*sizeof(Value)); + memcpy(callData->args + f->boundArgs.size(), dd->args, dd->argc*sizeof(Value)); return f->target->construct(callData); } diff --git a/src/qml/jsruntime/qv4functionobject_p.h b/src/qml/jsruntime/qv4functionobject_p.h index 4d4174d053..d694d28462 100644 --- a/src/qml/jsruntime/qv4functionobject_p.h +++ b/src/qml/jsruntime/qv4functionobject_p.h @@ -117,13 +117,13 @@ struct Q_QML_EXPORT FunctionObject: Object { Value newInstance(); - static Value construct(Managed *that, const CallData &); - static Value call(Managed *that, const CallData &d); - inline Value construct(const CallData &d) { - return vtbl->construct(this, d); + static Value construct(Managed *that, CallData *); + static Value call(Managed *that, CallData *d); + inline Value construct(CallData *callData) { + return vtbl->construct(this, callData); } - inline Value call(const CallData &d) { - return vtbl->call(this, d); + inline Value call(CallData *callData) { + return vtbl->call(this, callData); } static FunctionObject *creatScriptFunction(ExecutionContext *scope, Function *function); @@ -142,8 +142,8 @@ struct FunctionCtor: FunctionObject { FunctionCtor(ExecutionContext *scope); - static Value construct(Managed *that, const CallData &); - static Value call(Managed *that, const CallData &d); + static Value construct(Managed *that, CallData *callData); + static Value call(Managed *that, CallData *callData); protected: static const ManagedVTable static_vtbl; @@ -165,8 +165,8 @@ struct BuiltinFunctionOld: FunctionObject { BuiltinFunctionOld(ExecutionContext *scope, String *name, Value (*code)(SimpleCallContext *)); - static Value construct(Managed *, const CallData &d); - static Value call(Managed *that, const CallData &d); + static Value construct(Managed *, CallData *); + static Value call(Managed *that, CallData *callData); protected: static const ManagedVTable static_vtbl; @@ -188,21 +188,21 @@ struct IndexedBuiltinFunction: FunctionObject isBuiltinFunction = true; } - static Value construct(Managed *m, const CallData &) + static Value construct(Managed *m, CallData *) { m->engine()->current->throwTypeError(); return Value::undefinedValue(); } - static Value call(Managed *that, const CallData &d); + static Value call(Managed *that, CallData *callData); }; struct ScriptFunction: FunctionObject { ScriptFunction(ExecutionContext *scope, Function *function); - static Value construct(Managed *, const CallData &d); - static Value call(Managed *that, const CallData &d); + static Value construct(Managed *, CallData *callData); + static Value call(Managed *that, CallData *callData); protected: static const ManagedVTable static_vtbl; @@ -211,8 +211,8 @@ protected: struct SimpleScriptFunction: FunctionObject { SimpleScriptFunction(ExecutionContext *scope, Function *function); - static Value construct(Managed *, const CallData &d); - static Value call(Managed *that, const CallData &d); + static Value construct(Managed *, CallData *callData); + static Value call(Managed *that, CallData *callData); protected: static const ManagedVTable static_vtbl; @@ -227,8 +227,8 @@ struct BoundFunction: FunctionObject { ~BoundFunction() {} - static Value construct(Managed *, const CallData &d); - static Value call(Managed *that, const CallData &d); + static Value construct(Managed *, CallData *d); + static Value call(Managed *that, CallData *dd); static const ManagedVTable static_vtbl; static void destroy(Managed *); diff --git a/src/qml/jsruntime/qv4globalobject.cpp b/src/qml/jsruntime/qv4globalobject.cpp index d71643b3dc..9764a7930f 100644 --- a/src/qml/jsruntime/qv4globalobject.cpp +++ b/src/qml/jsruntime/qv4globalobject.cpp @@ -439,11 +439,11 @@ Value EvalFunction::evalCall(Value /*thisObject*/, Value *args, int argc, bool d } -Value EvalFunction::call(Managed *that, const CallData &d) +Value EvalFunction::call(Managed *that, CallData *callData) { // indirect call // ### const_cast - return static_cast<EvalFunction *>(that)->evalCall(d.thisObject, const_cast<Value *>(d.args), d.argc, false); + return static_cast<EvalFunction *>(that)->evalCall(callData->thisObject, const_cast<Value *>(callData->args), callData->argc, false); } diff --git a/src/qml/jsruntime/qv4globalobject_p.h b/src/qml/jsruntime/qv4globalobject_p.h index 4ac531c27b..b777bf8915 100644 --- a/src/qml/jsruntime/qv4globalobject_p.h +++ b/src/qml/jsruntime/qv4globalobject_p.h @@ -55,7 +55,7 @@ struct Q_QML_EXPORT EvalFunction : FunctionObject Value evalCall(Value thisObject, Value *args, int argc, bool directCall); using Managed::construct; - static Value call(Managed *that, const CallData &d); + static Value call(Managed *that, CallData *callData); protected: static const ManagedVTable static_vtbl; diff --git a/src/qml/jsruntime/qv4managed.cpp b/src/qml/jsruntime/qv4managed.cpp index 955d12a3d0..62491ba7e5 100644 --- a/src/qml/jsruntime/qv4managed.cpp +++ b/src/qml/jsruntime/qv4managed.cpp @@ -176,12 +176,12 @@ bool Managed::hasInstance(Managed *m, const Value &) m->engine()->current->throwTypeError(); } -Value Managed::construct(Managed *m, const CallData &) +Value Managed::construct(Managed *m, CallData *) { m->engine()->current->throwTypeError(); } -Value Managed::call(Managed *m, const CallData &) +Value Managed::call(Managed *m, CallData *) { m->engine()->current->throwTypeError(); } diff --git a/src/qml/jsruntime/qv4managed_p.h b/src/qml/jsruntime/qv4managed_p.h index ddef198fe6..50325478f5 100644 --- a/src/qml/jsruntime/qv4managed_p.h +++ b/src/qml/jsruntime/qv4managed_p.h @@ -91,8 +91,8 @@ struct CallData struct ManagedVTable { - Value (*call)(Managed *, const CallData &data); - Value (*construct)(Managed *, const CallData &data); + Value (*call)(Managed *, CallData *data); + Value (*construct)(Managed *, CallData *data); void (*markObjects)(Managed *); void (*destroy)(Managed *); void (*collectDeletables)(Managed *, GCDeletable **deletable); @@ -252,8 +252,8 @@ public: inline bool hasInstance(const Value &v) { return vtbl->hasInstance(this, v); } - Value construct(const CallData &d); - Value call(const CallData &d); + Value construct(CallData *d); + Value call(CallData *d); Value get(String *name, bool *hasProperty = 0); Value getIndexed(uint index, bool *hasProperty = 0); void put(String *name, const Value &value) @@ -281,8 +281,8 @@ public: static void destroy(Managed *that) { that->_data = 0; } static bool hasInstance(Managed *that, const Value &value); - static Value construct(Managed *m, const CallData &d); - static Value call(Managed *m, const CallData &); + static Value construct(Managed *m, CallData *d); + static Value call(Managed *m, CallData *); static void getLookup(Managed *m, Lookup *, Value *); static void setLookup(Managed *m, Lookup *l, const Value &v); static bool isEqualTo(Managed *m, Managed *other); diff --git a/src/qml/jsruntime/qv4numberobject.cpp b/src/qml/jsruntime/qv4numberobject.cpp index 88c61489db..dbdf109a4a 100644 --- a/src/qml/jsruntime/qv4numberobject.cpp +++ b/src/qml/jsruntime/qv4numberobject.cpp @@ -56,15 +56,15 @@ NumberCtor::NumberCtor(ExecutionContext *scope) vtbl = &static_vtbl; } -Value NumberCtor::construct(Managed *m, const CallData &d) +Value NumberCtor::construct(Managed *m, CallData *callData) { - double dbl = d.argc ? d.args[0].toNumber() : 0.; + double dbl = callData->argc ? callData->args[0].toNumber() : 0.; return Value::fromObject(m->engine()->newNumberObject(Value::fromDouble(dbl))); } -Value NumberCtor::call(Managed *, const CallData &d) +Value NumberCtor::call(Managed *, CallData *callData) { - double dbl = d.argc ? d.args[0].toNumber() : 0.; + double dbl = callData->argc ? callData->args[0].toNumber() : 0.; return Value::fromDouble(dbl); } diff --git a/src/qml/jsruntime/qv4numberobject_p.h b/src/qml/jsruntime/qv4numberobject_p.h index 096b4b3d9f..a0c2a65e80 100644 --- a/src/qml/jsruntime/qv4numberobject_p.h +++ b/src/qml/jsruntime/qv4numberobject_p.h @@ -53,8 +53,8 @@ struct NumberCtor: FunctionObject { NumberCtor(ExecutionContext *scope); - static Value construct(Managed *that, const CallData &d); - static Value call(Managed *, const CallData &d); + static Value construct(Managed *that, CallData *callData); + static Value call(Managed *, CallData *callData); protected: static const ManagedVTable static_vtbl; diff --git a/src/qml/jsruntime/qv4objectproto.cpp b/src/qml/jsruntime/qv4objectproto.cpp index 23224fc1fe..99ac4dd0df 100644 --- a/src/qml/jsruntime/qv4objectproto.cpp +++ b/src/qml/jsruntime/qv4objectproto.cpp @@ -79,25 +79,25 @@ ObjectCtor::ObjectCtor(ExecutionContext *scope) vtbl = &static_vtbl; } -Value ObjectCtor::construct(Managed *that, const CallData &d) +Value ObjectCtor::construct(Managed *that, CallData *callData) { ObjectCtor *ctor = static_cast<ObjectCtor *>(that); ExecutionEngine *v4 = that->engine(); - if (!d.argc || d.args[0].isUndefined() || d.args[0].isNull()) { + if (!callData->argc || callData->args[0].isUndefined() || callData->args[0].isNull()) { Object *obj = v4->newObject(); Value proto = ctor->get(v4->id_prototype); if (proto.isObject()) obj->setPrototype(proto.objectValue()); return Value::fromObject(obj); } - return __qmljs_to_object(v4->current, d.args[0]); + return __qmljs_to_object(v4->current, callData->args[0]); } -Value ObjectCtor::call(Managed *m, const CallData &d) +Value ObjectCtor::call(Managed *m, CallData *callData) { - if (!d.argc || d.args[0].isUndefined() || d.args[0].isNull()) + if (!callData->argc || callData->args[0].isUndefined() || callData->args[0].isNull()) return Value::fromObject(m->engine()->newObject()); - return __qmljs_to_object(m->engine()->current, d.args[0]); + return __qmljs_to_object(m->engine()->current, callData->args[0]); } void ObjectPrototype::init(ExecutionContext *ctx, const Value &ctor) diff --git a/src/qml/jsruntime/qv4objectproto_p.h b/src/qml/jsruntime/qv4objectproto_p.h index be51c41580..33a115f203 100644 --- a/src/qml/jsruntime/qv4objectproto_p.h +++ b/src/qml/jsruntime/qv4objectproto_p.h @@ -53,8 +53,8 @@ struct ObjectCtor: FunctionObject { ObjectCtor(ExecutionContext *scope); - static Value construct(Managed *that, const CallData &d); - static Value call(Managed *that, const CallData &d); + static Value construct(Managed *that, CallData *callData); + static Value call(Managed *that, CallData *callData); protected: static const ManagedVTable static_vtbl; diff --git a/src/qml/jsruntime/qv4qobjectwrapper.cpp b/src/qml/jsruntime/qv4qobjectwrapper.cpp index fc26385cb7..fbe5b4484d 100644 --- a/src/qml/jsruntime/qv4qobjectwrapper.cpp +++ b/src/qml/jsruntime/qv4qobjectwrapper.cpp @@ -1687,17 +1687,17 @@ QV4::Value QObjectMethod::method_destroy(QV4::ExecutionContext *ctx, const Value return QV4::Value::undefinedValue(); } -Value QObjectMethod::call(Managed *m, const CallData &d) +Value QObjectMethod::call(Managed *m, CallData *callData) { QObjectMethod *This = static_cast<QObjectMethod*>(m); - return This->callInternal(d); + return This->callInternal(callData); } -Value QObjectMethod::callInternal(const CallData &d) +Value QObjectMethod::callInternal(CallData *callData) { ExecutionContext *context = engine()->current; if (m_index == DestroyMethod) - return method_destroy(context, d.args, d.argc); + return method_destroy(context, callData->args, callData->argc); else if (m_index == ToStringMethod) return method_toString(context); @@ -1732,7 +1732,7 @@ Value QObjectMethod::callInternal(const CallData &d) if (method.isV4Function()) { QV4::Value rv = QV4::Value::undefinedValue(); - QQmlV4Function func(d.argc, d.args, &rv, m_qmlGlobal.value(), + QQmlV4Function func(callData->argc, callData->args, &rv, m_qmlGlobal.value(), QmlContextWrapper::getContext(m_qmlGlobal.value()), v8Engine); QQmlV4Function *funcptr = &func; @@ -1743,7 +1743,7 @@ Value QObjectMethod::callInternal(const CallData &d) return rv; } - CallArgs callArgs(d.argc, d.args); + CallArgs callArgs(callData->argc, callData->args); if (!method.isOverload()) { return CallPrecise(object, method, v8Engine, callArgs); } else { diff --git a/src/qml/jsruntime/qv4qobjectwrapper_p.h b/src/qml/jsruntime/qv4qobjectwrapper_p.h index 7d8e778a5d..3a48fee1ec 100644 --- a/src/qml/jsruntime/qv4qobjectwrapper_p.h +++ b/src/qml/jsruntime/qv4qobjectwrapper_p.h @@ -141,9 +141,9 @@ private: int m_index; QV4::PersistentValue m_qmlGlobal; - static Value call(Managed *, const CallData &d); + static Value call(Managed *, CallData *callData); - Value callInternal(const CallData &d); + Value callInternal(CallData *callData); static void destroy(Managed *that) { diff --git a/src/qml/jsruntime/qv4regexpobject.cpp b/src/qml/jsruntime/qv4regexpobject.cpp index ed4d3e3d17..420e29096b 100644 --- a/src/qml/jsruntime/qv4regexpobject.cpp +++ b/src/qml/jsruntime/qv4regexpobject.cpp @@ -229,10 +229,10 @@ RegExpCtor::RegExpCtor(ExecutionContext *scope) vtbl = &static_vtbl; } -Value RegExpCtor::construct(Managed *m, const CallData &d) +Value RegExpCtor::construct(Managed *m, CallData *callData) { - Value r = d.argc > 0 ? d.args[0] : Value::undefinedValue(); - Value f = d.argc > 1 ? d.args[1] : Value::undefinedValue(); + Value r = callData->argc > 0 ? callData->args[0] : Value::undefinedValue(); + Value f = callData->argc > 1 ? callData->args[1] : Value::undefinedValue(); ExecutionContext *ctx = m->engine()->current; if (RegExpObject *re = r.as<RegExpObject>()) { if (!f.isUndefined()) @@ -273,14 +273,14 @@ Value RegExpCtor::construct(Managed *m, const CallData &d) return Value::fromObject(o); } -Value RegExpCtor::call(Managed *that, const CallData &d) +Value RegExpCtor::call(Managed *that, CallData *callData) { - if (d.argc > 0 && d.args[0].as<RegExpObject>()) { - if (d.argc == 1 || d.args[1].isUndefined()) - return d.args[0]; + if (callData->argc > 0 && callData->args[0].as<RegExpObject>()) { + if (callData->argc == 1 || callData->args[1].isUndefined()) + return callData->args[0]; } - return construct(that, d); + return construct(that, callData); } void RegExpPrototype::init(ExecutionContext *ctx, const Value &ctor) diff --git a/src/qml/jsruntime/qv4regexpobject_p.h b/src/qml/jsruntime/qv4regexpobject_p.h index 80868d90db..a17802e2ff 100644 --- a/src/qml/jsruntime/qv4regexpobject_p.h +++ b/src/qml/jsruntime/qv4regexpobject_p.h @@ -105,8 +105,8 @@ struct RegExpCtor: FunctionObject { RegExpCtor(ExecutionContext *scope); - static Value construct(Managed *m, const CallData &d); - static Value call(Managed *that, const CallData &d); + static Value construct(Managed *m, CallData *callData); + static Value call(Managed *that, CallData *callData); protected: static const ManagedVTable static_vtbl; diff --git a/src/qml/jsruntime/qv4runtime.cpp b/src/qml/jsruntime/qv4runtime.cpp index ca6540b920..08e0f91379 100644 --- a/src/qml/jsruntime/qv4runtime.cpp +++ b/src/qml/jsruntime/qv4runtime.cpp @@ -738,7 +738,7 @@ void __qmljs_call_global_lookup(ExecutionContext *context, Value *result, uint i return; } - Value res = o->call(*callData); + Value res = o->call(callData); if (result) *result = res; } @@ -769,7 +769,7 @@ void __qmljs_call_activation_property(ExecutionContext *context, Value *result, return; } - Value res = o->call(*callData); + Value res = o->call(callData); if (result) *result = res; } @@ -793,7 +793,7 @@ void __qmljs_call_property(ExecutionContext *context, Value *result, String *nam context->throwTypeError(error); } - Value res = o->call(*callData); + Value res = o->call(callData); if (result) *result = res; } @@ -809,7 +809,7 @@ void __qmljs_call_property_lookup(ExecutionContext *context, Value *result, uint if (!o) context->throwTypeError(); - Value res = o->call(*callData); + Value res = o->call(callData); if (result) *result = res; } @@ -823,7 +823,7 @@ void __qmljs_call_element(ExecutionContext *context, Value *result, const Value if (!o) context->throwTypeError(); - Value res = o->call(*callData); + Value res = o->call(callData); if (result) *result = res; } @@ -834,7 +834,7 @@ void __qmljs_call_value(ExecutionContext *context, Value *result, const Value &f if (!o) context->throwTypeError(); - Value res = o->call(*callData); + Value res = o->call(callData); if (result) *result = res; } @@ -853,7 +853,7 @@ void __qmljs_construct_global_lookup(ExecutionContext *context, Value *result, u if (!f) context->throwTypeError(); - Value res = f->construct(*callData); + Value res = f->construct(callData); if (result) *result = res; } @@ -866,7 +866,7 @@ void __qmljs_construct_activation_property(ExecutionContext *context, Value *res if (!f) context->throwTypeError(); - Value res = f->construct(*callData); + Value res = f->construct(callData); if (result) *result = res; } @@ -877,7 +877,7 @@ void __qmljs_construct_value(ExecutionContext *context, Value *result, const Val if (!f) context->throwTypeError(); - Value res = f->construct(*callData); + Value res = f->construct(callData); if (result) *result = res; } @@ -891,7 +891,7 @@ void __qmljs_construct_property(ExecutionContext *context, Value *result, const if (!f) context->throwTypeError(); - Value res = f->construct(*callData); + Value res = f->construct(callData); if (result) *result = res; } diff --git a/src/qml/jsruntime/qv4scopedvalue_p.h b/src/qml/jsruntime/qv4scopedvalue_p.h index 5998fd92a1..3f616b87f3 100644 --- a/src/qml/jsruntime/qv4scopedvalue_p.h +++ b/src/qml/jsruntime/qv4scopedvalue_p.h @@ -161,8 +161,8 @@ struct ScopedCallData { return ptr; } - operator const CallData &() const { - return *ptr; + operator CallData *() const { + return ptr; } diff --git a/src/qml/jsruntime/qv4script.cpp b/src/qml/jsruntime/qv4script.cpp index 46e4d1485f..e2a4054ea4 100644 --- a/src/qml/jsruntime/qv4script.cpp +++ b/src/qml/jsruntime/qv4script.cpp @@ -79,7 +79,7 @@ struct QmlBindingWrapper : FunctionObject scope->engine->popContext(); } - static Value call(Managed *that, const CallData &); + static Value call(Managed *that, CallData *); static void markObjects(Managed *m) { QmlBindingWrapper *wrapper = static_cast<QmlBindingWrapper*>(m); @@ -122,7 +122,7 @@ struct CompilationUnitHolder : public QV4::Object DEFINE_MANAGED_VTABLE(CompilationUnitHolder); -Value QmlBindingWrapper::call(Managed *that, const CallData &) +Value QmlBindingWrapper::call(Managed *that, CallData *) { ExecutionEngine *engine = that->engine(); QmlBindingWrapper *This = static_cast<QmlBindingWrapper *>(that); diff --git a/src/qml/jsruntime/qv4stringobject.cpp b/src/qml/jsruntime/qv4stringobject.cpp index 4ff261ca26..6fdb3e6dda 100644 --- a/src/qml/jsruntime/qv4stringobject.cpp +++ b/src/qml/jsruntime/qv4stringobject.cpp @@ -160,21 +160,21 @@ StringCtor::StringCtor(ExecutionContext *scope) vtbl = &static_vtbl; } -Value StringCtor::construct(Managed *m, const CallData &d) +Value StringCtor::construct(Managed *m, CallData *callData) { Value value; - if (d.argc) - value = Value::fromString(d.args[0].toString(m->engine()->current)); + if (callData->argc) + value = Value::fromString(callData->args[0].toString(m->engine()->current)); else value = Value::fromString(m->engine()->current, QString()); return Value::fromObject(m->engine()->newStringObject(value)); } -Value StringCtor::call(Managed *m, const CallData &d) +Value StringCtor::call(Managed *m, CallData *callData) { Value value; - if (d.argc) - value = Value::fromString(d.args[0].toString(m->engine()->current)); + if (callData->argc) + value = Value::fromString(callData->args[0].toString(m->engine()->current)); else value = Value::fromString(m->engine()->current, QString()); return value; diff --git a/src/qml/jsruntime/qv4stringobject_p.h b/src/qml/jsruntime/qv4stringobject_p.h index 38d6eeeac5..f9cf89e9d9 100644 --- a/src/qml/jsruntime/qv4stringobject_p.h +++ b/src/qml/jsruntime/qv4stringobject_p.h @@ -70,8 +70,8 @@ struct StringCtor: FunctionObject { StringCtor(ExecutionContext *scope); - static Value construct(Managed *m, const CallData &d); - static Value call(Managed *that, const CallData &d); + static Value construct(Managed *m, CallData *callData); + static Value call(Managed *that, CallData *callData); protected: static const ManagedVTable static_vtbl; diff --git a/src/qml/jsruntime/qv4value_p.h b/src/qml/jsruntime/qv4value_p.h index 73d5d0479d..5fbd4ac2d7 100644 --- a/src/qml/jsruntime/qv4value_p.h +++ b/src/qml/jsruntime/qv4value_p.h @@ -320,10 +320,10 @@ inline ErrorObject *Value::asErrorObject() const } // ### -inline Value Managed::construct(const CallData &d) { +inline Value Managed::construct(CallData *d) { return vtbl->construct(this, d); } -inline Value Managed::call(const CallData &d) { +inline Value Managed::call(CallData *d) { return vtbl->call(this, d); } |