diff options
author | Lars Knoll <lars.knoll@digia.com> | 2014-04-03 13:00:49 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2014-07-22 13:48:53 +0200 |
commit | 4427576fe548b6f9f8acba6a5ac3082fbbb99724 (patch) | |
tree | 309f80779da95f337dd869e1990ffd4f0bb9b724 /src/qml/jsruntime/qv4argumentsobject.cpp | |
parent | 08a3c0edeb3cdfa15a9fecdfb4c7c1ab82227437 (diff) |
Avoid calling destroy() on most objects
The method is now optional, and we can simply avoid
calling it if all members an object has are themselves
garbage collected.
Change-Id: If560fce051908bcc10409ead1a7d8a5bd5fa71d2
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4argumentsobject.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4argumentsobject.cpp | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/src/qml/jsruntime/qv4argumentsobject.cpp b/src/qml/jsruntime/qv4argumentsobject.cpp index 987b228209..9b465a06e5 100644 --- a/src/qml/jsruntime/qv4argumentsobject.cpp +++ b/src/qml/jsruntime/qv4argumentsobject.cpp @@ -44,7 +44,7 @@ using namespace QV4; -DEFINE_OBJECT_VTABLE(ArgumentsObject); +DEFINE_OBJECT_VTABLE_NO_DESTROY(ArgumentsObject); ArgumentsObject::ArgumentsObject(CallContext *context) : Object(context->strictMode ? context->engine->strictArgumentsObjectClass : context->engine->argumentsObjectClass) @@ -79,11 +79,6 @@ ArgumentsObject::ArgumentsObject(CallContext *context) Q_ASSERT(internalClass->vtable == staticVTable()); } -void ArgumentsObject::destroy(Managed *that) -{ - static_cast<ArgumentsObject *>(that)->~ArgumentsObject(); -} - void ArgumentsObject::fullyCreate() { if (fullyCreated) @@ -202,7 +197,7 @@ PropertyAttributes ArgumentsObject::queryIndexed(const Managed *m, uint index) return Attr_Accessor; } -DEFINE_OBJECT_VTABLE(ArgumentsGetterFunction); +DEFINE_OBJECT_VTABLE_NO_DESTROY(ArgumentsGetterFunction); ReturnedValue ArgumentsGetterFunction::call(Managed *getter, CallData *callData) { @@ -217,7 +212,7 @@ ReturnedValue ArgumentsGetterFunction::call(Managed *getter, CallData *callData) return o->context->argument(g->index); } -DEFINE_OBJECT_VTABLE(ArgumentsSetterFunction); +DEFINE_OBJECT_VTABLE_NO_DESTROY(ArgumentsSetterFunction); ReturnedValue ArgumentsSetterFunction::call(Managed *setter, CallData *callData) { |