aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4functionobject_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@theqtcompany.com>2014-11-07 18:10:30 +0100
committerSimon Hausmann <simon.hausmann@digia.com>2014-11-12 12:13:14 +0100
commit943583ca408f5d419de03e54aab48557f5e5bebb (patch)
tree27b753fec7d0032a2e674df0972b2fcfec20473d /src/qml/jsruntime/qv4functionobject_p.h
parent0e0ebef62bce9e5c5bc6d22c22a59d9a83380617 (diff)
Store all data members in FunctionObject as heap data
Change-Id: Ic061baaf7f5ff08c5e6e7130abd6a650148d3d2d Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4functionobject_p.h')
-rw-r--r--src/qml/jsruntime/qv4functionobject_p.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/qml/jsruntime/qv4functionobject_p.h b/src/qml/jsruntime/qv4functionobject_p.h
index 288777f8eb..7cbdccb8fd 100644
--- a/src/qml/jsruntime/qv4functionobject_p.h
+++ b/src/qml/jsruntime/qv4functionobject_p.h
@@ -60,13 +60,14 @@ struct Q_QML_PRIVATE_EXPORT FunctionObject : Object {
FunctionObject(QV4::ExecutionContext *scope, QV4::String *name, bool createProto = false);
FunctionObject(QV4::ExecutionContext *scope, const QString &name = QString(), bool createProto = false);
FunctionObject(QV4::ExecutionContext *scope, const ReturnedValue name);
+ FunctionObject(ExecutionContext *scope, const ReturnedValue name);
FunctionObject(InternalClass *ic);
~FunctionObject();
unsigned int formalParameterCount() { return function ? function->compiledFunction->nFormals : 0; }
unsigned int varCount() { return function ? function->compiledFunction->nLocals : 0; }
- QV4::ExecutionContext *scope;
+ ExecutionContext *scope;
Function *function;
};
@@ -99,7 +100,7 @@ struct ScriptFunction : SimpleScriptFunction {
struct BoundFunction : FunctionObject {
BoundFunction(QV4::ExecutionContext *scope, QV4::FunctionObject *target, const ValueRef boundThis, QV4::MemberData *boundArgs);
- QV4::FunctionObject *target;
+ FunctionObject *target;
Value boundThis;
MemberData *boundArgs;
};
@@ -113,7 +114,7 @@ struct Q_QML_EXPORT FunctionObject: Object {
V4_OBJECT2(FunctionObject, Object)
Q_MANAGED_TYPE(FunctionObject)
- ExecutionContext *scope() { return d()->scope; }
+ Heap::ExecutionContext *scope() { return d()->scope; }
Function *function() { return d()->function; }
ReturnedValue name();
@@ -231,10 +232,9 @@ struct BoundFunction: FunctionObject {
return scope->engine()->memoryManager->alloc<BoundFunction>(scope, target, boundThis, boundArgs);
}
- FunctionObject *target() { return d()->target; }
+ Heap::FunctionObject *target() { return d()->target; }
Value boundThis() const { return d()->boundThis; }
- // ### GC
- MemberData::Data *boundArgs() const { return d()->boundArgs; }
+ Heap::MemberData *boundArgs() const { return d()->boundArgs; }
static ReturnedValue construct(Managed *, CallData *d);
static ReturnedValue call(Managed *that, CallData *dd);