aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2013-11-03 15:23:05 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-11-09 02:01:17 +0100
commit412eb94de4cae754130ae855236420ebd5c42482 (patch)
tree901af6051691c65a96abe3f69fcd3d5fc57ff80a /src/qml/jsruntime
parente367f75d7285d2bcd10cbb35d088c96f33c02aff (diff)
Simplify & speed up function calling
Get rid of the SimpleCallContext, instead simply use the CallContext data structure, but don't initialize the unused variables. Change-Id: I11b311986da180c62c815b516a2c55844156d0ab Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime')
-rw-r--r--src/qml/jsruntime/qv4arrayobject.cpp44
-rw-r--r--src/qml/jsruntime/qv4arrayobject_p.h44
-rw-r--r--src/qml/jsruntime/qv4booleanobject.cpp4
-rw-r--r--src/qml/jsruntime/qv4booleanobject_p.h4
-rw-r--r--src/qml/jsruntime/qv4context.cpp70
-rw-r--r--src/qml/jsruntime/qv4context_p.h29
-rw-r--r--src/qml/jsruntime/qv4dateobject.cpp96
-rw-r--r--src/qml/jsruntime/qv4dateobject_p.h98
-rw-r--r--src/qml/jsruntime/qv4debugging.cpp11
-rw-r--r--src/qml/jsruntime/qv4engine.cpp14
-rw-r--r--src/qml/jsruntime/qv4engine_p.h6
-rw-r--r--src/qml/jsruntime/qv4errorobject.cpp4
-rw-r--r--src/qml/jsruntime/qv4errorobject_p.h4
-rw-r--r--src/qml/jsruntime/qv4functionobject.cpp75
-rw-r--r--src/qml/jsruntime/qv4functionobject_p.h16
-rw-r--r--src/qml/jsruntime/qv4globalobject.cpp20
-rw-r--r--src/qml/jsruntime/qv4globalobject_p.h20
-rw-r--r--src/qml/jsruntime/qv4include.cpp2
-rw-r--r--src/qml/jsruntime/qv4include_p.h2
-rw-r--r--src/qml/jsruntime/qv4jsonobject.cpp4
-rw-r--r--src/qml/jsruntime/qv4jsonobject_p.h4
-rw-r--r--src/qml/jsruntime/qv4mathobject.cpp36
-rw-r--r--src/qml/jsruntime/qv4mathobject_p.h36
-rw-r--r--src/qml/jsruntime/qv4numberobject.cpp12
-rw-r--r--src/qml/jsruntime/qv4numberobject_p.h12
-rw-r--r--src/qml/jsruntime/qv4object.cpp8
-rw-r--r--src/qml/jsruntime/qv4object_p.h8
-rw-r--r--src/qml/jsruntime/qv4objectproto.cpp46
-rw-r--r--src/qml/jsruntime/qv4objectproto_p.h52
-rw-r--r--src/qml/jsruntime/qv4qobjectwrapper.cpp4
-rw-r--r--src/qml/jsruntime/qv4qobjectwrapper_p.h4
-rw-r--r--src/qml/jsruntime/qv4regexpobject.cpp8
-rw-r--r--src/qml/jsruntime/qv4regexpobject_p.h8
-rw-r--r--src/qml/jsruntime/qv4scopedvalue_p.h2
-rw-r--r--src/qml/jsruntime/qv4sequenceobject.cpp8
-rw-r--r--src/qml/jsruntime/qv4sequenceobject_p.h4
-rw-r--r--src/qml/jsruntime/qv4stringobject.cpp40
-rw-r--r--src/qml/jsruntime/qv4stringobject_p.h40
-rw-r--r--src/qml/jsruntime/qv4variantobject.cpp8
-rw-r--r--src/qml/jsruntime/qv4variantobject_p.h8
-rw-r--r--src/qml/jsruntime/qv4vme_moth.cpp2
41 files changed, 456 insertions, 461 deletions
diff --git a/src/qml/jsruntime/qv4arrayobject.cpp b/src/qml/jsruntime/qv4arrayobject.cpp
index 85423a4118..5422bff800 100644
--- a/src/qml/jsruntime/qv4arrayobject.cpp
+++ b/src/qml/jsruntime/qv4arrayobject.cpp
@@ -131,13 +131,13 @@ uint ArrayPrototype::getLength(ExecutionContext *ctx, ObjectRef o)
return v->toUInt32();
}
-ReturnedValue ArrayPrototype::method_isArray(SimpleCallContext *ctx)
+ReturnedValue ArrayPrototype::method_isArray(CallContext *ctx)
{
bool isArray = ctx->callData->argc && ctx->callData->args[0].asArrayObject();
return Encode(isArray);
}
-ReturnedValue ArrayPrototype::method_toString(SimpleCallContext *ctx)
+ReturnedValue ArrayPrototype::method_toString(CallContext *ctx)
{
Scope scope(ctx);
ScopedObject o(scope, ctx->callData->thisObject, ScopedObject::Convert);
@@ -153,12 +153,12 @@ ReturnedValue ArrayPrototype::method_toString(SimpleCallContext *ctx)
return ObjectPrototype::method_toString(ctx);
}
-ReturnedValue ArrayPrototype::method_toLocaleString(SimpleCallContext *ctx)
+ReturnedValue ArrayPrototype::method_toLocaleString(CallContext *ctx)
{
return method_toString(ctx);
}
-ReturnedValue ArrayPrototype::method_concat(SimpleCallContext *ctx)
+ReturnedValue ArrayPrototype::method_concat(CallContext *ctx)
{
Scope scope(ctx);
ScopedObject result(scope, ctx->engine->newArrayObject());
@@ -185,7 +185,7 @@ ReturnedValue ArrayPrototype::method_concat(SimpleCallContext *ctx)
return result.asReturnedValue();
}
-ReturnedValue ArrayPrototype::method_join(SimpleCallContext *ctx)
+ReturnedValue ArrayPrototype::method_join(CallContext *ctx)
{
Scope scope(ctx);
ScopedValue arg(scope, ctx->argument(0));
@@ -244,7 +244,7 @@ ReturnedValue ArrayPrototype::method_join(SimpleCallContext *ctx)
return ctx->engine->newString(R)->asReturnedValue();
}
-ReturnedValue ArrayPrototype::method_pop(SimpleCallContext *ctx)
+ReturnedValue ArrayPrototype::method_pop(CallContext *ctx)
{
Scope scope(ctx);
ScopedObject instance(scope, ctx->callData->thisObject.toObject(ctx));
@@ -272,7 +272,7 @@ ReturnedValue ArrayPrototype::method_pop(SimpleCallContext *ctx)
return result.asReturnedValue();
}
-ReturnedValue ArrayPrototype::method_push(SimpleCallContext *ctx)
+ReturnedValue ArrayPrototype::method_push(CallContext *ctx)
{
Scope scope(ctx);
ScopedObject instance(scope, ctx->callData->thisObject.toObject(ctx));
@@ -326,7 +326,7 @@ ReturnedValue ArrayPrototype::method_push(SimpleCallContext *ctx)
return Encode(len);
}
-ReturnedValue ArrayPrototype::method_reverse(SimpleCallContext *ctx)
+ReturnedValue ArrayPrototype::method_reverse(CallContext *ctx)
{
Scope scope(ctx);
ScopedObject instance(scope, ctx->callData->thisObject.toObject(ctx));
@@ -358,7 +358,7 @@ ReturnedValue ArrayPrototype::method_reverse(SimpleCallContext *ctx)
return instance.asReturnedValue();
}
-ReturnedValue ArrayPrototype::method_shift(SimpleCallContext *ctx)
+ReturnedValue ArrayPrototype::method_shift(CallContext *ctx)
{
Scope scope(ctx);
ScopedObject instance(scope, ctx->callData->thisObject.toObject(ctx));
@@ -418,7 +418,7 @@ ReturnedValue ArrayPrototype::method_shift(SimpleCallContext *ctx)
return result.asReturnedValue();
}
-ReturnedValue ArrayPrototype::method_slice(SimpleCallContext *ctx)
+ReturnedValue ArrayPrototype::method_slice(CallContext *ctx)
{
Scope scope(ctx);
ScopedObject o(scope, ctx->callData->thisObject.toObject(ctx));
@@ -460,7 +460,7 @@ ReturnedValue ArrayPrototype::method_slice(SimpleCallContext *ctx)
return result.asReturnedValue();
}
-ReturnedValue ArrayPrototype::method_sort(SimpleCallContext *ctx)
+ReturnedValue ArrayPrototype::method_sort(CallContext *ctx)
{
Scope scope(ctx);
Scoped<Object> instance(scope, ctx->callData->thisObject.toObject(ctx));
@@ -474,7 +474,7 @@ ReturnedValue ArrayPrototype::method_sort(SimpleCallContext *ctx)
return ctx->callData->thisObject.asReturnedValue();
}
-ReturnedValue ArrayPrototype::method_splice(SimpleCallContext *ctx)
+ReturnedValue ArrayPrototype::method_splice(CallContext *ctx)
{
Scope scope(ctx);
ScopedObject instance(scope, ctx->callData->thisObject.toObject(ctx));
@@ -552,7 +552,7 @@ ReturnedValue ArrayPrototype::method_splice(SimpleCallContext *ctx)
return newArray.asReturnedValue();
}
-ReturnedValue ArrayPrototype::method_unshift(SimpleCallContext *ctx)
+ReturnedValue ArrayPrototype::method_unshift(CallContext *ctx)
{
Scope scope(ctx);
ScopedObject instance(scope, ctx->callData->thisObject.toObject(ctx));
@@ -604,7 +604,7 @@ ReturnedValue ArrayPrototype::method_unshift(SimpleCallContext *ctx)
return Encode(newLen);
}
-ReturnedValue ArrayPrototype::method_indexOf(SimpleCallContext *ctx)
+ReturnedValue ArrayPrototype::method_indexOf(CallContext *ctx)
{
Scope scope(ctx);
@@ -643,7 +643,7 @@ ReturnedValue ArrayPrototype::method_indexOf(SimpleCallContext *ctx)
return instance->arrayIndexOf(searchValue, fromIndex, len, ctx, instance.getPointer());
}
-ReturnedValue ArrayPrototype::method_lastIndexOf(SimpleCallContext *ctx)
+ReturnedValue ArrayPrototype::method_lastIndexOf(CallContext *ctx)
{
Scope scope(ctx);
@@ -689,7 +689,7 @@ ReturnedValue ArrayPrototype::method_lastIndexOf(SimpleCallContext *ctx)
return Encode(-1);
}
-ReturnedValue ArrayPrototype::method_every(SimpleCallContext *ctx)
+ReturnedValue ArrayPrototype::method_every(CallContext *ctx)
{
Scope scope(ctx);
Scoped<Object> instance(scope, ctx->callData->thisObject.toObject(ctx));
@@ -723,7 +723,7 @@ ReturnedValue ArrayPrototype::method_every(SimpleCallContext *ctx)
return Encode(ok);
}
-ReturnedValue ArrayPrototype::method_some(SimpleCallContext *ctx)
+ReturnedValue ArrayPrototype::method_some(CallContext *ctx)
{
Scope scope(ctx);
Scoped<Object> instance(scope, ctx->callData->thisObject.toObject(ctx));
@@ -757,7 +757,7 @@ ReturnedValue ArrayPrototype::method_some(SimpleCallContext *ctx)
return Encode(false);
}
-ReturnedValue ArrayPrototype::method_forEach(SimpleCallContext *ctx)
+ReturnedValue ArrayPrototype::method_forEach(CallContext *ctx)
{
Scope scope(ctx);
Scoped<Object> instance(scope, ctx->callData->thisObject.toObject(ctx));
@@ -788,7 +788,7 @@ ReturnedValue ArrayPrototype::method_forEach(SimpleCallContext *ctx)
return Encode::undefined();
}
-ReturnedValue ArrayPrototype::method_map(SimpleCallContext *ctx)
+ReturnedValue ArrayPrototype::method_map(CallContext *ctx)
{
Scope scope(ctx);
Scoped<Object> instance(scope, ctx->callData->thisObject.toObject(ctx));
@@ -825,7 +825,7 @@ ReturnedValue ArrayPrototype::method_map(SimpleCallContext *ctx)
return a.asReturnedValue();
}
-ReturnedValue ArrayPrototype::method_filter(SimpleCallContext *ctx)
+ReturnedValue ArrayPrototype::method_filter(CallContext *ctx)
{
Scope scope(ctx);
Scoped<Object> instance(scope, ctx->callData->thisObject.toObject(ctx));
@@ -866,7 +866,7 @@ ReturnedValue ArrayPrototype::method_filter(SimpleCallContext *ctx)
return a.asReturnedValue();
}
-ReturnedValue ArrayPrototype::method_reduce(SimpleCallContext *ctx)
+ReturnedValue ArrayPrototype::method_reduce(CallContext *ctx)
{
Scope scope(ctx);
Scoped<Object> instance(scope, ctx->callData->thisObject.toObject(ctx));
@@ -916,7 +916,7 @@ ReturnedValue ArrayPrototype::method_reduce(SimpleCallContext *ctx)
return acc.asReturnedValue();
}
-ReturnedValue ArrayPrototype::method_reduceRight(SimpleCallContext *ctx)
+ReturnedValue ArrayPrototype::method_reduceRight(CallContext *ctx)
{
Scope scope(ctx);
Scoped<Object> instance(scope, ctx->callData->thisObject.toObject(ctx));
diff --git a/src/qml/jsruntime/qv4arrayobject_p.h b/src/qml/jsruntime/qv4arrayobject_p.h
index 933939e279..7e809f9064 100644
--- a/src/qml/jsruntime/qv4arrayobject_p.h
+++ b/src/qml/jsruntime/qv4arrayobject_p.h
@@ -66,28 +66,28 @@ struct ArrayPrototype: ArrayObject
static uint getLength(ExecutionContext *ctx, ObjectRef o);
- static ReturnedValue method_isArray(SimpleCallContext *ctx);
- static ReturnedValue method_toString(SimpleCallContext *ctx);
- static ReturnedValue method_toLocaleString(SimpleCallContext *ctx);
- static ReturnedValue method_concat(SimpleCallContext *ctx);
- static ReturnedValue method_join(SimpleCallContext *ctx);
- static ReturnedValue method_pop(SimpleCallContext *ctx);
- static ReturnedValue method_push(SimpleCallContext *ctx);
- static ReturnedValue method_reverse(SimpleCallContext *ctx);
- static ReturnedValue method_shift(SimpleCallContext *ctx);
- static ReturnedValue method_slice(SimpleCallContext *ctx);
- static ReturnedValue method_sort(SimpleCallContext *ctx);
- static ReturnedValue method_splice(SimpleCallContext *ctx);
- static ReturnedValue method_unshift(SimpleCallContext *ctx);
- static ReturnedValue method_indexOf(SimpleCallContext *ctx);
- static ReturnedValue method_lastIndexOf(SimpleCallContext *ctx);
- static ReturnedValue method_every(SimpleCallContext *ctx);
- static ReturnedValue method_some(SimpleCallContext *ctx);
- static ReturnedValue method_forEach(SimpleCallContext *ctx);
- static ReturnedValue method_map(SimpleCallContext *ctx);
- static ReturnedValue method_filter(SimpleCallContext *ctx);
- static ReturnedValue method_reduce(SimpleCallContext *ctx);
- static ReturnedValue method_reduceRight(SimpleCallContext *ctx);
+ static ReturnedValue method_isArray(CallContext *ctx);
+ static ReturnedValue method_toString(CallContext *ctx);
+ static ReturnedValue method_toLocaleString(CallContext *ctx);
+ static ReturnedValue method_concat(CallContext *ctx);
+ static ReturnedValue method_join(CallContext *ctx);
+ static ReturnedValue method_pop(CallContext *ctx);
+ static ReturnedValue method_push(CallContext *ctx);
+ static ReturnedValue method_reverse(CallContext *ctx);
+ static ReturnedValue method_shift(CallContext *ctx);
+ static ReturnedValue method_slice(CallContext *ctx);
+ static ReturnedValue method_sort(CallContext *ctx);
+ static ReturnedValue method_splice(CallContext *ctx);
+ static ReturnedValue method_unshift(CallContext *ctx);
+ static ReturnedValue method_indexOf(CallContext *ctx);
+ static ReturnedValue method_lastIndexOf(CallContext *ctx);
+ static ReturnedValue method_every(CallContext *ctx);
+ static ReturnedValue method_some(CallContext *ctx);
+ static ReturnedValue method_forEach(CallContext *ctx);
+ static ReturnedValue method_map(CallContext *ctx);
+ static ReturnedValue method_filter(CallContext *ctx);
+ static ReturnedValue method_reduce(CallContext *ctx);
+ static ReturnedValue method_reduceRight(CallContext *ctx);
};
diff --git a/src/qml/jsruntime/qv4booleanobject.cpp b/src/qml/jsruntime/qv4booleanobject.cpp
index d9de6d9fba..a0d0027e5f 100644
--- a/src/qml/jsruntime/qv4booleanobject.cpp
+++ b/src/qml/jsruntime/qv4booleanobject.cpp
@@ -77,7 +77,7 @@ void BooleanPrototype::init(ExecutionEngine *engine, ObjectRef ctor)
defineDefaultProperty(engine->id_valueOf, method_valueOf);
}
-ReturnedValue BooleanPrototype::method_toString(SimpleCallContext *ctx)
+ReturnedValue BooleanPrototype::method_toString(CallContext *ctx)
{
bool result;
if (ctx->callData->thisObject.isBoolean()) {
@@ -93,7 +93,7 @@ ReturnedValue BooleanPrototype::method_toString(SimpleCallContext *ctx)
return Encode(ctx->engine->newString(QLatin1String(result ? "true" : "false")));
}
-ReturnedValue BooleanPrototype::method_valueOf(SimpleCallContext *ctx)
+ReturnedValue BooleanPrototype::method_valueOf(CallContext *ctx)
{
if (ctx->callData->thisObject.isBoolean())
return ctx->callData->thisObject.asReturnedValue();
diff --git a/src/qml/jsruntime/qv4booleanobject_p.h b/src/qml/jsruntime/qv4booleanobject_p.h
index 6766fae830..56c00f99ed 100644
--- a/src/qml/jsruntime/qv4booleanobject_p.h
+++ b/src/qml/jsruntime/qv4booleanobject_p.h
@@ -63,8 +63,8 @@ struct BooleanPrototype: BooleanObject
BooleanPrototype(InternalClass *ic): BooleanObject(ic) {}
void init(ExecutionEngine *engine, ObjectRef ctor);
- static ReturnedValue method_toString(SimpleCallContext *ctx);
- static ReturnedValue method_valueOf(SimpleCallContext *ctx);
+ static ReturnedValue method_toString(CallContext *ctx);
+ static ReturnedValue method_valueOf(CallContext *ctx);
};
diff --git a/src/qml/jsruntime/qv4context.cpp b/src/qml/jsruntime/qv4context.cpp
index 07a5f90136..18b0de3077 100644
--- a/src/qml/jsruntime/qv4context.cpp
+++ b/src/qml/jsruntime/qv4context.cpp
@@ -51,47 +51,6 @@
using namespace QV4;
-CallContext *ExecutionContext::newCallContext(void *stackSpace, SafeValue *locals, FunctionObject *function, CallData *callData)
-{
- CallContext *c = (CallContext *)stackSpace;
-#ifndef QT_NO_DEBUG
- c->next = (CallContext *)0x1;
-#endif
-
- engine->current = c;
-
- c->initBaseContext(Type_CallContext, engine, this);
-
- c->function = function;
- c->callData = callData;
-
- c->strictMode = function->strictMode;
- c->marked = false;
- c->outer = function->scope;
-#ifndef QT_NO_DEBUG
- assert(c->outer->next != (ExecutionContext *)0x1);
-#endif
-
- c->activation = 0;
-
- if (function->function) {
- c->compilationUnit = function->function->compilationUnit;
- c->lookups = c->compilationUnit->runtimeLookups;
- }
-
- c->locals = locals;
-
- if (callData->argc < static_cast<int>(function->formalParameterCount)) {
-#ifndef QT_NO_DEBUG
- Q_ASSERT(function->formalParameterCount <= QV4::Global::ReservedArgumentCount);
-#endif
- std::fill(c->callData->args + callData->argc, c->callData->args + function->formalParameterCount, Primitive::undefinedValue());
- c->callData->argc = function->formalParameterCount;
- }
-
- return c;
-}
-
CallContext *ExecutionContext::newCallContext(FunctionObject *function, CallData *callData)
{
CallContext *c = static_cast<CallContext *>(engine->memoryManager->allocContext(requiredMemoryForExecutionContect(function, callData->argc)));
@@ -187,22 +146,34 @@ void ExecutionContext::createMutableBinding(const StringRef name, bool deletable
String * const *ExecutionContext::formals() const
{
- return type >= Type_CallContext ? static_cast<const CallContext *>(this)->function->formalParameterList : 0;
+ if (type < Type_SimpleCallContext)
+ return 0;
+ QV4::FunctionObject *f = static_cast<const CallContext *>(this)->function;
+ return f ? f->formalParameterList : 0;
}
unsigned int ExecutionContext::formalCount() const
{
- return type >= Type_CallContext ? static_cast<const CallContext *>(this)->function->formalParameterCount : 0;
+ if (type < Type_SimpleCallContext)
+ return 0;
+ QV4::FunctionObject *f = static_cast<const CallContext *>(this)->function;
+ return f ? f->formalParameterCount : 0;
}
String * const *ExecutionContext::variables() const
{
- return type >= Type_CallContext ? static_cast<const CallContext *>(this)->function->varList : 0;
+ if (type < Type_SimpleCallContext)
+ return 0;
+ QV4::FunctionObject *f = static_cast<const CallContext *>(this)->function;
+ return f ? f->varList : 0;
}
unsigned int ExecutionContext::variableCount() const
{
- return type >= Type_CallContext ? static_cast<const CallContext *>(this)->function->varCount : 0;
+ if (type < Type_SimpleCallContext)
+ return 0;
+ QV4::FunctionObject *f = static_cast<const CallContext *>(this)->function;
+ return f ? f->varCount : 0;
}
@@ -320,9 +291,10 @@ void ExecutionContext::mark()
return;
marked = true;
- if (type != Type_SimpleCallContext && outer)
+ if (outer)
outer->mark();
+ // ### shouldn't need these 3 lines
callData->thisObject.mark(engine);
for (int arg = 0; arg < callData->argc; ++arg)
callData->args[arg].mark(engine);
@@ -613,9 +585,3 @@ ReturnedValue ExecutionContext::throwURIError(const ValueRef msg)
ScopedObject error(scope, engine->newURIErrorObject(msg));
return throwError(error);
}
-
-void SimpleCallContext::initSimpleCallContext(ExecutionEngine *engine)
-{
- initBaseContext(Type_SimpleCallContext, engine, engine->current);
- function = 0;
-}
diff --git a/src/qml/jsruntime/qv4context_p.h b/src/qml/jsruntime/qv4context_p.h
index de5b8f9530..9a7b9a61b2 100644
--- a/src/qml/jsruntime/qv4context_p.h
+++ b/src/qml/jsruntime/qv4context_p.h
@@ -62,6 +62,7 @@ struct Function;
};
struct CallContext;
+struct CallContext;
struct CatchContext;
struct WithContext;
@@ -114,7 +115,6 @@ struct Q_QML_EXPORT ExecutionContext
jitInstructionPointer = 0;
}
- CallContext *newCallContext(void *stackSpace, SafeValue *locals, FunctionObject *f, CallData *callData);
CallContext *newCallContext(FunctionObject *f, CallData *callData);
WithContext *newWithContext(ObjectRef with);
CatchContext *newCatchContext(const StringRef exceptionVarName, const ValueRef exceptionValue);
@@ -153,22 +153,23 @@ struct Q_QML_EXPORT ExecutionContext
inline const CallContext *asCallContext() const;
};
-struct SimpleCallContext : public ExecutionContext
+struct CallContext : public ExecutionContext
{
- void initSimpleCallContext(ExecutionEngine *engine);
FunctionObject *function;
int realArgumentCount;
+ SafeValue *locals;
+ Object *activation;
- inline ReturnedValue argument(int i);
-};
-
-struct CallContext : public SimpleCallContext
-{
+ void initSimpleCallContext(ExecutionEngine *engine, ExecutionContext *parent) {
+ initBaseContext(Type_SimpleCallContext, engine, parent);
+ function = 0;
+ locals = 0;
+ activation = 0;
+ }
void initQmlContext(ExecutionContext *parentContext, ObjectRef qml, QV4::FunctionObject *function);
- bool needsOwnArguments() const;
- SafeValue *locals;
- Object *activation;
+ inline ReturnedValue argument(int i);
+ bool needsOwnArguments() const;
};
struct GlobalContext : public ExecutionContext
@@ -195,19 +196,17 @@ struct WithContext : public ExecutionContext
inline CallContext *ExecutionContext::asCallContext()
{
- return type >= Type_CallContext ? static_cast<CallContext *>(this) : 0;
+ return type >= Type_SimpleCallContext ? static_cast<CallContext *>(this) : 0;
}
inline const CallContext *ExecutionContext::asCallContext() const
{
- return type >= Type_CallContext ? static_cast<const CallContext *>(this) : 0;
+ return type >= Type_SimpleCallContext ? static_cast<const CallContext *>(this) : 0;
}
/* Function *f, int argc */
#define requiredMemoryForExecutionContect(f, argc) \
sizeof(CallContext) + sizeof(Value) * (f->varCount + qMax((uint)argc, f->formalParameterCount)) + sizeof(CallData)
-#define requiredMemoryForExecutionContectSimple(f) \
- sizeof(CallContext)
} // namespace QV4
diff --git a/src/qml/jsruntime/qv4dateobject.cpp b/src/qml/jsruntime/qv4dateobject.cpp
index aee4917842..b732c8a04a 100644
--- a/src/qml/jsruntime/qv4dateobject.cpp
+++ b/src/qml/jsruntime/qv4dateobject.cpp
@@ -779,14 +779,14 @@ double DatePrototype::getThisDate(ExecutionContext *ctx)
}
}
-ReturnedValue DatePrototype::method_parse(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_parse(CallContext *ctx)
{
if (!ctx->callData->argc)
return Encode(qSNaN());
return Encode(ParseString(ctx->callData->args[0].toString(ctx)->toQString()));
}
-ReturnedValue DatePrototype::method_UTC(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_UTC(CallContext *ctx)
{
const int numArgs = ctx->callData->argc;
if (numArgs >= 2) {
@@ -806,62 +806,62 @@ ReturnedValue DatePrototype::method_UTC(SimpleCallContext *ctx)
return Encode::undefined();
}
-ReturnedValue DatePrototype::method_now(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_now(CallContext *ctx)
{
Q_UNUSED(ctx);
double t = currentTime();
return Encode(t);
}
-ReturnedValue DatePrototype::method_toString(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_toString(CallContext *ctx)
{
double t = getThisDate(ctx);
return ctx->engine->newString(ToString(t))->asReturnedValue();
}
-ReturnedValue DatePrototype::method_toDateString(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_toDateString(CallContext *ctx)
{
double t = getThisDate(ctx);
return ctx->engine->newString(ToDateString(t))->asReturnedValue();
}
-ReturnedValue DatePrototype::method_toTimeString(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_toTimeString(CallContext *ctx)
{
double t = getThisDate(ctx);
return ctx->engine->newString(ToTimeString(t))->asReturnedValue();
}
-ReturnedValue DatePrototype::method_toLocaleString(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_toLocaleString(CallContext *ctx)
{
double t = getThisDate(ctx);
return ctx->engine->newString(ToLocaleString(t))->asReturnedValue();
}
-ReturnedValue DatePrototype::method_toLocaleDateString(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_toLocaleDateString(CallContext *ctx)
{
double t = getThisDate(ctx);
return ctx->engine->newString(ToLocaleDateString(t))->asReturnedValue();
}
-ReturnedValue DatePrototype::method_toLocaleTimeString(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_toLocaleTimeString(CallContext *ctx)
{
double t = getThisDate(ctx);
return ctx->engine->newString(ToLocaleTimeString(t))->asReturnedValue();
}
-ReturnedValue DatePrototype::method_valueOf(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_valueOf(CallContext *ctx)
{
double t = getThisDate(ctx);
return Encode(t);
}
-ReturnedValue DatePrototype::method_getTime(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_getTime(CallContext *ctx)
{
double t = getThisDate(ctx);
return Encode(t);
}
-ReturnedValue DatePrototype::method_getYear(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_getYear(CallContext *ctx)
{
double t = getThisDate(ctx);
if (! std::isnan(t))
@@ -869,7 +869,7 @@ ReturnedValue DatePrototype::method_getYear(SimpleCallContext *ctx)
return Encode(t);
}
-ReturnedValue DatePrototype::method_getFullYear(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_getFullYear(CallContext *ctx)
{
double t = getThisDate(ctx);
if (! std::isnan(t))
@@ -877,7 +877,7 @@ ReturnedValue DatePrototype::method_getFullYear(SimpleCallContext *ctx)
return Encode(t);
}
-ReturnedValue DatePrototype::method_getUTCFullYear(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_getUTCFullYear(CallContext *ctx)
{
double t = getThisDate(ctx);
if (! std::isnan(t))
@@ -885,7 +885,7 @@ ReturnedValue DatePrototype::method_getUTCFullYear(SimpleCallContext *ctx)
return Encode(t);
}
-ReturnedValue DatePrototype::method_getMonth(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_getMonth(CallContext *ctx)
{
double t = getThisDate(ctx);
if (! std::isnan(t))
@@ -893,7 +893,7 @@ ReturnedValue DatePrototype::method_getMonth(SimpleCallContext *ctx)
return Encode(t);
}
-ReturnedValue DatePrototype::method_getUTCMonth(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_getUTCMonth(CallContext *ctx)
{
double t = getThisDate(ctx);
if (! std::isnan(t))
@@ -901,7 +901,7 @@ ReturnedValue DatePrototype::method_getUTCMonth(SimpleCallContext *ctx)
return Encode(t);
}
-ReturnedValue DatePrototype::method_getDate(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_getDate(CallContext *ctx)
{
double t = getThisDate(ctx);
if (! std::isnan(t))
@@ -909,7 +909,7 @@ ReturnedValue DatePrototype::method_getDate(SimpleCallContext *ctx)
return Encode(t);
}
-ReturnedValue DatePrototype::method_getUTCDate(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_getUTCDate(CallContext *ctx)
{
double t = getThisDate(ctx);
if (! std::isnan(t))
@@ -917,7 +917,7 @@ ReturnedValue DatePrototype::method_getUTCDate(SimpleCallContext *ctx)
return Encode(t);
}
-ReturnedValue DatePrototype::method_getDay(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_getDay(CallContext *ctx)
{
double t = getThisDate(ctx);
if (! std::isnan(t))
@@ -925,7 +925,7 @@ ReturnedValue DatePrototype::method_getDay(SimpleCallContext *ctx)
return Encode(t);
}
-ReturnedValue DatePrototype::method_getUTCDay(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_getUTCDay(CallContext *ctx)
{
double t = getThisDate(ctx);
if (! std::isnan(t))
@@ -933,7 +933,7 @@ ReturnedValue DatePrototype::method_getUTCDay(SimpleCallContext *ctx)
return Encode(t);
}
-ReturnedValue DatePrototype::method_getHours(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_getHours(CallContext *ctx)
{
double t = getThisDate(ctx);
if (! std::isnan(t))
@@ -941,7 +941,7 @@ ReturnedValue DatePrototype::method_getHours(SimpleCallContext *ctx)
return Encode(t);
}
-ReturnedValue DatePrototype::method_getUTCHours(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_getUTCHours(CallContext *ctx)
{
double t = getThisDate(ctx);
if (! std::isnan(t))
@@ -949,7 +949,7 @@ ReturnedValue DatePrototype::method_getUTCHours(SimpleCallContext *ctx)
return Encode(t);
}
-ReturnedValue DatePrototype::method_getMinutes(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_getMinutes(CallContext *ctx)
{
double t = getThisDate(ctx);
if (! std::isnan(t))
@@ -957,7 +957,7 @@ ReturnedValue DatePrototype::method_getMinutes(SimpleCallContext *ctx)
return Encode(t);
}
-ReturnedValue DatePrototype::method_getUTCMinutes(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_getUTCMinutes(CallContext *ctx)
{
double t = getThisDate(ctx);
if (! std::isnan(t))
@@ -965,7 +965,7 @@ ReturnedValue DatePrototype::method_getUTCMinutes(SimpleCallContext *ctx)
return Encode(t);
}
-ReturnedValue DatePrototype::method_getSeconds(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_getSeconds(CallContext *ctx)
{
double t = getThisDate(ctx);
if (! std::isnan(t))
@@ -973,7 +973,7 @@ ReturnedValue DatePrototype::method_getSeconds(SimpleCallContext *ctx)
return Encode(t);
}
-ReturnedValue DatePrototype::method_getUTCSeconds(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_getUTCSeconds(CallContext *ctx)
{
double t = getThisDate(ctx);
if (! std::isnan(t))
@@ -981,7 +981,7 @@ ReturnedValue DatePrototype::method_getUTCSeconds(SimpleCallContext *ctx)
return Encode(t);
}
-ReturnedValue DatePrototype::method_getMilliseconds(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_getMilliseconds(CallContext *ctx)
{
double t = getThisDate(ctx);
if (! std::isnan(t))
@@ -989,7 +989,7 @@ ReturnedValue DatePrototype::method_getMilliseconds(SimpleCallContext *ctx)
return Encode(t);
}
-ReturnedValue DatePrototype::method_getUTCMilliseconds(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_getUTCMilliseconds(CallContext *ctx)
{
double t = getThisDate(ctx);
if (! std::isnan(t))
@@ -997,7 +997,7 @@ ReturnedValue DatePrototype::method_getUTCMilliseconds(SimpleCallContext *ctx)
return Encode(t);
}
-ReturnedValue DatePrototype::method_getTimezoneOffset(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_getTimezoneOffset(CallContext *ctx)
{
double t = getThisDate(ctx);
if (! std::isnan(t))
@@ -1005,7 +1005,7 @@ ReturnedValue DatePrototype::method_getTimezoneOffset(SimpleCallContext *ctx)
return Encode(t);
}
-ReturnedValue DatePrototype::method_setTime(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_setTime(CallContext *ctx)
{
Scope scope(ctx);
Scoped<DateObject> self(scope, ctx->callData->thisObject);
@@ -1017,7 +1017,7 @@ ReturnedValue DatePrototype::method_setTime(SimpleCallContext *ctx)
return self->value.asReturnedValue();
}
-ReturnedValue DatePrototype::method_setMilliseconds(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_setMilliseconds(CallContext *ctx)
{
Scope scope(ctx);
Scoped<DateObject> self(scope, ctx->callData->thisObject);
@@ -1030,7 +1030,7 @@ ReturnedValue DatePrototype::method_setMilliseconds(SimpleCallContext *ctx)
return self->value.asReturnedValue();
}
-ReturnedValue DatePrototype::method_setUTCMilliseconds(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_setUTCMilliseconds(CallContext *ctx)
{
DateObject *self = ctx->callData->thisObject.asDateObject();
if (!self)
@@ -1042,7 +1042,7 @@ ReturnedValue DatePrototype::method_setUTCMilliseconds(SimpleCallContext *ctx)
return self->value.asReturnedValue();
}
-ReturnedValue DatePrototype::method_setSeconds(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_setSeconds(CallContext *ctx)
{
DateObject *self = ctx->callData->thisObject.asDateObject();
if (!self)
@@ -1056,7 +1056,7 @@ ReturnedValue DatePrototype::method_setSeconds(SimpleCallContext *ctx)
return self->value.asReturnedValue();
}
-ReturnedValue DatePrototype::method_setUTCSeconds(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_setUTCSeconds(CallContext *ctx)
{
DateObject *self = ctx->callData->thisObject.asDateObject();
if (!self)
@@ -1070,7 +1070,7 @@ ReturnedValue DatePrototype::method_setUTCSeconds(SimpleCallContext *ctx)
return self->value.asReturnedValue();
}
-ReturnedValue DatePrototype::method_setMinutes(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_setMinutes(CallContext *ctx)
{
DateObject *self = ctx->callData->thisObject.asDateObject();
if (!self)
@@ -1085,7 +1085,7 @@ ReturnedValue DatePrototype::method_setMinutes(SimpleCallContext *ctx)
return self->value.asReturnedValue();
}
-ReturnedValue DatePrototype::method_setUTCMinutes(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_setUTCMinutes(CallContext *ctx)
{
DateObject *self = ctx->callData->thisObject.asDateObject();
if (!self)
@@ -1100,7 +1100,7 @@ ReturnedValue DatePrototype::method_setUTCMinutes(SimpleCallContext *ctx)
return self->value.asReturnedValue();
}
-ReturnedValue DatePrototype::method_setHours(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_setHours(CallContext *ctx)
{
DateObject *self = ctx->callData->thisObject.asDateObject();
if (!self)
@@ -1116,7 +1116,7 @@ ReturnedValue DatePrototype::method_setHours(SimpleCallContext *ctx)
return self->value.asReturnedValue();
}
-ReturnedValue DatePrototype::method_setUTCHours(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_setUTCHours(CallContext *ctx)
{
DateObject *self = ctx->callData->thisObject.asDateObject();
if (!self)
@@ -1132,7 +1132,7 @@ ReturnedValue DatePrototype::method_setUTCHours(SimpleCallContext *ctx)
return self->value.asReturnedValue();
}
-ReturnedValue DatePrototype::method_setDate(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_setDate(CallContext *ctx)
{
DateObject *self = ctx->callData->thisObject.asDateObject();
if (!self)
@@ -1145,7 +1145,7 @@ ReturnedValue DatePrototype::method_setDate(SimpleCallContext *ctx)
return self->value.asReturnedValue();
}
-ReturnedValue DatePrototype::method_setUTCDate(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_setUTCDate(CallContext *ctx)
{
DateObject *self = ctx->callData->thisObject.asDateObject();
if (!self)
@@ -1158,7 +1158,7 @@ ReturnedValue DatePrototype::method_setUTCDate(SimpleCallContext *ctx)
return self->value.asReturnedValue();
}
-ReturnedValue DatePrototype::method_setMonth(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_setMonth(CallContext *ctx)
{
DateObject *self = ctx->callData->thisObject.asDateObject();
if (!self)
@@ -1172,7 +1172,7 @@ ReturnedValue DatePrototype::method_setMonth(SimpleCallContext *ctx)
return self->value.asReturnedValue();
}
-ReturnedValue DatePrototype::method_setUTCMonth(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_setUTCMonth(CallContext *ctx)
{
DateObject *self = ctx->callData->thisObject.asDateObject();
if (!self)
@@ -1186,7 +1186,7 @@ ReturnedValue DatePrototype::method_setUTCMonth(SimpleCallContext *ctx)
return self->value.asReturnedValue();
}
-ReturnedValue DatePrototype::method_setYear(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_setYear(CallContext *ctx)
{
DateObject *self = ctx->callData->thisObject.asDateObject();
if (!self)
@@ -1212,7 +1212,7 @@ ReturnedValue DatePrototype::method_setYear(SimpleCallContext *ctx)
return self->value.asReturnedValue();
}
-ReturnedValue DatePrototype::method_setUTCFullYear(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_setUTCFullYear(CallContext *ctx)
{
DateObject *self = ctx->callData->thisObject.asDateObject();
if (!self)
@@ -1227,7 +1227,7 @@ ReturnedValue DatePrototype::method_setUTCFullYear(SimpleCallContext *ctx)
return self->value.asReturnedValue();
}
-ReturnedValue DatePrototype::method_setFullYear(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_setFullYear(CallContext *ctx)
{
DateObject *self = ctx->callData->thisObject.asDateObject();
if (!self)
@@ -1244,7 +1244,7 @@ ReturnedValue DatePrototype::method_setFullYear(SimpleCallContext *ctx)
return self->value.asReturnedValue();
}
-ReturnedValue DatePrototype::method_toUTCString(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_toUTCString(CallContext *ctx)
{
DateObject *self = ctx->callData->thisObject.asDateObject();
if (!self)
@@ -1267,7 +1267,7 @@ static void addZeroPrefixedInt(QString &str, int num, int nDigits)
}
}
-ReturnedValue DatePrototype::method_toISOString(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_toISOString(CallContext *ctx)
{
DateObject *self = ctx->callData->thisObject.asDateObject();
if (!self)
@@ -1305,7 +1305,7 @@ ReturnedValue DatePrototype::method_toISOString(SimpleCallContext *ctx)
return ctx->engine->newString(result)->asReturnedValue();
}
-ReturnedValue DatePrototype::method_toJSON(SimpleCallContext *ctx)
+ReturnedValue DatePrototype::method_toJSON(CallContext *ctx)
{
Scope scope(ctx);
ScopedValue O(scope, __qmljs_to_object(ctx, ValueRef(&ctx->callData->thisObject)));
diff --git a/src/qml/jsruntime/qv4dateobject_p.h b/src/qml/jsruntime/qv4dateobject_p.h
index 5cd03024c5..e96cac2f20 100644
--- a/src/qml/jsruntime/qv4dateobject_p.h
+++ b/src/qml/jsruntime/qv4dateobject_p.h
@@ -87,55 +87,55 @@ struct DatePrototype: DateObject
static double getThisDate(ExecutionContext *ctx);
- static ReturnedValue method_parse(SimpleCallContext *ctx);
- static ReturnedValue method_UTC(SimpleCallContext *ctx);
- static ReturnedValue method_now(SimpleCallContext *ctx);
-
- static ReturnedValue method_toString(SimpleCallContext *ctx);
- static ReturnedValue method_toDateString(SimpleCallContext *ctx);
- static ReturnedValue method_toTimeString(SimpleCallContext *ctx);
- static ReturnedValue method_toLocaleString(SimpleCallContext *ctx);
- static ReturnedValue method_toLocaleDateString(SimpleCallContext *ctx);
- static ReturnedValue method_toLocaleTimeString(SimpleCallContext *ctx);
- static ReturnedValue method_valueOf(SimpleCallContext *ctx);
- static ReturnedValue method_getTime(SimpleCallContext *ctx);
- static ReturnedValue method_getYear(SimpleCallContext *ctx);
- static ReturnedValue method_getFullYear(SimpleCallContext *ctx);
- static ReturnedValue method_getUTCFullYear(SimpleCallContext *ctx);
- static ReturnedValue method_getMonth(SimpleCallContext *ctx);
- static ReturnedValue method_getUTCMonth(SimpleCallContext *ctx);
- static ReturnedValue method_getDate(SimpleCallContext *ctx);
- static ReturnedValue method_getUTCDate(SimpleCallContext *ctx);
- static ReturnedValue method_getDay(SimpleCallContext *ctx);
- static ReturnedValue method_getUTCDay(SimpleCallContext *ctx);
- static ReturnedValue method_getHours(SimpleCallContext *ctx);
- static ReturnedValue method_getUTCHours(SimpleCallContext *ctx);
- static ReturnedValue method_getMinutes(SimpleCallContext *ctx);
- static ReturnedValue method_getUTCMinutes(SimpleCallContext *ctx);
- static ReturnedValue method_getSeconds(SimpleCallContext *ctx);
- static ReturnedValue method_getUTCSeconds(SimpleCallContext *ctx);
- static ReturnedValue method_getMilliseconds(SimpleCallContext *ctx);
- static ReturnedValue method_getUTCMilliseconds(SimpleCallContext *ctx);
- static ReturnedValue method_getTimezoneOffset(SimpleCallContext *ctx);
- static ReturnedValue method_setTime(SimpleCallContext *ctx);
- static ReturnedValue method_setMilliseconds(SimpleCallContext *ctx);
- static ReturnedValue method_setUTCMilliseconds(SimpleCallContext *ctx);
- static ReturnedValue method_setSeconds(SimpleCallContext *ctx);
- static ReturnedValue method_setUTCSeconds(SimpleCallContext *ctx);
- static ReturnedValue method_setMinutes(SimpleCallContext *ctx);
- static ReturnedValue method_setUTCMinutes(SimpleCallContext *ctx);
- static ReturnedValue method_setHours(SimpleCallContext *ctx);
- static ReturnedValue method_setUTCHours(SimpleCallContext *ctx);
- static ReturnedValue method_setDate(SimpleCallContext *ctx);
- static ReturnedValue method_setUTCDate(SimpleCallContext *ctx);
- static ReturnedValue method_setMonth(SimpleCallContext *ctx);
- static ReturnedValue method_setUTCMonth(SimpleCallContext *ctx);
- static ReturnedValue method_setYear(SimpleCallContext *ctx);
- static ReturnedValue method_setFullYear(SimpleCallContext *ctx);
- static ReturnedValue method_setUTCFullYear(SimpleCallContext *ctx);
- static ReturnedValue method_toUTCString(SimpleCallContext *ctx);
- static ReturnedValue method_toISOString(SimpleCallContext *ctx);
- static ReturnedValue method_toJSON(SimpleCallContext *ctx);
+ static ReturnedValue method_parse(CallContext *ctx);
+ static ReturnedValue method_UTC(CallContext *ctx);
+ static ReturnedValue method_now(CallContext *ctx);
+
+ static ReturnedValue method_toString(CallContext *ctx);
+ static ReturnedValue method_toDateString(CallContext *ctx);
+ static ReturnedValue method_toTimeString(CallContext *ctx);
+ static ReturnedValue method_toLocaleString(CallContext *ctx);
+ static ReturnedValue method_toLocaleDateString(CallContext *ctx);
+ static ReturnedValue method_toLocaleTimeString(CallContext *ctx);
+ static ReturnedValue method_valueOf(CallContext *ctx);
+ static ReturnedValue method_getTime(CallContext *ctx);
+ static ReturnedValue method_getYear(CallContext *ctx);
+ static ReturnedValue method_getFullYear(CallContext *ctx);
+ static ReturnedValue method_getUTCFullYear(CallContext *ctx);
+ static ReturnedValue method_getMonth(CallContext *ctx);
+ static ReturnedValue method_getUTCMonth(CallContext *ctx);
+ static ReturnedValue method_getDate(CallContext *ctx);
+ static ReturnedValue method_getUTCDate(CallContext *ctx);
+ static ReturnedValue method_getDay(CallContext *ctx);
+ static ReturnedValue method_getUTCDay(CallContext *ctx);
+ static ReturnedValue method_getHours(CallContext *ctx);
+ static ReturnedValue method_getUTCHours(CallContext *ctx);
+ static ReturnedValue method_getMinutes(CallContext *ctx);
+ static ReturnedValue method_getUTCMinutes(CallContext *ctx);
+ static ReturnedValue method_getSeconds(CallContext *ctx);
+ static ReturnedValue method_getUTCSeconds(CallContext *ctx);
+ static ReturnedValue method_getMilliseconds(CallContext *ctx);
+ static ReturnedValue method_getUTCMilliseconds(CallContext *ctx);
+ static ReturnedValue method_getTimezoneOffset(CallContext *ctx);
+ static ReturnedValue method_setTime(CallContext *ctx);
+ static ReturnedValue method_setMilliseconds(CallContext *ctx);
+ static ReturnedValue method_setUTCMilliseconds(CallContext *ctx);
+ static ReturnedValue method_setSeconds(CallContext *ctx);
+ static ReturnedValue method_setUTCSeconds(CallContext *ctx);
+ static ReturnedValue method_setMinutes(CallContext *ctx);
+ static ReturnedValue method_setUTCMinutes(CallContext *ctx);
+ static ReturnedValue method_setHours(CallContext *ctx);
+ static ReturnedValue method_setUTCHours(CallContext *ctx);
+ static ReturnedValue method_setDate(CallContext *ctx);
+ static ReturnedValue method_setUTCDate(CallContext *ctx);
+ static ReturnedValue method_setMonth(CallContext *ctx);
+ static ReturnedValue method_setUTCMonth(CallContext *ctx);
+ static ReturnedValue method_setYear(CallContext *ctx);
+ static ReturnedValue method_setFullYear(CallContext *ctx);
+ static ReturnedValue method_setUTCFullYear(CallContext *ctx);
+ static ReturnedValue method_toUTCString(CallContext *ctx);
+ static ReturnedValue method_toISOString(CallContext *ctx);
+ static ReturnedValue method_toJSON(CallContext *ctx);
static void timezoneUpdated();
};
diff --git a/src/qml/jsruntime/qv4debugging.cpp b/src/qml/jsruntime/qv4debugging.cpp
index a9fc050483..0d2a9225da 100644
--- a/src/qml/jsruntime/qv4debugging.cpp
+++ b/src/qml/jsruntime/qv4debugging.cpp
@@ -125,7 +125,8 @@ Debugger::ExecutionState Debugger::currentExecutionState(const uchar *code) cons
QV4::ExecutionContext *context = m_engine->current;
QV4::Function *function = 0;
- if (CallContext *callCtx = context->asCallContext())
+ CallContext *callCtx = context->asCallContext();
+ if (callCtx && callCtx->function)
function = callCtx->function->function;
else {
Q_ASSERT(context->type == QV4::ExecutionContext::Type_GlobalContext);
@@ -230,7 +231,8 @@ void Debugger::convert(ValueRef v, QVariant *varValue, VarInfo::Type *type) cons
static CallContext *findContext(ExecutionContext *ctxt, int frame)
{
while (ctxt) {
- if (CallContext *cCtxt = ctxt->asCallContext()) {
+ CallContext *cCtxt = ctxt->asCallContext();
+ if (cCtxt && cCtxt->function) {
if (frame < 1)
return cCtxt;
--frame;
@@ -299,9 +301,10 @@ QList<Debugger::VarInfo> Debugger::retrieveLocalsFromContext(const QStringList &
if (frame < 0)
return args;
- CallContext *ctxt = findContext(m_engine->current, frame);
- if (!ctxt)
+ CallContext *sctxt = findContext(m_engine->current, frame);
+ if (!sctxt || sctxt->type < ExecutionContext::Type_SimpleCallContext)
return args;
+ CallContext *ctxt = static_cast<CallContext *>(sctxt);
Scope scope(m_engine);
ScopedValue v(scope);
diff --git a/src/qml/jsruntime/qv4engine.cpp b/src/qml/jsruntime/qv4engine.cpp
index 5d22dde98c..8da593f8e3 100644
--- a/src/qml/jsruntime/qv4engine.cpp
+++ b/src/qml/jsruntime/qv4engine.cpp
@@ -78,7 +78,7 @@ using namespace QV4;
static QBasicAtomicInt engineSerial = Q_BASIC_ATOMIC_INITIALIZER(1);
-static ReturnedValue throwTypeError(SimpleCallContext *ctx)
+static ReturnedValue throwTypeError(CallContext *ctx)
{
return ctx->throwTypeError();
}
@@ -359,7 +359,7 @@ ExecutionContext *ExecutionEngine::pushGlobalContext()
return current;
}
-Returned<FunctionObject> *ExecutionEngine::newBuiltinFunction(ExecutionContext *scope, const StringRef name, ReturnedValue (*code)(SimpleCallContext *))
+Returned<FunctionObject> *ExecutionEngine::newBuiltinFunction(ExecutionContext *scope, const StringRef name, ReturnedValue (*code)(CallContext *))
{
BuiltinFunction *f = new (memoryManager) BuiltinFunction(scope, name, code);
return f->asReturned<FunctionObject>();
@@ -546,7 +546,7 @@ Returned<Object> *ExecutionEngine::qmlContextObject() const
{
ExecutionContext *ctx = current;
- if (ctx->type == QV4::ExecutionContext::Type_SimpleCallContext)
+ if (ctx->type == QV4::ExecutionContext::Type_SimpleCallContext && !ctx->outer)
ctx = ctx->parent;
if (!ctx->outer)
@@ -555,7 +555,7 @@ Returned<Object> *ExecutionEngine::qmlContextObject() const
while (ctx->outer && ctx->outer->type != ExecutionContext::Type_GlobalContext)
ctx = ctx->outer;
- assert(ctx);
+ Q_ASSERT(ctx);
if (ctx->type != ExecutionContext::Type_QmlContext)
return 0;
@@ -591,7 +591,8 @@ QVector<StackFrame> ExecutionEngine::stackTrace(int frameLimit) const
QV4::ExecutionContext *c = current;
while (c && frameLimit) {
- if (CallContext *callCtx = c->asCallContext()) {
+ CallContext *callCtx = c->asCallContext();
+ if (callCtx && callCtx->function) {
StackFrame frame;
if (callCtx->function->function)
frame.source = callCtx->function->function->sourceFile();
@@ -644,7 +645,8 @@ QUrl ExecutionEngine::resolvedUrl(const QString &file)
QUrl base;
QV4::ExecutionContext *c = current;
while (c) {
- if (CallContext *callCtx = c->asCallContext()) {
+ CallContext *callCtx = c->asCallContext();
+ if (callCtx && callCtx->function) {
if (callCtx->function->function)
base.setUrl(callCtx->function->function->sourceFile());
break;
diff --git a/src/qml/jsruntime/qv4engine_p.h b/src/qml/jsruntime/qv4engine_p.h
index 3413238f3d..2df148a4a8 100644
--- a/src/qml/jsruntime/qv4engine_p.h
+++ b/src/qml/jsruntime/qv4engine_p.h
@@ -271,10 +271,10 @@ struct Q_QML_EXPORT ExecutionEngine
void enableDebugger();
ExecutionContext *pushGlobalContext();
- void pushContext(SimpleCallContext *context);
+ void pushContext(CallContext *context);
ExecutionContext *popContext();
- Returned<FunctionObject> *newBuiltinFunction(ExecutionContext *scope, const StringRef name, ReturnedValue (*code)(SimpleCallContext *));
+ Returned<FunctionObject> *newBuiltinFunction(ExecutionContext *scope, const StringRef name, ReturnedValue (*code)(CallContext *));
Returned<BoundFunction> *newBoundFunction(ExecutionContext *scope, FunctionObjectRef target, const ValueRef boundThis, const QVector<SafeValue> &boundArgs);
Returned<Object> *newObject();
@@ -344,7 +344,7 @@ private:
QmlExtensions *m_qmlExtensions;
};
-inline void ExecutionEngine::pushContext(SimpleCallContext *context)
+inline void ExecutionEngine::pushContext(CallContext *context)
{
context->parent = current;
current = context;
diff --git a/src/qml/jsruntime/qv4errorobject.cpp b/src/qml/jsruntime/qv4errorobject.cpp
index 3f75bc0c79..bac29d19e1 100644
--- a/src/qml/jsruntime/qv4errorobject.cpp
+++ b/src/qml/jsruntime/qv4errorobject.cpp
@@ -167,7 +167,7 @@ ErrorObject::ErrorObject(InternalClass *ic, const QString &message, const QStrin
defineDefaultProperty(QStringLiteral("message"), v);
}
-ReturnedValue ErrorObject::method_get_stack(SimpleCallContext *ctx)
+ReturnedValue ErrorObject::method_get_stack(CallContext *ctx)
{
Scope scope(ctx);
Scoped<ErrorObject> This(scope, ctx->callData->thisObject);
@@ -383,7 +383,7 @@ void ErrorPrototype::init(ExecutionEngine *engine, ObjectRef ctor, Object *obj)
obj->defineDefaultProperty(QStringLiteral("message"), (s = engine->newString(QString())));
}
-ReturnedValue ErrorPrototype::method_toString(SimpleCallContext *ctx)
+ReturnedValue ErrorPrototype::method_toString(CallContext *ctx)
{
Scope scope(ctx);
diff --git a/src/qml/jsruntime/qv4errorobject_p.h b/src/qml/jsruntime/qv4errorobject_p.h
index b46bea5231..3f4cb8fc43 100644
--- a/src/qml/jsruntime/qv4errorobject_p.h
+++ b/src/qml/jsruntime/qv4errorobject_p.h
@@ -73,7 +73,7 @@ struct ErrorObject: Object {
StackTrace stackTrace;
String *stack;
- static ReturnedValue method_get_stack(SimpleCallContext *ctx);
+ static ReturnedValue method_get_stack(CallContext *ctx);
static void markObjects(Managed *that, ExecutionEngine *e);
static void destroy(Managed *that) { static_cast<ErrorObject *>(that)->~ErrorObject(); }
};
@@ -179,7 +179,7 @@ struct ErrorPrototype: ErrorObject
void init(ExecutionEngine *engine, ObjectRef ctor) { init(engine, ctor, this); }
static void init(ExecutionEngine *engine, ObjectRef ctor, Object *obj);
- static ReturnedValue method_toString(SimpleCallContext *ctx);
+ static ReturnedValue method_toString(CallContext *ctx);
};
struct EvalErrorPrototype: ErrorObject
diff --git a/src/qml/jsruntime/qv4functionobject.cpp b/src/qml/jsruntime/qv4functionobject.cpp
index 35e4202790..7841f7c331 100644
--- a/src/qml/jsruntime/qv4functionobject.cpp
+++ b/src/qml/jsruntime/qv4functionobject.cpp
@@ -222,7 +222,10 @@ void FunctionObject::markObjects(Managed *that, ExecutionEngine *e)
FunctionObject *FunctionObject::creatScriptFunction(ExecutionContext *scope, Function *function)
{
- if (function->needsActivation() || function->compiledFunction->nFormals > QV4::Global::ReservedArgumentCount)
+ if (function->needsActivation() ||
+ function->compiledFunction->flags & CompiledData::Function::HasCatchOrWith ||
+ function->compiledFunction->nFormals > QV4::Global::ReservedArgumentCount ||
+ function->isNamedExpression())
return new (scope->engine->memoryManager) ScriptFunction(scope, function);
return new (scope->engine->memoryManager) SimpleScriptFunction(scope, function);
}
@@ -313,7 +316,7 @@ void FunctionPrototype::init(ExecutionEngine *engine, ObjectRef ctor)
}
-ReturnedValue FunctionPrototype::method_toString(SimpleCallContext *ctx)
+ReturnedValue FunctionPrototype::method_toString(CallContext *ctx)
{
FunctionObject *fun = ctx->callData->thisObject.asFunctionObject();
if (!fun)
@@ -322,7 +325,7 @@ ReturnedValue FunctionPrototype::method_toString(SimpleCallContext *ctx)
return ctx->engine->newString(QStringLiteral("function() { [code] }"))->asReturnedValue();
}
-ReturnedValue FunctionPrototype::method_apply(SimpleCallContext *ctx)
+ReturnedValue FunctionPrototype::method_apply(CallContext *ctx)
{
Scope scope(ctx);
FunctionObject *o = ctx->callData->thisObject.asFunctionObject();
@@ -361,7 +364,7 @@ ReturnedValue FunctionPrototype::method_apply(SimpleCallContext *ctx)
return o->call(callData);
}
-ReturnedValue FunctionPrototype::method_call(SimpleCallContext *ctx)
+ReturnedValue FunctionPrototype::method_call(CallContext *ctx)
{
Scope scope(ctx);
@@ -378,7 +381,7 @@ ReturnedValue FunctionPrototype::method_call(SimpleCallContext *ctx)
return o->call(callData);
}
-ReturnedValue FunctionPrototype::method_bind(SimpleCallContext *ctx)
+ReturnedValue FunctionPrototype::method_bind(CallContext *ctx)
{
Scope scope(ctx);
Scoped<FunctionObject> target(scope, ctx->callData->thisObject);
@@ -520,29 +523,41 @@ ReturnedValue SimpleScriptFunction::construct(Managed *that, CallData *callData)
ExecutionEngine *v4 = that->internalClass->engine;
if (v4->hasException)
return Encode::undefined();
- Scope scope(v4);
+ Scope scope(v4);
Scoped<SimpleScriptFunction> f(scope, static_cast<SimpleScriptFunction *>(that));
InternalClass *ic = v4->objectClass;
Scoped<Object> proto(scope, f->memberData[Index_Prototype].value);
if (!!proto)
ic = v4->emptyClass->changePrototype(proto.getPointer());
- Scoped<Object> obj(scope, v4->newObject(ic));
+ callData->thisObject = v4->newObject(ic);
ExecutionContext *context = v4->current;
- void *stackSpace = alloca(requiredMemoryForExecutionContectSimple(f));
- callData->thisObject = obj;
- ExecutionContext *ctx = context->newCallContext(stackSpace, scope.alloc(f->varCount), f.getPointer(), callData);
+
+ CallContext ctx;
+ ctx.initSimpleCallContext(v4, context);
+ ctx.strictMode = f->strictMode;
+ ctx.callData = callData;
+ ctx.function = f.getPointer();
+ ctx.compilationUnit = f->function->compilationUnit;
+ ctx.lookups = ctx.compilationUnit->runtimeLookups;
+ ctx.outer = f->scope;
+ ctx.locals = v4->stackPush(f->function->locals.size());
+ while (callData->argc < (int)f->formalParameterCount) {
+ callData->args[callData->argc] = Encode::undefined();
+ ++callData->argc;
+ }
+ v4->pushContext(&ctx);
if (f->function->compiledFunction->hasQmlDependencies())
QmlContextWrapper::registerQmlDependencies(v4, f->function->compiledFunction);
ExecutionContextSaver ctxSaver(context);
- Scoped<Object> result(scope, f->function->code(ctx, f->function->codeData));
+ Scoped<Object> result(scope, f->function->code(&ctx, f->function->codeData));
if (!result)
- return obj.asReturnedValue();
+ return callData->thisObject.asReturnedValue();
return result.asReturnedValue();
}
@@ -552,19 +567,31 @@ ReturnedValue SimpleScriptFunction::call(Managed *that, CallData *callData)
if (v4->hasException)
return Encode::undefined();
- Scope scope(v4);
+ SimpleScriptFunction *f = static_cast<SimpleScriptFunction *>(that);
- Scoped<SimpleScriptFunction> f(scope, static_cast<SimpleScriptFunction *>(that));
-
- void *stackSpace = alloca(requiredMemoryForExecutionContectSimple(f));
+ Scope scope(v4);
ExecutionContext *context = v4->current;
- ExecutionContext *ctx = context->newCallContext(stackSpace, scope.alloc(f->varCount), f.getPointer(), callData);
+
+ CallContext ctx;
+ ctx.initSimpleCallContext(v4, context);
+ ctx.strictMode = f->strictMode;
+ ctx.callData = callData;
+ ctx.function = f;
+ ctx.compilationUnit = f->function->compilationUnit;
+ ctx.lookups = ctx.compilationUnit->runtimeLookups;
+ ctx.outer = f->scope;
+ ctx.locals = v4->stackPush(f->function->locals.size());
+ while (callData->argc < (int)f->formalParameterCount) {
+ callData->args[callData->argc] = Encode::undefined();
+ ++callData->argc;
+ }
+ v4->current = &ctx;
if (f->function->compiledFunction->hasQmlDependencies())
QmlContextWrapper::registerQmlDependencies(v4, f->function->compiledFunction);
ExecutionContextSaver ctxSaver(context);
- return f->function->code(ctx, f->function->codeData);
+ return f->function->code(&ctx, f->function->codeData);
}
@@ -572,7 +599,7 @@ ReturnedValue SimpleScriptFunction::call(Managed *that, CallData *callData)
DEFINE_MANAGED_VTABLE(BuiltinFunction);
-BuiltinFunction::BuiltinFunction(ExecutionContext *scope, const StringRef name, ReturnedValue (*code)(SimpleCallContext *))
+BuiltinFunction::BuiltinFunction(ExecutionContext *scope, const StringRef name, ReturnedValue (*code)(CallContext *))
: FunctionObject(scope, name)
, code(code)
{
@@ -591,12 +618,10 @@ ReturnedValue BuiltinFunction::call(Managed *that, CallData *callData)
if (v4->hasException)
return Encode::undefined();
- Scope scope(v4);
-
ExecutionContext *context = v4->current;
- SimpleCallContext ctx;
- ctx.initSimpleCallContext(f->scope->engine);
+ CallContext ctx;
+ ctx.initSimpleCallContext(v4, context);
ctx.strictMode = f->scope->strictMode; // ### needed? scope or parent context?
ctx.callData = callData;
v4->pushContext(&ctx);
@@ -614,8 +639,8 @@ ReturnedValue IndexedBuiltinFunction::call(Managed *that, CallData *callData)
ExecutionContext *context = v4->current;
Scope scope(v4);
- SimpleCallContext ctx;
- ctx.initSimpleCallContext(f->scope->engine);
+ CallContext ctx;
+ ctx.initSimpleCallContext(v4, context);
ctx.strictMode = f->scope->strictMode; // ### needed? scope or parent context?
ctx.callData = callData;
v4->pushContext(&ctx);
diff --git a/src/qml/jsruntime/qv4functionobject_p.h b/src/qml/jsruntime/qv4functionobject_p.h
index 3f526947a0..2fc36d862f 100644
--- a/src/qml/jsruntime/qv4functionobject_p.h
+++ b/src/qml/jsruntime/qv4functionobject_p.h
@@ -164,17 +164,17 @@ struct FunctionPrototype: FunctionObject
FunctionPrototype(InternalClass *ic);
void init(ExecutionEngine *engine, ObjectRef ctor);
- static ReturnedValue method_toString(SimpleCallContext *ctx);
- static ReturnedValue method_apply(SimpleCallContext *ctx);
- static ReturnedValue method_call(SimpleCallContext *ctx);
- static ReturnedValue method_bind(SimpleCallContext *ctx);
+ static ReturnedValue method_toString(CallContext *ctx);
+ static ReturnedValue method_apply(CallContext *ctx);
+ static ReturnedValue method_call(CallContext *ctx);
+ static ReturnedValue method_bind(CallContext *ctx);
};
struct BuiltinFunction: FunctionObject {
Q_MANAGED
- ReturnedValue (*code)(SimpleCallContext *);
+ ReturnedValue (*code)(CallContext *);
- BuiltinFunction(ExecutionContext *scope, const StringRef name, ReturnedValue (*code)(SimpleCallContext *));
+ BuiltinFunction(ExecutionContext *scope, const StringRef name, ReturnedValue (*code)(CallContext *));
static ReturnedValue construct(Managed *, CallData *);
static ReturnedValue call(Managed *that, CallData *callData);
@@ -184,10 +184,10 @@ struct IndexedBuiltinFunction: FunctionObject
{
Q_MANAGED
- ReturnedValue (*code)(SimpleCallContext *ctx, uint index);
+ ReturnedValue (*code)(CallContext *ctx, uint index);
uint index;
- IndexedBuiltinFunction(ExecutionContext *scope, uint index, ReturnedValue (*code)(SimpleCallContext *ctx, uint index))
+ IndexedBuiltinFunction(ExecutionContext *scope, uint index, ReturnedValue (*code)(CallContext *ctx, uint index))
: FunctionObject(scope)
, code(code)
, index(index)
diff --git a/src/qml/jsruntime/qv4globalobject.cpp b/src/qml/jsruntime/qv4globalobject.cpp
index 3ded454f2e..82622de5bb 100644
--- a/src/qml/jsruntime/qv4globalobject.cpp
+++ b/src/qml/jsruntime/qv4globalobject.cpp
@@ -459,7 +459,7 @@ static inline int toInt(const QChar &qc, int R)
}
// parseInt [15.1.2.2]
-ReturnedValue GlobalFunctions::method_parseInt(SimpleCallContext *ctx)
+ReturnedValue GlobalFunctions::method_parseInt(CallContext *ctx)
{
Scope scope(ctx);
ScopedValue string(scope, ctx->argument(0));
@@ -543,7 +543,7 @@ ReturnedValue GlobalFunctions::method_parseInt(SimpleCallContext *ctx)
}
// parseFloat [15.1.2.3]
-ReturnedValue GlobalFunctions::method_parseFloat(SimpleCallContext *ctx)
+ReturnedValue GlobalFunctions::method_parseFloat(CallContext *ctx)
{
Scope scope(ctx);
@@ -572,7 +572,7 @@ ReturnedValue GlobalFunctions::method_parseFloat(SimpleCallContext *ctx)
}
/// isNaN [15.1.2.4]
-ReturnedValue GlobalFunctions::method_isNaN(SimpleCallContext *ctx)
+ReturnedValue GlobalFunctions::method_isNaN(CallContext *ctx)
{
if (!ctx->callData->argc)
// undefined gets converted to NaN
@@ -586,7 +586,7 @@ ReturnedValue GlobalFunctions::method_isNaN(SimpleCallContext *ctx)
}
/// isFinite [15.1.2.5]
-ReturnedValue GlobalFunctions::method_isFinite(SimpleCallContext *ctx)
+ReturnedValue GlobalFunctions::method_isFinite(CallContext *ctx)
{
if (!ctx->callData->argc)
// undefined gets converted to NaN
@@ -600,7 +600,7 @@ ReturnedValue GlobalFunctions::method_isFinite(SimpleCallContext *ctx)
}
/// decodeURI [15.1.3.1]
-ReturnedValue GlobalFunctions::method_decodeURI(SimpleCallContext *context)
+ReturnedValue GlobalFunctions::method_decodeURI(CallContext *context)
{
if (context->callData->argc == 0)
return Encode::undefined();
@@ -618,7 +618,7 @@ ReturnedValue GlobalFunctions::method_decodeURI(SimpleCallContext *context)
}
/// decodeURIComponent [15.1.3.2]
-ReturnedValue GlobalFunctions::method_decodeURIComponent(SimpleCallContext *context)
+ReturnedValue GlobalFunctions::method_decodeURIComponent(CallContext *context)
{
if (context->callData->argc == 0)
return Encode::undefined();
@@ -636,7 +636,7 @@ ReturnedValue GlobalFunctions::method_decodeURIComponent(SimpleCallContext *cont
}
/// encodeURI [15.1.3.3]
-ReturnedValue GlobalFunctions::method_encodeURI(SimpleCallContext *context)
+ReturnedValue GlobalFunctions::method_encodeURI(CallContext *context)
{
if (context->callData->argc == 0)
return Encode::undefined();
@@ -654,7 +654,7 @@ ReturnedValue GlobalFunctions::method_encodeURI(SimpleCallContext *context)
}
/// encodeURIComponent [15.1.3.4]
-ReturnedValue GlobalFunctions::method_encodeURIComponent(SimpleCallContext *context)
+ReturnedValue GlobalFunctions::method_encodeURIComponent(CallContext *context)
{
if (context->callData->argc == 0)
return Encode::undefined();
@@ -671,7 +671,7 @@ ReturnedValue GlobalFunctions::method_encodeURIComponent(SimpleCallContext *cont
return context->engine->newString(out)->asReturnedValue();
}
-ReturnedValue GlobalFunctions::method_escape(SimpleCallContext *context)
+ReturnedValue GlobalFunctions::method_escape(CallContext *context)
{
if (!context->callData->argc)
return context->engine->newString(QStringLiteral("undefined"))->asReturnedValue();
@@ -680,7 +680,7 @@ ReturnedValue GlobalFunctions::method_escape(SimpleCallContext *context)
return context->engine->newString(escape(str))->asReturnedValue();
}
-ReturnedValue GlobalFunctions::method_unescape(SimpleCallContext *context)
+ReturnedValue GlobalFunctions::method_unescape(CallContext *context)
{
if (!context->callData->argc)
return context->engine->newString(QStringLiteral("undefined"))->asReturnedValue();
diff --git a/src/qml/jsruntime/qv4globalobject_p.h b/src/qml/jsruntime/qv4globalobject_p.h
index e6a3b0d773..bf529a465d 100644
--- a/src/qml/jsruntime/qv4globalobject_p.h
+++ b/src/qml/jsruntime/qv4globalobject_p.h
@@ -61,16 +61,16 @@ struct Q_QML_EXPORT EvalFunction : FunctionObject
struct GlobalFunctions
{
- static ReturnedValue method_parseInt(SimpleCallContext *context);
- static ReturnedValue method_parseFloat(SimpleCallContext *context);
- static ReturnedValue method_isNaN(SimpleCallContext *context);
- static ReturnedValue method_isFinite(SimpleCallContext *ctx);
- static ReturnedValue method_decodeURI(SimpleCallContext *context);
- static ReturnedValue method_decodeURIComponent(SimpleCallContext *context);
- static ReturnedValue method_encodeURI(SimpleCallContext *context);
- static ReturnedValue method_encodeURIComponent(SimpleCallContext *context);
- static ReturnedValue method_escape(SimpleCallContext *context);
- static ReturnedValue method_unescape(SimpleCallContext *context);
+ static ReturnedValue method_parseInt(CallContext *context);
+ static ReturnedValue method_parseFloat(CallContext *context);
+ static ReturnedValue method_isNaN(CallContext *context);
+ static ReturnedValue method_isFinite(CallContext *ctx);
+ static ReturnedValue method_decodeURI(CallContext *context);
+ static ReturnedValue method_decodeURIComponent(CallContext *context);
+ static ReturnedValue method_encodeURI(CallContext *context);
+ static ReturnedValue method_encodeURIComponent(CallContext *context);
+ static ReturnedValue method_escape(CallContext *context);
+ static ReturnedValue method_unescape(CallContext *context);
};
}
diff --git a/src/qml/jsruntime/qv4include.cpp b/src/qml/jsruntime/qv4include.cpp
index f156065125..8f2548064a 100644
--- a/src/qml/jsruntime/qv4include.cpp
+++ b/src/qml/jsruntime/qv4include.cpp
@@ -179,7 +179,7 @@ void QV4Include::finished()
/*
Documented in qv8engine.cpp
*/
-QV4::ReturnedValue QV4Include::method_include(QV4::SimpleCallContext *ctx)
+QV4::ReturnedValue QV4Include::method_include(QV4::CallContext *ctx)
{
if (!ctx->callData->argc)
return QV4::Encode::undefined();
diff --git a/src/qml/jsruntime/qv4include_p.h b/src/qml/jsruntime/qv4include_p.h
index 49d65e2149..c4c72f3a83 100644
--- a/src/qml/jsruntime/qv4include_p.h
+++ b/src/qml/jsruntime/qv4include_p.h
@@ -78,7 +78,7 @@ public:
Exception = 3
};
- static QV4::ReturnedValue method_include(QV4::SimpleCallContext *ctx);
+ static QV4::ReturnedValue method_include(QV4::CallContext *ctx);
private Q_SLOTS:
void finished();
diff --git a/src/qml/jsruntime/qv4jsonobject.cpp b/src/qml/jsruntime/qv4jsonobject.cpp
index c4d1ebc545..2fa5a7c0bc 100644
--- a/src/qml/jsruntime/qv4jsonobject.cpp
+++ b/src/qml/jsruntime/qv4jsonobject.cpp
@@ -893,7 +893,7 @@ JsonObject::JsonObject(ExecutionEngine *engine)
}
-ReturnedValue JsonObject::method_parse(SimpleCallContext *ctx)
+ReturnedValue JsonObject::method_parse(CallContext *ctx)
{
Scope scope(ctx);
ScopedValue v(scope, ctx->argument(0));
@@ -911,7 +911,7 @@ ReturnedValue JsonObject::method_parse(SimpleCallContext *ctx)
return result.asReturnedValue();
}
-ReturnedValue JsonObject::method_stringify(SimpleCallContext *ctx)
+ReturnedValue JsonObject::method_stringify(CallContext *ctx)
{
Scope scope(ctx);
diff --git a/src/qml/jsruntime/qv4jsonobject_p.h b/src/qml/jsruntime/qv4jsonobject_p.h
index bdce810680..f63e7726f5 100644
--- a/src/qml/jsruntime/qv4jsonobject_p.h
+++ b/src/qml/jsruntime/qv4jsonobject_p.h
@@ -56,8 +56,8 @@ private:
public:
JsonObject(ExecutionEngine *engine);
- static ReturnedValue method_parse(SimpleCallContext *ctx);
- static ReturnedValue method_stringify(SimpleCallContext *ctx);
+ static ReturnedValue method_parse(CallContext *ctx);
+ static ReturnedValue method_stringify(CallContext *ctx);
static ReturnedValue fromJsonValue(ExecutionEngine *engine, const QJsonValue &value);
static ReturnedValue fromJsonObject(ExecutionEngine *engine, const QJsonObject &object);
diff --git a/src/qml/jsruntime/qv4mathobject.cpp b/src/qml/jsruntime/qv4mathobject.cpp
index d5a1a88dc5..5a7af1f041 100644
--- a/src/qml/jsruntime/qv4mathobject.cpp
+++ b/src/qml/jsruntime/qv4mathobject.cpp
@@ -102,7 +102,7 @@ static double copySign(double x, double y)
return x;
}
-ReturnedValue MathObject::method_abs(SimpleCallContext *context)
+ReturnedValue MathObject::method_abs(CallContext *context)
{
if (!context->callData->argc)
return Encode(qSNaN());
@@ -119,7 +119,7 @@ ReturnedValue MathObject::method_abs(SimpleCallContext *context)
return Encode(v < 0 ? -v : v);
}
-ReturnedValue MathObject::method_acos(SimpleCallContext *context)
+ReturnedValue MathObject::method_acos(CallContext *context)
{
double v = context->callData->argc ? context->callData->args[0].toNumber() : 2;
if (v > 1)
@@ -128,7 +128,7 @@ ReturnedValue MathObject::method_acos(SimpleCallContext *context)
return Encode(::acos(v));
}
-ReturnedValue MathObject::method_asin(SimpleCallContext *context)
+ReturnedValue MathObject::method_asin(CallContext *context)
{
double v = context->callData->argc ? context->callData->args[0].toNumber() : 2;
if (v > 1)
@@ -137,7 +137,7 @@ ReturnedValue MathObject::method_asin(SimpleCallContext *context)
return Encode(::asin(v));
}
-ReturnedValue MathObject::method_atan(SimpleCallContext *context)
+ReturnedValue MathObject::method_atan(CallContext *context)
{
double v = context->callData->argc ? context->callData->args[0].toNumber() : qSNaN();
if (v == 0.0)
@@ -146,7 +146,7 @@ ReturnedValue MathObject::method_atan(SimpleCallContext *context)
return Encode(::atan(v));
}
-ReturnedValue MathObject::method_atan2(SimpleCallContext *context)
+ReturnedValue MathObject::method_atan2(CallContext *context)
{
double v1 = context->callData->argc ? context->callData->args[0].toNumber() : qSNaN();
double v2 = context->callData->argc > 1 ? context->callData->args[1].toNumber() : qSNaN();
@@ -164,7 +164,7 @@ ReturnedValue MathObject::method_atan2(SimpleCallContext *context)
return Encode(::atan2(v1, v2));
}
-ReturnedValue MathObject::method_ceil(SimpleCallContext *context)
+ReturnedValue MathObject::method_ceil(CallContext *context)
{
double v = context->callData->argc ? context->callData->args[0].toNumber() : qSNaN();
if (v < 0.0 && v > -1.0)
@@ -173,13 +173,13 @@ ReturnedValue MathObject::method_ceil(SimpleCallContext *context)
return Encode(::ceil(v));
}
-ReturnedValue MathObject::method_cos(SimpleCallContext *context)
+ReturnedValue MathObject::method_cos(CallContext *context)
{
double v = context->callData->argc ? context->callData->args[0].toNumber() : qSNaN();
return Encode(::cos(v));
}
-ReturnedValue MathObject::method_exp(SimpleCallContext *context)
+ReturnedValue MathObject::method_exp(CallContext *context)
{
double v = context->callData->argc ? context->callData->args[0].toNumber() : qSNaN();
if (qIsInf(v)) {
@@ -192,13 +192,13 @@ ReturnedValue MathObject::method_exp(SimpleCallContext *context)
}
}
-ReturnedValue MathObject::method_floor(SimpleCallContext *context)
+ReturnedValue MathObject::method_floor(CallContext *context)
{
double v = context->callData->argc ? context->callData->args[0].toNumber() : qSNaN();
return Encode(::floor(v));
}
-ReturnedValue MathObject::method_log(SimpleCallContext *context)
+ReturnedValue MathObject::method_log(CallContext *context)
{
double v = context->callData->argc ? context->callData->args[0].toNumber() : qSNaN();
if (v < 0)
@@ -207,7 +207,7 @@ ReturnedValue MathObject::method_log(SimpleCallContext *context)
return Encode(::log(v));
}
-ReturnedValue MathObject::method_max(SimpleCallContext *context)
+ReturnedValue MathObject::method_max(CallContext *context)
{
double mx = -qInf();
for (int i = 0; i < context->callData->argc; ++i) {
@@ -218,7 +218,7 @@ ReturnedValue MathObject::method_max(SimpleCallContext *context)
return Encode(mx);
}
-ReturnedValue MathObject::method_min(SimpleCallContext *context)
+ReturnedValue MathObject::method_min(CallContext *context)
{
double mx = qInf();
for (int i = 0; i < context->callData->argc; ++i) {
@@ -231,7 +231,7 @@ ReturnedValue MathObject::method_min(SimpleCallContext *context)
return Encode(mx);
}
-ReturnedValue MathObject::method_pow(SimpleCallContext *context)
+ReturnedValue MathObject::method_pow(CallContext *context)
{
double x = context->callData->argc > 0 ? context->callData->args[0].toNumber() : qSNaN();
double y = context->callData->argc > 1 ? context->callData->args[1].toNumber() : qSNaN();
@@ -283,7 +283,7 @@ ReturnedValue MathObject::method_pow(SimpleCallContext *context)
Q_GLOBAL_STATIC(QThreadStorage<bool *>, seedCreatedStorage);
-ReturnedValue MathObject::method_random(SimpleCallContext *context)
+ReturnedValue MathObject::method_random(CallContext *context)
{
if (!seedCreatedStorage()->hasLocalData()) {
qsrand(QTime(0,0,0).msecsTo(QTime::currentTime()) ^ reinterpret_cast<quintptr>(context));
@@ -292,26 +292,26 @@ ReturnedValue MathObject::method_random(SimpleCallContext *context)
return Encode(qrand() / (double) RAND_MAX);
}
-ReturnedValue MathObject::method_round(SimpleCallContext *context)
+ReturnedValue MathObject::method_round(CallContext *context)
{
double v = context->callData->argc ? context->callData->args[0].toNumber() : qSNaN();
v = copySign(::floor(v + 0.5), v);
return Encode(v);
}
-ReturnedValue MathObject::method_sin(SimpleCallContext *context)
+ReturnedValue MathObject::method_sin(CallContext *context)
{
double v = context->callData->argc ? context->callData->args[0].toNumber() : qSNaN();
return Encode(::sin(v));
}
-ReturnedValue MathObject::method_sqrt(SimpleCallContext *context)
+ReturnedValue MathObject::method_sqrt(CallContext *context)
{
double v = context->callData->argc ? context->callData->args[0].toNumber() : qSNaN();
return Encode(::sqrt(v));
}
-ReturnedValue MathObject::method_tan(SimpleCallContext *context)
+ReturnedValue MathObject::method_tan(CallContext *context)
{
double v = context->callData->argc ? context->callData->args[0].toNumber() : qSNaN();
if (v == 0.0)
diff --git a/src/qml/jsruntime/qv4mathobject_p.h b/src/qml/jsruntime/qv4mathobject_p.h
index b65264b5dd..dca75e6c28 100644
--- a/src/qml/jsruntime/qv4mathobject_p.h
+++ b/src/qml/jsruntime/qv4mathobject_p.h
@@ -51,24 +51,24 @@ struct MathObject: Object
{
MathObject(ExecutionEngine *engine);
- static ReturnedValue method_abs(SimpleCallContext *context);
- static ReturnedValue method_acos(SimpleCallContext *context);
- static ReturnedValue method_asin(SimpleCallContext *context);
- static ReturnedValue method_atan(SimpleCallContext *context);
- static ReturnedValue method_atan2(SimpleCallContext *context);
- static ReturnedValue method_ceil(SimpleCallContext *context);
- static ReturnedValue method_cos(SimpleCallContext *context);
- static ReturnedValue method_exp(SimpleCallContext *context);
- static ReturnedValue method_floor(SimpleCallContext *context);
- static ReturnedValue method_log(SimpleCallContext *context);
- static ReturnedValue method_max(SimpleCallContext *context);
- static ReturnedValue method_min(SimpleCallContext *context);
- static ReturnedValue method_pow(SimpleCallContext *context);
- static ReturnedValue method_random(SimpleCallContext *context);
- static ReturnedValue method_round(SimpleCallContext *context);
- static ReturnedValue method_sin(SimpleCallContext *context);
- static ReturnedValue method_sqrt(SimpleCallContext *context);
- static ReturnedValue method_tan(SimpleCallContext *context);
+ static ReturnedValue method_abs(CallContext *context);
+ static ReturnedValue method_acos(CallContext *context);
+ static ReturnedValue method_asin(CallContext *context);
+ static ReturnedValue method_atan(CallContext *context);
+ static ReturnedValue method_atan2(CallContext *context);
+ static ReturnedValue method_ceil(CallContext *context);
+ static ReturnedValue method_cos(CallContext *context);
+ static ReturnedValue method_exp(CallContext *context);
+ static ReturnedValue method_floor(CallContext *context);
+ static ReturnedValue method_log(CallContext *context);
+ static ReturnedValue method_max(CallContext *context);
+ static ReturnedValue method_min(CallContext *context);
+ static ReturnedValue method_pow(CallContext *context);
+ static ReturnedValue method_random(CallContext *context);
+ static ReturnedValue method_round(CallContext *context);
+ static ReturnedValue method_sin(CallContext *context);
+ static ReturnedValue method_sqrt(CallContext *context);
+ static ReturnedValue method_tan(CallContext *context);
};
}
diff --git a/src/qml/jsruntime/qv4numberobject.cpp b/src/qml/jsruntime/qv4numberobject.cpp
index 2000297b84..039b790aed 100644
--- a/src/qml/jsruntime/qv4numberobject.cpp
+++ b/src/qml/jsruntime/qv4numberobject.cpp
@@ -121,7 +121,7 @@ inline double thisNumber(ExecutionContext *ctx)
return n->value.asDouble();
}
-ReturnedValue NumberPrototype::method_toString(SimpleCallContext *ctx)
+ReturnedValue NumberPrototype::method_toString(CallContext *ctx)
{
double num = thisNumber(ctx);
if (ctx->engine->hasException)
@@ -173,7 +173,7 @@ ReturnedValue NumberPrototype::method_toString(SimpleCallContext *ctx)
return Primitive::fromDouble(num).toString(ctx)->asReturnedValue();
}
-ReturnedValue NumberPrototype::method_toLocaleString(SimpleCallContext *ctx)
+ReturnedValue NumberPrototype::method_toLocaleString(CallContext *ctx)
{
Scope scope(ctx);
ScopedValue v(scope, thisNumberValue(ctx));
@@ -183,12 +183,12 @@ ReturnedValue NumberPrototype::method_toLocaleString(SimpleCallContext *ctx)
return str.asReturnedValue();
}
-ReturnedValue NumberPrototype::method_valueOf(SimpleCallContext *ctx)
+ReturnedValue NumberPrototype::method_valueOf(CallContext *ctx)
{
return thisNumberValue(ctx);
}
-ReturnedValue NumberPrototype::method_toFixed(SimpleCallContext *ctx)
+ReturnedValue NumberPrototype::method_toFixed(CallContext *ctx)
{
double v = thisNumber(ctx);
if (ctx->engine->hasException)
@@ -217,7 +217,7 @@ ReturnedValue NumberPrototype::method_toFixed(SimpleCallContext *ctx)
return ctx->engine->newString(str)->asReturnedValue();
}
-ReturnedValue NumberPrototype::method_toExponential(SimpleCallContext *ctx)
+ReturnedValue NumberPrototype::method_toExponential(CallContext *ctx)
{
Scope scope(ctx);
double d = thisNumber(ctx);
@@ -242,7 +242,7 @@ ReturnedValue NumberPrototype::method_toExponential(SimpleCallContext *ctx)
return ctx->engine->newString(result)->asReturnedValue();
}
-ReturnedValue NumberPrototype::method_toPrecision(SimpleCallContext *ctx)
+ReturnedValue NumberPrototype::method_toPrecision(CallContext *ctx)
{
Scope scope(ctx);
ScopedValue v(scope, thisNumberValue(ctx));
diff --git a/src/qml/jsruntime/qv4numberobject_p.h b/src/qml/jsruntime/qv4numberobject_p.h
index a4d13267bd..1ca3a71249 100644
--- a/src/qml/jsruntime/qv4numberobject_p.h
+++ b/src/qml/jsruntime/qv4numberobject_p.h
@@ -63,12 +63,12 @@ struct NumberPrototype: NumberObject
NumberPrototype(InternalClass *ic): NumberObject(ic) {}
void init(ExecutionEngine *engine, ObjectRef ctor);
- static ReturnedValue method_toString(SimpleCallContext *ctx);
- static ReturnedValue method_toLocaleString(SimpleCallContext *ctx);
- static ReturnedValue method_valueOf(SimpleCallContext *ctx);
- static ReturnedValue method_toFixed(SimpleCallContext *ctx);
- static ReturnedValue method_toExponential(SimpleCallContext *ctx);
- static ReturnedValue method_toPrecision(SimpleCallContext *ctx);
+ static ReturnedValue method_toString(CallContext *ctx);
+ static ReturnedValue method_toLocaleString(CallContext *ctx);
+ static ReturnedValue method_valueOf(CallContext *ctx);
+ static ReturnedValue method_toFixed(CallContext *ctx);
+ static ReturnedValue method_toExponential(CallContext *ctx);
+ static ReturnedValue method_toPrecision(CallContext *ctx);
};
diff --git a/src/qml/jsruntime/qv4object.cpp b/src/qml/jsruntime/qv4object.cpp
index 66b1b58b67..099b5a5480 100644
--- a/src/qml/jsruntime/qv4object.cpp
+++ b/src/qml/jsruntime/qv4object.cpp
@@ -187,7 +187,7 @@ void Object::defineDefaultProperty(const QString &name, ValueRef value)
defineDefaultProperty(s, value);
}
-void Object::defineDefaultProperty(const QString &name, ReturnedValue (*code)(SimpleCallContext *), int argumentCount)
+void Object::defineDefaultProperty(const QString &name, ReturnedValue (*code)(CallContext *), int argumentCount)
{
ExecutionEngine *e = engine();
Scope scope(e);
@@ -197,7 +197,7 @@ void Object::defineDefaultProperty(const QString &name, ReturnedValue (*code)(Si
defineDefaultProperty(s, function);
}
-void Object::defineDefaultProperty(const StringRef name, ReturnedValue (*code)(SimpleCallContext *), int argumentCount)
+void Object::defineDefaultProperty(const StringRef name, ReturnedValue (*code)(CallContext *), int argumentCount)
{
ExecutionEngine *e = engine();
Scope scope(e);
@@ -206,7 +206,7 @@ void Object::defineDefaultProperty(const StringRef name, ReturnedValue (*code)(S
defineDefaultProperty(name, function);
}
-void Object::defineAccessorProperty(const QString &name, ReturnedValue (*getter)(SimpleCallContext *), ReturnedValue (*setter)(SimpleCallContext *))
+void Object::defineAccessorProperty(const QString &name, ReturnedValue (*getter)(CallContext *), ReturnedValue (*setter)(CallContext *))
{
ExecutionEngine *e = engine();
Scope scope(e);
@@ -214,7 +214,7 @@ void Object::defineAccessorProperty(const QString &name, ReturnedValue (*getter)
defineAccessorProperty(s, getter, setter);
}
-void Object::defineAccessorProperty(const StringRef name, ReturnedValue (*getter)(SimpleCallContext *), ReturnedValue (*setter)(SimpleCallContext *))
+void Object::defineAccessorProperty(const StringRef name, ReturnedValue (*getter)(CallContext *), ReturnedValue (*setter)(CallContext *))
{
ExecutionEngine *v4 = engine();
Property *p = insertMember(name, QV4::Attr_Accessor|QV4::Attr_NotConfigurable|QV4::Attr_NotEnumerable);
diff --git a/src/qml/jsruntime/qv4object_p.h b/src/qml/jsruntime/qv4object_p.h
index 33f785ec90..daef18d4e2 100644
--- a/src/qml/jsruntime/qv4object_p.h
+++ b/src/qml/jsruntime/qv4object_p.h
@@ -158,10 +158,10 @@ struct Q_QML_EXPORT Object: Managed {
/* The spec default: Writable: true, Enumerable: false, Configurable: true */
void defineDefaultProperty(const StringRef name, ValueRef value);
void defineDefaultProperty(const QString &name, ValueRef value);
- void defineDefaultProperty(const QString &name, ReturnedValue (*code)(SimpleCallContext *), int argumentCount = 0);
- void defineDefaultProperty(const StringRef name, ReturnedValue (*code)(SimpleCallContext *), int argumentCount = 0);
- void defineAccessorProperty(const QString &name, ReturnedValue (*getter)(SimpleCallContext *), ReturnedValue (*setter)(SimpleCallContext *));
- void defineAccessorProperty(const StringRef name, ReturnedValue (*getter)(SimpleCallContext *), ReturnedValue (*setter)(SimpleCallContext *));
+ void defineDefaultProperty(const QString &name, ReturnedValue (*code)(CallContext *), int argumentCount = 0);
+ void defineDefaultProperty(const StringRef name, ReturnedValue (*code)(CallContext *), int argumentCount = 0);
+ void defineAccessorProperty(const QString &name, ReturnedValue (*getter)(CallContext *), ReturnedValue (*setter)(CallContext *));
+ void defineAccessorProperty(const StringRef name, ReturnedValue (*getter)(CallContext *), ReturnedValue (*setter)(CallContext *));
/* Fixed: Writable: false, Enumerable: false, Configurable: false */
void defineReadonlyProperty(const QString &name, ValueRef value);
void defineReadonlyProperty(const StringRef name, ValueRef value);
diff --git a/src/qml/jsruntime/qv4objectproto.cpp b/src/qml/jsruntime/qv4objectproto.cpp
index 2f14d8b148..4369267278 100644
--- a/src/qml/jsruntime/qv4objectproto.cpp
+++ b/src/qml/jsruntime/qv4objectproto.cpp
@@ -138,7 +138,7 @@ void ObjectPrototype::init(ExecutionEngine *v4, ObjectRef ctor)
p->setSetter(v4->newBuiltinFunction(v4->rootContext, id_proto, method_set_proto)->getPointer());
}
-ReturnedValue ObjectPrototype::method_getPrototypeOf(SimpleCallContext *ctx)
+ReturnedValue ObjectPrototype::method_getPrototypeOf(CallContext *ctx)
{
Scope scope(ctx);
Scoped<Object> o(scope, ctx->argument(0));
@@ -149,7 +149,7 @@ ReturnedValue ObjectPrototype::method_getPrototypeOf(SimpleCallContext *ctx)
return !!p ? p->asReturnedValue() : Encode::null();
}
-ReturnedValue ObjectPrototype::method_getOwnPropertyDescriptor(SimpleCallContext *ctx)
+ReturnedValue ObjectPrototype::method_getOwnPropertyDescriptor(CallContext *ctx)
{
Scope scope(ctx);
Scoped<Object> O(scope, ctx->argument(0));
@@ -165,7 +165,7 @@ ReturnedValue ObjectPrototype::method_getOwnPropertyDescriptor(SimpleCallContext
return fromPropertyDescriptor(ctx, desc, attrs);
}
-ReturnedValue ObjectPrototype::method_getOwnPropertyNames(SimpleCallContext *context)
+ReturnedValue ObjectPrototype::method_getOwnPropertyNames(CallContext *context)
{
Scope scope(context);
ScopedObject O(scope, context->argument(0));
@@ -176,7 +176,7 @@ ReturnedValue ObjectPrototype::method_getOwnPropertyNames(SimpleCallContext *con
return array.asReturnedValue();
}
-ReturnedValue ObjectPrototype::method_create(SimpleCallContext *ctx)
+ReturnedValue ObjectPrototype::method_create(CallContext *ctx)
{
Scope scope(ctx);
ScopedValue O(scope, ctx->argument(0));
@@ -194,7 +194,7 @@ ReturnedValue ObjectPrototype::method_create(SimpleCallContext *ctx)
return newObject.asReturnedValue();
}
-ReturnedValue ObjectPrototype::method_defineProperty(SimpleCallContext *ctx)
+ReturnedValue ObjectPrototype::method_defineProperty(CallContext *ctx)
{
Scope scope(ctx);
Scoped<Object> O(scope, ctx->argument(0));
@@ -218,7 +218,7 @@ ReturnedValue ObjectPrototype::method_defineProperty(SimpleCallContext *ctx)
return O.asReturnedValue();
}
-ReturnedValue ObjectPrototype::method_defineProperties(SimpleCallContext *ctx)
+ReturnedValue ObjectPrototype::method_defineProperties(CallContext *ctx)
{
Scope scope(ctx);
Scoped<Object> O(scope, ctx->argument(0));
@@ -256,7 +256,7 @@ ReturnedValue ObjectPrototype::method_defineProperties(SimpleCallContext *ctx)
return O.asReturnedValue();
}
-ReturnedValue ObjectPrototype::method_seal(SimpleCallContext *ctx)
+ReturnedValue ObjectPrototype::method_seal(CallContext *ctx)
{
Scope scope(ctx);
Scoped<Object> o(scope, ctx->argument(0));
@@ -276,7 +276,7 @@ ReturnedValue ObjectPrototype::method_seal(SimpleCallContext *ctx)
return o.asReturnedValue();
}
-ReturnedValue ObjectPrototype::method_freeze(SimpleCallContext *ctx)
+ReturnedValue ObjectPrototype::method_freeze(CallContext *ctx)
{
Scope scope(ctx);
Scoped<Object> o(scope, ctx->argument(0));
@@ -297,7 +297,7 @@ ReturnedValue ObjectPrototype::method_freeze(SimpleCallContext *ctx)
return o.asReturnedValue();
}
-ReturnedValue ObjectPrototype::method_preventExtensions(SimpleCallContext *ctx)
+ReturnedValue ObjectPrototype::method_preventExtensions(CallContext *ctx)
{
Scope scope(ctx);
Scoped<Object> o(scope, ctx->argument(0));
@@ -308,7 +308,7 @@ ReturnedValue ObjectPrototype::method_preventExtensions(SimpleCallContext *ctx)
return o.asReturnedValue();
}
-ReturnedValue ObjectPrototype::method_isSealed(SimpleCallContext *ctx)
+ReturnedValue ObjectPrototype::method_isSealed(CallContext *ctx)
{
Scope scope(ctx);
Scoped<Object> o(scope, ctx->argument(0));
@@ -336,7 +336,7 @@ ReturnedValue ObjectPrototype::method_isSealed(SimpleCallContext *ctx)
return Encode(true);
}
-ReturnedValue ObjectPrototype::method_isFrozen(SimpleCallContext *ctx)
+ReturnedValue ObjectPrototype::method_isFrozen(CallContext *ctx)
{
Scope scope(ctx);
Scoped<Object> o(scope, ctx->argument(0));
@@ -364,7 +364,7 @@ ReturnedValue ObjectPrototype::method_isFrozen(SimpleCallContext *ctx)
return Encode(true);
}
-ReturnedValue ObjectPrototype::method_isExtensible(SimpleCallContext *ctx)
+ReturnedValue ObjectPrototype::method_isExtensible(CallContext *ctx)
{
Scope scope(ctx);
Scoped<Object> o(scope, ctx->argument(0));
@@ -374,7 +374,7 @@ ReturnedValue ObjectPrototype::method_isExtensible(SimpleCallContext *ctx)
return Encode((bool)o->extensible);
}
-ReturnedValue ObjectPrototype::method_keys(SimpleCallContext *ctx)
+ReturnedValue ObjectPrototype::method_keys(CallContext *ctx)
{
Scope scope(ctx);
Scoped<Object> o(scope, ctx->argument(0));
@@ -395,7 +395,7 @@ ReturnedValue ObjectPrototype::method_keys(SimpleCallContext *ctx)
return a.asReturnedValue();
}
-ReturnedValue ObjectPrototype::method_toString(SimpleCallContext *ctx)
+ReturnedValue ObjectPrototype::method_toString(CallContext *ctx)
{
Scope scope(ctx);
if (ctx->callData->thisObject.isUndefined()) {
@@ -409,7 +409,7 @@ ReturnedValue ObjectPrototype::method_toString(SimpleCallContext *ctx)
}
}
-ReturnedValue ObjectPrototype::method_toLocaleString(SimpleCallContext *ctx)
+ReturnedValue ObjectPrototype::method_toLocaleString(CallContext *ctx)
{
Scope scope(ctx);
ScopedObject o(scope, ctx->callData->thisObject.toObject(ctx));
@@ -423,7 +423,7 @@ ReturnedValue ObjectPrototype::method_toLocaleString(SimpleCallContext *ctx)
return f->call(callData);
}
-ReturnedValue ObjectPrototype::method_valueOf(SimpleCallContext *ctx)
+ReturnedValue ObjectPrototype::method_valueOf(CallContext *ctx)
{
Scope scope(ctx);
ScopedValue v(scope, ctx->callData->thisObject.toObject(ctx));
@@ -432,7 +432,7 @@ ReturnedValue ObjectPrototype::method_valueOf(SimpleCallContext *ctx)
return v.asReturnedValue();
}
-ReturnedValue ObjectPrototype::method_hasOwnProperty(SimpleCallContext *ctx)
+ReturnedValue ObjectPrototype::method_hasOwnProperty(CallContext *ctx)
{
Scope scope(ctx);
Scoped<String> P(scope, ctx->argument(0), Scoped<String>::Convert);
@@ -447,7 +447,7 @@ ReturnedValue ObjectPrototype::method_hasOwnProperty(SimpleCallContext *ctx)
return Encode(r);
}
-ReturnedValue ObjectPrototype::method_isPrototypeOf(SimpleCallContext *ctx)
+ReturnedValue ObjectPrototype::method_isPrototypeOf(CallContext *ctx)
{
Scope scope(ctx);
Scoped<Object> V(scope, ctx->argument(0));
@@ -466,7 +466,7 @@ ReturnedValue ObjectPrototype::method_isPrototypeOf(SimpleCallContext *ctx)
return Encode(false);
}
-ReturnedValue ObjectPrototype::method_propertyIsEnumerable(SimpleCallContext *ctx)
+ReturnedValue ObjectPrototype::method_propertyIsEnumerable(CallContext *ctx)
{
Scope scope(ctx);
Scoped<String> p(scope, ctx->argument(0), Scoped<String>::Convert);
@@ -481,7 +481,7 @@ ReturnedValue ObjectPrototype::method_propertyIsEnumerable(SimpleCallContext *ct
return Encode(attrs.isEnumerable());
}
-ReturnedValue ObjectPrototype::method_defineGetter(SimpleCallContext *ctx)
+ReturnedValue ObjectPrototype::method_defineGetter(CallContext *ctx)
{
if (ctx->callData->argc < 2)
return ctx->throwTypeError();
@@ -507,7 +507,7 @@ ReturnedValue ObjectPrototype::method_defineGetter(SimpleCallContext *ctx)
return Encode::undefined();
}
-ReturnedValue ObjectPrototype::method_defineSetter(SimpleCallContext *ctx)
+ReturnedValue ObjectPrototype::method_defineSetter(CallContext *ctx)
{
if (ctx->callData->argc < 2)
return ctx->throwTypeError();
@@ -533,7 +533,7 @@ ReturnedValue ObjectPrototype::method_defineSetter(SimpleCallContext *ctx)
return Encode::undefined();
}
-ReturnedValue ObjectPrototype::method_get_proto(SimpleCallContext *ctx)
+ReturnedValue ObjectPrototype::method_get_proto(CallContext *ctx)
{
Scope scope(ctx);
ScopedObject o(scope, ctx->callData->thisObject.asObject());
@@ -543,7 +543,7 @@ ReturnedValue ObjectPrototype::method_get_proto(SimpleCallContext *ctx)
return o->prototype()->asReturnedValue();
}
-ReturnedValue ObjectPrototype::method_set_proto(SimpleCallContext *ctx)
+ReturnedValue ObjectPrototype::method_set_proto(CallContext *ctx)
{
Scope scope(ctx);
Scoped<Object> o(scope, ctx->callData->thisObject);
diff --git a/src/qml/jsruntime/qv4objectproto_p.h b/src/qml/jsruntime/qv4objectproto_p.h
index b5dcd06032..0bd8072db8 100644
--- a/src/qml/jsruntime/qv4objectproto_p.h
+++ b/src/qml/jsruntime/qv4objectproto_p.h
@@ -64,32 +64,32 @@ struct ObjectPrototype: Object
void init(ExecutionEngine *engine, ObjectRef ctor);
- static ReturnedValue method_getPrototypeOf(SimpleCallContext *ctx);
- static ReturnedValue method_getOwnPropertyDescriptor(SimpleCallContext *ctx);
- static ReturnedValue method_getOwnPropertyNames(SimpleCallContext *context);
- static ReturnedValue method_create(SimpleCallContext *ctx);
- static ReturnedValue method_defineProperty(SimpleCallContext *ctx);
- static ReturnedValue method_defineProperties(SimpleCallContext *ctx);
- static ReturnedValue method_seal(SimpleCallContext *ctx);
- static ReturnedValue method_freeze(SimpleCallContext *ctx);
- static ReturnedValue method_preventExtensions(SimpleCallContext *ctx);
- static ReturnedValue method_isSealed(SimpleCallContext *ctx);
- static ReturnedValue method_isFrozen(SimpleCallContext *ctx);
- static ReturnedValue method_isExtensible(SimpleCallContext *ctx);
- static ReturnedValue method_keys(SimpleCallContext *ctx);
-
- static ReturnedValue method_toString(SimpleCallContext *ctx);
- static ReturnedValue method_toLocaleString(SimpleCallContext *ctx);
- static ReturnedValue method_valueOf(SimpleCallContext *ctx);
- static ReturnedValue method_hasOwnProperty(SimpleCallContext *ctx);
- static ReturnedValue method_isPrototypeOf(SimpleCallContext *ctx);
- static ReturnedValue method_propertyIsEnumerable(SimpleCallContext *ctx);
-
- static ReturnedValue method_defineGetter(SimpleCallContext *ctx);
- static ReturnedValue method_defineSetter(SimpleCallContext *ctx);
-
- static ReturnedValue method_get_proto(SimpleCallContext *ctx);
- static ReturnedValue method_set_proto(SimpleCallContext *ctx);
+ static ReturnedValue method_getPrototypeOf(CallContext *ctx);
+ static ReturnedValue method_getOwnPropertyDescriptor(CallContext *ctx);
+ static ReturnedValue method_getOwnPropertyNames(CallContext *context);
+ static ReturnedValue method_create(CallContext *ctx);
+ static ReturnedValue method_defineProperty(CallContext *ctx);
+ static ReturnedValue method_defineProperties(CallContext *ctx);
+ static ReturnedValue method_seal(CallContext *ctx);
+ static ReturnedValue method_freeze(CallContext *ctx);
+ static ReturnedValue method_preventExtensions(CallContext *ctx);
+ static ReturnedValue method_isSealed(CallContext *ctx);
+ static ReturnedValue method_isFrozen(CallContext *ctx);
+ static ReturnedValue method_isExtensible(CallContext *ctx);
+ static ReturnedValue method_keys(CallContext *ctx);
+
+ static ReturnedValue method_toString(CallContext *ctx);
+ static ReturnedValue method_toLocaleString(CallContext *ctx);
+ static ReturnedValue method_valueOf(CallContext *ctx);
+ static ReturnedValue method_hasOwnProperty(CallContext *ctx);
+ static ReturnedValue method_isPrototypeOf(CallContext *ctx);
+ static ReturnedValue method_propertyIsEnumerable(CallContext *ctx);
+
+ static ReturnedValue method_defineGetter(CallContext *ctx);
+ static ReturnedValue method_defineSetter(CallContext *ctx);
+
+ static ReturnedValue method_get_proto(CallContext *ctx);
+ static ReturnedValue method_set_proto(CallContext *ctx);
static void toPropertyDescriptor(ExecutionContext *ctx, const ValueRef v, Property *desc, PropertyAttributes *attrs);
static ReturnedValue fromPropertyDescriptor(ExecutionContext *ctx, const Property *desc, PropertyAttributes attrs);
diff --git a/src/qml/jsruntime/qv4qobjectwrapper.cpp b/src/qml/jsruntime/qv4qobjectwrapper.cpp
index 4537b6c941..578c7310f2 100644
--- a/src/qml/jsruntime/qv4qobjectwrapper.cpp
+++ b/src/qml/jsruntime/qv4qobjectwrapper.cpp
@@ -833,7 +833,7 @@ struct QObjectSlotDispatcher : public QtPrivate::QSlotObjectBase
} // namespace QV4
-ReturnedValue QObjectWrapper::method_connect(SimpleCallContext *ctx)
+ReturnedValue QObjectWrapper::method_connect(CallContext *ctx)
{
if (ctx->callData->argc == 0)
V4THROW_ERROR("Function.prototype.connect: no arguments given");
@@ -879,7 +879,7 @@ ReturnedValue QObjectWrapper::method_connect(SimpleCallContext *ctx)
return Encode::undefined();
}
-ReturnedValue QObjectWrapper::method_disconnect(SimpleCallContext *ctx)
+ReturnedValue QObjectWrapper::method_disconnect(CallContext *ctx)
{
if (ctx->callData->argc == 0)
V4THROW_ERROR("Function.prototype.disconnect: no arguments given");
diff --git a/src/qml/jsruntime/qv4qobjectwrapper_p.h b/src/qml/jsruntime/qv4qobjectwrapper_p.h
index eb3cf15bff..f6c333f401 100644
--- a/src/qml/jsruntime/qv4qobjectwrapper_p.h
+++ b/src/qml/jsruntime/qv4qobjectwrapper_p.h
@@ -121,8 +121,8 @@ private:
static_cast<QObjectWrapper *>(that)->~QObjectWrapper();
}
- static ReturnedValue method_connect(SimpleCallContext *ctx);
- static ReturnedValue method_disconnect(SimpleCallContext *ctx);
+ static ReturnedValue method_connect(CallContext *ctx);
+ static ReturnedValue method_disconnect(CallContext *ctx);
};
struct QObjectMethod : public QV4::FunctionObject
diff --git a/src/qml/jsruntime/qv4regexpobject.cpp b/src/qml/jsruntime/qv4regexpobject.cpp
index c2d04cc7ed..a8597229c4 100644
--- a/src/qml/jsruntime/qv4regexpobject.cpp
+++ b/src/qml/jsruntime/qv4regexpobject.cpp
@@ -314,7 +314,7 @@ void RegExpPrototype::init(ExecutionEngine *engine, ObjectRef ctor)
defineDefaultProperty(QStringLiteral("compile"), method_compile, 2);
}
-ReturnedValue RegExpPrototype::method_exec(SimpleCallContext *ctx)
+ReturnedValue RegExpPrototype::method_exec(CallContext *ctx)
{
Scope scope(ctx);
Scoped<RegExpObject> r(scope, ctx->callData->thisObject.as<RegExpObject>());
@@ -361,14 +361,14 @@ ReturnedValue RegExpPrototype::method_exec(SimpleCallContext *ctx)
return array.asReturnedValue();
}
-ReturnedValue RegExpPrototype::method_test(SimpleCallContext *ctx)
+ReturnedValue RegExpPrototype::method_test(CallContext *ctx)
{
Scope scope(ctx);
ScopedValue r(scope, method_exec(ctx));
return Encode(!r->isNull());
}
-ReturnedValue RegExpPrototype::method_toString(SimpleCallContext *ctx)
+ReturnedValue RegExpPrototype::method_toString(CallContext *ctx)
{
Scope scope(ctx);
Scoped<RegExpObject> r(scope, ctx->callData->thisObject.as<RegExpObject>());
@@ -378,7 +378,7 @@ ReturnedValue RegExpPrototype::method_toString(SimpleCallContext *ctx)
return ctx->engine->newString(r->toString())->asReturnedValue();
}
-ReturnedValue RegExpPrototype::method_compile(SimpleCallContext *ctx)
+ReturnedValue RegExpPrototype::method_compile(CallContext *ctx)
{
Scope scope(ctx);
Scoped<RegExpObject> r(scope, ctx->callData->thisObject.as<RegExpObject>());
diff --git a/src/qml/jsruntime/qv4regexpobject_p.h b/src/qml/jsruntime/qv4regexpobject_p.h
index 70bc9476e0..0129f8d396 100644
--- a/src/qml/jsruntime/qv4regexpobject_p.h
+++ b/src/qml/jsruntime/qv4regexpobject_p.h
@@ -115,10 +115,10 @@ struct RegExpPrototype: RegExpObject
RegExpPrototype(InternalClass *ic): RegExpObject(ic) {}
void init(ExecutionEngine *engine, ObjectRef ctor);
- static ReturnedValue method_exec(SimpleCallContext *ctx);
- static ReturnedValue method_test(SimpleCallContext *ctx);
- static ReturnedValue method_toString(SimpleCallContext *ctx);
- static ReturnedValue method_compile(SimpleCallContext *ctx);
+ static ReturnedValue method_exec(CallContext *ctx);
+ static ReturnedValue method_test(CallContext *ctx);
+ static ReturnedValue method_toString(CallContext *ctx);
+ static ReturnedValue method_compile(CallContext *ctx);
};
}
diff --git a/src/qml/jsruntime/qv4scopedvalue_p.h b/src/qml/jsruntime/qv4scopedvalue_p.h
index 094f5ce2bb..17a19b5201 100644
--- a/src/qml/jsruntime/qv4scopedvalue_p.h
+++ b/src/qml/jsruntime/qv4scopedvalue_p.h
@@ -741,7 +741,7 @@ inline WeakValue &WeakValue::operator=(Returned<T> *obj)
return operator=(QV4::Value::fromManaged(obj->getPointer()).asReturnedValue());
}
-inline ReturnedValue SimpleCallContext::argument(int i) {
+inline ReturnedValue CallContext::argument(int i) {
return i < callData->argc ? callData->args[i].asReturnedValue() : Primitive::undefinedValue().asReturnedValue();
}
diff --git a/src/qml/jsruntime/qv4sequenceobject.cpp b/src/qml/jsruntime/qv4sequenceobject.cpp
index 8d2a399b70..26e4dcb8a2 100644
--- a/src/qml/jsruntime/qv4sequenceobject.cpp
+++ b/src/qml/jsruntime/qv4sequenceobject.cpp
@@ -379,7 +379,7 @@ public:
QV4::ValueRef m_compareFn;
};
- void sort(QV4::SimpleCallContext *ctx)
+ void sort(QV4::CallContext *ctx)
{
if (m_isReference) {
if (!m_object)
@@ -400,7 +400,7 @@ public:
storeReference();
}
- static QV4::ReturnedValue method_get_length(QV4::SimpleCallContext *ctx)
+ static QV4::ReturnedValue method_get_length(QV4::CallContext *ctx)
{
QV4::Scope scope(ctx);
QV4::Scoped<QQmlSequence<Container> > This(scope, ctx->callData->thisObject.as<QQmlSequence<Container> >());
@@ -415,7 +415,7 @@ public:
return QV4::Encode(This->m_container.count());
}
- static QV4::ReturnedValue method_set_length(QV4::SimpleCallContext* ctx)
+ static QV4::ReturnedValue method_set_length(QV4::CallContext* ctx)
{
QV4::Scope scope(ctx);
QV4::Scoped<QQmlSequence<Container> > This(scope, ctx->callData->thisObject.as<QQmlSequence<Container> >());
@@ -553,7 +553,7 @@ void SequencePrototype::init()
defineDefaultProperty(engine()->id_valueOf, method_valueOf, 0);
}
-QV4::ReturnedValue SequencePrototype::method_sort(QV4::SimpleCallContext *ctx)
+QV4::ReturnedValue SequencePrototype::method_sort(QV4::CallContext *ctx)
{
QV4::Scope scope(ctx);
QV4::ScopedObject o(scope, ctx->callData->thisObject);
diff --git a/src/qml/jsruntime/qv4sequenceobject_p.h b/src/qml/jsruntime/qv4sequenceobject_p.h
index 3bbb86f231..54a96863df 100644
--- a/src/qml/jsruntime/qv4sequenceobject_p.h
+++ b/src/qml/jsruntime/qv4sequenceobject_p.h
@@ -69,12 +69,12 @@ struct SequencePrototype : public QV4::Object
void init();
- static ReturnedValue method_valueOf(QV4::SimpleCallContext *ctx)
+ static ReturnedValue method_valueOf(QV4::CallContext *ctx)
{
return ctx->callData->thisObject.toString(ctx)->asReturnedValue();
}
- static ReturnedValue method_sort(QV4::SimpleCallContext *ctx);
+ static ReturnedValue method_sort(QV4::CallContext *ctx);
static bool isSequenceType(int sequenceTypeId);
static ReturnedValue newSequence(QV4::ExecutionEngine *engine, int sequenceTypeId, QObject *object, int propertyIndex, bool *succeeded);
diff --git a/src/qml/jsruntime/qv4stringobject.cpp b/src/qml/jsruntime/qv4stringobject.cpp
index 7ba7a38cc0..bff8f1f9cd 100644
--- a/src/qml/jsruntime/qv4stringobject.cpp
+++ b/src/qml/jsruntime/qv4stringobject.cpp
@@ -246,7 +246,7 @@ static QString getThisString(ExecutionContext *ctx)
return t->toQString();
}
-ReturnedValue StringPrototype::method_toString(SimpleCallContext *context)
+ReturnedValue StringPrototype::method_toString(CallContext *context)
{
if (context->callData->thisObject.isString())
return context->callData->thisObject.asReturnedValue();
@@ -257,7 +257,7 @@ ReturnedValue StringPrototype::method_toString(SimpleCallContext *context)
return o->value.asReturnedValue();
}
-ReturnedValue StringPrototype::method_charAt(SimpleCallContext *context)
+ReturnedValue StringPrototype::method_charAt(CallContext *context)
{
const QString str = getThisString(context);
if (context->engine->hasException)
@@ -274,7 +274,7 @@ ReturnedValue StringPrototype::method_charAt(SimpleCallContext *context)
return context->engine->newString(result)->asReturnedValue();
}
-ReturnedValue StringPrototype::method_charCodeAt(SimpleCallContext *context)
+ReturnedValue StringPrototype::method_charCodeAt(CallContext *context)
{
const QString str = getThisString(context);
if (context->engine->hasException)
@@ -291,7 +291,7 @@ ReturnedValue StringPrototype::method_charCodeAt(SimpleCallContext *context)
return Encode(qSNaN());
}
-ReturnedValue StringPrototype::method_concat(SimpleCallContext *context)
+ReturnedValue StringPrototype::method_concat(CallContext *context)
{
Scope scope(context);
@@ -311,7 +311,7 @@ ReturnedValue StringPrototype::method_concat(SimpleCallContext *context)
return context->engine->newString(value)->asReturnedValue();
}
-ReturnedValue StringPrototype::method_indexOf(SimpleCallContext *context)
+ReturnedValue StringPrototype::method_indexOf(CallContext *context)
{
QString value = getThisString(context);
if (context->engine->hasException)
@@ -332,7 +332,7 @@ ReturnedValue StringPrototype::method_indexOf(SimpleCallContext *context)
return Encode(index);
}
-ReturnedValue StringPrototype::method_lastIndexOf(SimpleCallContext *context)
+ReturnedValue StringPrototype::method_lastIndexOf(CallContext *context)
{
Scope scope(context);
@@ -360,7 +360,7 @@ ReturnedValue StringPrototype::method_lastIndexOf(SimpleCallContext *context)
return Encode(index);
}
-ReturnedValue StringPrototype::method_localeCompare(SimpleCallContext *context)
+ReturnedValue StringPrototype::method_localeCompare(CallContext *context)
{
Scope scope(context);
const QString value = getThisString(context);
@@ -372,7 +372,7 @@ ReturnedValue StringPrototype::method_localeCompare(SimpleCallContext *context)
return Encode(QString::localeAwareCompare(value, that));
}
-ReturnedValue StringPrototype::method_match(SimpleCallContext *context)
+ReturnedValue StringPrototype::method_match(CallContext *context)
{
if (context->callData->thisObject.isUndefined() || context->callData->thisObject.isNull())
return context->throwTypeError();
@@ -482,7 +482,7 @@ static void appendReplacementString(QString *result, const QString &input, const
}
}
-ReturnedValue StringPrototype::method_replace(SimpleCallContext *ctx)
+ReturnedValue StringPrototype::method_replace(CallContext *ctx)
{
Scope scope(ctx);
QString string;
@@ -595,7 +595,7 @@ ReturnedValue StringPrototype::method_replace(SimpleCallContext *ctx)
return ctx->engine->newString(result)->asReturnedValue();
}
-ReturnedValue StringPrototype::method_search(SimpleCallContext *ctx)
+ReturnedValue StringPrototype::method_search(CallContext *ctx)
{
Scope scope(ctx);
QString string = getThisString(ctx);
@@ -619,7 +619,7 @@ ReturnedValue StringPrototype::method_search(SimpleCallContext *ctx)
return Encode(result);
}
-ReturnedValue StringPrototype::method_slice(SimpleCallContext *ctx)
+ReturnedValue StringPrototype::method_slice(CallContext *ctx)
{
const QString text = getThisString(ctx);
if (ctx->engine->hasException)
@@ -648,7 +648,7 @@ ReturnedValue StringPrototype::method_slice(SimpleCallContext *ctx)
return ctx->engine->newString(text.mid(intStart, count))->asReturnedValue();
}
-ReturnedValue StringPrototype::method_split(SimpleCallContext *ctx)
+ReturnedValue StringPrototype::method_split(CallContext *ctx)
{
Scope scope(ctx);
QString text = getThisString(ctx);
@@ -729,7 +729,7 @@ ReturnedValue StringPrototype::method_split(SimpleCallContext *ctx)
return array.asReturnedValue();
}
-ReturnedValue StringPrototype::method_substr(SimpleCallContext *context)
+ReturnedValue StringPrototype::method_substr(CallContext *context)
{
const QString value = getThisString(context);
if (context->engine->hasException)
@@ -754,7 +754,7 @@ ReturnedValue StringPrototype::method_substr(SimpleCallContext *context)
return context->engine->newString(value.mid(x, y))->asReturnedValue();
}
-ReturnedValue StringPrototype::method_substring(SimpleCallContext *context)
+ReturnedValue StringPrototype::method_substring(CallContext *context)
{
QString value = getThisString(context);
if (context->engine->hasException)
@@ -795,7 +795,7 @@ ReturnedValue StringPrototype::method_substring(SimpleCallContext *context)
return context->engine->newString(value.mid(x, y))->asReturnedValue();
}
-ReturnedValue StringPrototype::method_toLowerCase(SimpleCallContext *ctx)
+ReturnedValue StringPrototype::method_toLowerCase(CallContext *ctx)
{
QString value = getThisString(ctx);
if (ctx->engine->hasException)
@@ -803,12 +803,12 @@ ReturnedValue StringPrototype::method_toLowerCase(SimpleCallContext *ctx)
return ctx->engine->newString(value.toLower())->asReturnedValue();
}
-ReturnedValue StringPrototype::method_toLocaleLowerCase(SimpleCallContext *ctx)
+ReturnedValue StringPrototype::method_toLocaleLowerCase(CallContext *ctx)
{
return method_toLowerCase(ctx);
}
-ReturnedValue StringPrototype::method_toUpperCase(SimpleCallContext *ctx)
+ReturnedValue StringPrototype::method_toUpperCase(CallContext *ctx)
{
QString value = getThisString(ctx);
if (ctx->engine->hasException)
@@ -816,12 +816,12 @@ ReturnedValue StringPrototype::method_toUpperCase(SimpleCallContext *ctx)
return ctx->engine->newString(value.toUpper())->asReturnedValue();
}
-ReturnedValue StringPrototype::method_toLocaleUpperCase(SimpleCallContext *ctx)
+ReturnedValue StringPrototype::method_toLocaleUpperCase(CallContext *ctx)
{
return method_toUpperCase(ctx);
}
-ReturnedValue StringPrototype::method_fromCharCode(SimpleCallContext *context)
+ReturnedValue StringPrototype::method_fromCharCode(CallContext *context)
{
QString str(context->callData->argc, Qt::Uninitialized);
QChar *ch = str.data();
@@ -832,7 +832,7 @@ ReturnedValue StringPrototype::method_fromCharCode(SimpleCallContext *context)
return context->engine->newString(str)->asReturnedValue();
}
-ReturnedValue StringPrototype::method_trim(SimpleCallContext *ctx)
+ReturnedValue StringPrototype::method_trim(CallContext *ctx)
{
QString s = getThisString(ctx);
if (ctx->engine->hasException)
diff --git a/src/qml/jsruntime/qv4stringobject_p.h b/src/qml/jsruntime/qv4stringobject_p.h
index c67f933479..e8e46b85e7 100644
--- a/src/qml/jsruntime/qv4stringobject_p.h
+++ b/src/qml/jsruntime/qv4stringobject_p.h
@@ -80,26 +80,26 @@ struct StringPrototype: StringObject
StringPrototype(InternalClass *ic): StringObject(ic) {}
void init(ExecutionEngine *engine, ObjectRef ctor);
- static ReturnedValue method_toString(SimpleCallContext *context);
- static ReturnedValue method_charAt(SimpleCallContext *context);
- static ReturnedValue method_charCodeAt(SimpleCallContext *context);
- static ReturnedValue method_concat(SimpleCallContext *context);
- static ReturnedValue method_indexOf(SimpleCallContext *context);
- static ReturnedValue method_lastIndexOf(SimpleCallContext *context);
- static ReturnedValue method_localeCompare(SimpleCallContext *context);
- static ReturnedValue method_match(SimpleCallContext *context);
- static ReturnedValue method_replace(SimpleCallContext *ctx);
- static ReturnedValue method_search(SimpleCallContext *ctx);
- static ReturnedValue method_slice(SimpleCallContext *ctx);
- static ReturnedValue method_split(SimpleCallContext *ctx);
- static ReturnedValue method_substr(SimpleCallContext *context);
- static ReturnedValue method_substring(SimpleCallContext *context);
- static ReturnedValue method_toLowerCase(SimpleCallContext *ctx);
- static ReturnedValue method_toLocaleLowerCase(SimpleCallContext *ctx);
- static ReturnedValue method_toUpperCase(SimpleCallContext *ctx);
- static ReturnedValue method_toLocaleUpperCase(SimpleCallContext *ctx);
- static ReturnedValue method_fromCharCode(SimpleCallContext *context);
- static ReturnedValue method_trim(SimpleCallContext *ctx);
+ static ReturnedValue method_toString(CallContext *context);
+ static ReturnedValue method_charAt(CallContext *context);
+ static ReturnedValue method_charCodeAt(CallContext *context);
+ static ReturnedValue method_concat(CallContext *context);
+ static ReturnedValue method_indexOf(CallContext *context);
+ static ReturnedValue method_lastIndexOf(CallContext *context);
+ static ReturnedValue method_localeCompare(CallContext *context);
+ static ReturnedValue method_match(CallContext *context);
+ static ReturnedValue method_replace(CallContext *ctx);
+ static ReturnedValue method_search(CallContext *ctx);
+ static ReturnedValue method_slice(CallContext *ctx);
+ static ReturnedValue method_split(CallContext *ctx);
+ static ReturnedValue method_substr(CallContext *context);
+ static ReturnedValue method_substring(CallContext *context);
+ static ReturnedValue method_toLowerCase(CallContext *ctx);
+ static ReturnedValue method_toLocaleLowerCase(CallContext *ctx);
+ static ReturnedValue method_toUpperCase(CallContext *ctx);
+ static ReturnedValue method_toLocaleUpperCase(CallContext *ctx);
+ static ReturnedValue method_fromCharCode(CallContext *context);
+ static ReturnedValue method_trim(CallContext *ctx);
};
}
diff --git a/src/qml/jsruntime/qv4variantobject.cpp b/src/qml/jsruntime/qv4variantobject.cpp
index a37da31782..470e8e206b 100644
--- a/src/qml/jsruntime/qv4variantobject.cpp
+++ b/src/qml/jsruntime/qv4variantobject.cpp
@@ -153,7 +153,7 @@ void VariantPrototype::init()
defineDefaultProperty(engine()->id_toString, method_toString, 0);
}
-QV4::ReturnedValue VariantPrototype::method_preserve(SimpleCallContext *ctx)
+QV4::ReturnedValue VariantPrototype::method_preserve(CallContext *ctx)
{
Scope scope(ctx);
Scoped<VariantObject> o(scope, ctx->callData->thisObject.as<QV4::VariantObject>());
@@ -162,7 +162,7 @@ QV4::ReturnedValue VariantPrototype::method_preserve(SimpleCallContext *ctx)
return Encode::undefined();
}
-QV4::ReturnedValue VariantPrototype::method_destroy(SimpleCallContext *ctx)
+QV4::ReturnedValue VariantPrototype::method_destroy(CallContext *ctx)
{
Scope scope(ctx);
Scoped<VariantObject> o(scope, ctx->callData->thisObject.as<QV4::VariantObject>());
@@ -174,7 +174,7 @@ QV4::ReturnedValue VariantPrototype::method_destroy(SimpleCallContext *ctx)
return Encode::undefined();
}
-QV4::ReturnedValue VariantPrototype::method_toString(SimpleCallContext *ctx)
+QV4::ReturnedValue VariantPrototype::method_toString(CallContext *ctx)
{
Scope scope(ctx);
Scoped<VariantObject> o(scope, ctx->callData->thisObject.as<QV4::VariantObject>());
@@ -186,7 +186,7 @@ QV4::ReturnedValue VariantPrototype::method_toString(SimpleCallContext *ctx)
return Encode(ctx->engine->newString(result));
}
-QV4::ReturnedValue VariantPrototype::method_valueOf(SimpleCallContext *ctx)
+QV4::ReturnedValue VariantPrototype::method_valueOf(CallContext *ctx)
{
Scope scope(ctx);
Scoped<VariantObject> o(scope, ctx->callData->thisObject.as<QV4::VariantObject>());
diff --git a/src/qml/jsruntime/qv4variantobject_p.h b/src/qml/jsruntime/qv4variantobject_p.h
index 4d852142aa..4e14839184 100644
--- a/src/qml/jsruntime/qv4variantobject_p.h
+++ b/src/qml/jsruntime/qv4variantobject_p.h
@@ -89,10 +89,10 @@ public:
void init();
- static ReturnedValue method_preserve(SimpleCallContext *ctx);
- static ReturnedValue method_destroy(SimpleCallContext *ctx);
- static ReturnedValue method_toString(SimpleCallContext *ctx);
- static ReturnedValue method_valueOf(SimpleCallContext *ctx);
+ static ReturnedValue method_preserve(CallContext *ctx);
+ static ReturnedValue method_destroy(CallContext *ctx);
+ static ReturnedValue method_toString(CallContext *ctx);
+ static ReturnedValue method_valueOf(CallContext *ctx);
};
}
diff --git a/src/qml/jsruntime/qv4vme_moth.cpp b/src/qml/jsruntime/qv4vme_moth.cpp
index 74a42b6f2f..3121f178a0 100644
--- a/src/qml/jsruntime/qv4vme_moth.cpp
+++ b/src/qml/jsruntime/qv4vme_moth.cpp
@@ -215,7 +215,7 @@ QV4::ReturnedValue VME::run(QV4::ExecutionContext *context, const uchar *code,
QV4::ExecutionContext *scope = context;
int i = 0;
while (scope) {
- if (scope->type >= QV4::ExecutionContext::Type_CallContext) {
+ if (scope->type >= QV4::ExecutionContext::Type_SimpleCallContext) {
QV4::CallContext *cc = static_cast<QV4::CallContext *>(scope);
scopes[2*i + 2] = cc->callData->args;
scopes[2*i + 3] = cc->locals;