aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4argumentsobject_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2014-04-10 17:17:29 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2014-07-22 13:48:57 +0200
commitf05f3a36b43ada6b37cda1ee4703fe857f8771da (patch)
tree9ffae27ab6aeb351131d01a44b3380f43b74c571 /src/qml/jsruntime/qv4argumentsobject_p.h
parent441a6ff47a713587f1b43c61377ed64caf15692f (diff)
Convert ArgumentsObject to new data layout
Change-Id: I568ccacb065fff0257a193087eb0cafaeba2d5e0 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4argumentsobject_p.h')
-rw-r--r--src/qml/jsruntime/qv4argumentsobject_p.h38
1 files changed, 30 insertions, 8 deletions
diff --git a/src/qml/jsruntime/qv4argumentsobject_p.h b/src/qml/jsruntime/qv4argumentsobject_p.h
index 9c27b83ae2..609556115c 100644
--- a/src/qml/jsruntime/qv4argumentsobject_p.h
+++ b/src/qml/jsruntime/qv4argumentsobject_p.h
@@ -51,10 +51,17 @@ namespace QV4 {
struct ArgumentsGetterFunction: FunctionObject
{
V4_OBJECT
- uint index;
+ struct Data {
+ uint index;
+ };
+ Data data;
+
+ uint index() const { return data.index; }
ArgumentsGetterFunction(ExecutionContext *scope, uint index)
- : FunctionObject(scope), index(index) {
+ : FunctionObject(scope)
+ {
+ data.index = index;
setVTable(staticVTable());
}
@@ -64,10 +71,17 @@ struct ArgumentsGetterFunction: FunctionObject
struct ArgumentsSetterFunction: FunctionObject
{
V4_OBJECT
- uint index;
+ struct Data {
+ uint index;
+ };
+ Data data;
+
+ uint index() const { return data.index; }
ArgumentsSetterFunction(ExecutionContext *scope, uint index)
- : FunctionObject(scope), index(index) {
+ : FunctionObject(scope)
+ {
+ data.index = index;
setVTable(staticVTable());
}
@@ -78,14 +92,22 @@ struct ArgumentsSetterFunction: FunctionObject
struct ArgumentsObject: Object {
V4_OBJECT
Q_MANAGED_TYPE(ArgumentsObject)
- CallContext *context;
- bool fullyCreated;
- Members mappedArguments;
+ struct Data {
+ CallContext *context;
+ bool fullyCreated;
+ Members mappedArguments;
+ };
+ Data data;
+
+ CallContext *context() const { return data.context; }
+ bool fullyCreated() const { return data.fullyCreated; }
+ Members mappedArguments() const { return data.mappedArguments; }
+
ArgumentsObject(CallContext *context);
static bool isNonStrictArgumentsObject(Managed *m) {
return m->internalClass()->vtable->type == Type_ArgumentsObject &&
- !static_cast<ArgumentsObject *>(m)->context->strictMode;
+ !static_cast<ArgumentsObject *>(m)->context()->strictMode;
}
enum {