diff options
author | Lars Knoll <[email protected]> | 2014-04-04 12:22:00 +0200 |
---|---|---|
committer | Simon Hausmann <[email protected]> | 2014-07-22 13:48:54 +0200 |
commit | 05f17e841f971d3c8f635cc044c60c970c2055c9 (patch) | |
tree | 0eaf8348ef9d9b25c050527ec6c7de8aac9a56ea | |
parent | c2ef5bff232f758716f1665e5d9d9b9b2f20385d (diff) |
Get rid of different macros for vtable specializations
Detect existence of a a vtable entry at compile time.
Change-Id: Ieed5d34b063184bc4435b22c6685ac0e3fabf493
Reviewed-by: Simon Hausmann <[email protected]>
28 files changed, 57 insertions, 110 deletions
diff --git a/src/qml/jsruntime/qv4argumentsobject.cpp b/src/qml/jsruntime/qv4argumentsobject.cpp index 9b465a06e5..91945875a1 100644 --- a/src/qml/jsruntime/qv4argumentsobject.cpp +++ b/src/qml/jsruntime/qv4argumentsobject.cpp @@ -44,7 +44,7 @@ using namespace QV4; -DEFINE_OBJECT_VTABLE_NO_DESTROY(ArgumentsObject); +DEFINE_OBJECT_VTABLE(ArgumentsObject); ArgumentsObject::ArgumentsObject(CallContext *context) : Object(context->strictMode ? context->engine->strictArgumentsObjectClass : context->engine->argumentsObjectClass) @@ -197,7 +197,7 @@ PropertyAttributes ArgumentsObject::queryIndexed(const Managed *m, uint index) return Attr_Accessor; } -DEFINE_OBJECT_VTABLE_NO_DESTROY(ArgumentsGetterFunction); +DEFINE_OBJECT_VTABLE(ArgumentsGetterFunction); ReturnedValue ArgumentsGetterFunction::call(Managed *getter, CallData *callData) { @@ -212,7 +212,7 @@ ReturnedValue ArgumentsGetterFunction::call(Managed *getter, CallData *callData) return o->context->argument(g->index); } -DEFINE_OBJECT_VTABLE_NO_DESTROY(ArgumentsSetterFunction); +DEFINE_OBJECT_VTABLE(ArgumentsSetterFunction); ReturnedValue ArgumentsSetterFunction::call(Managed *setter, CallData *callData) { diff --git a/src/qml/jsruntime/qv4arraydata.cpp b/src/qml/jsruntime/qv4arraydata.cpp index 0bc97cd571..0d68a7cd82 100644 --- a/src/qml/jsruntime/qv4arraydata.cpp +++ b/src/qml/jsruntime/qv4arraydata.cpp @@ -47,7 +47,7 @@ using namespace QV4; const ArrayVTable SimpleArrayData::static_vtbl = { - DEFINE_MANAGED_VTABLE_NO_DESTROY_INT(SimpleArrayData), + DEFINE_MANAGED_VTABLE_INT(SimpleArrayData), SimpleArrayData::Simple, SimpleArrayData::reallocate, SimpleArrayData::get, diff --git a/src/qml/jsruntime/qv4arrayobject.cpp b/src/qml/jsruntime/qv4arrayobject.cpp index 95677f2272..d5b3b8a651 100644 --- a/src/qml/jsruntime/qv4arrayobject.cpp +++ b/src/qml/jsruntime/qv4arrayobject.cpp @@ -46,7 +46,7 @@ using namespace QV4; -DEFINE_OBJECT_VTABLE_NO_DESTROY(ArrayCtor); +DEFINE_OBJECT_VTABLE(ArrayCtor); ArrayCtor::ArrayCtor(ExecutionContext *scope) : FunctionObject(scope, QStringLiteral("Array")) diff --git a/src/qml/jsruntime/qv4booleanobject.cpp b/src/qml/jsruntime/qv4booleanobject.cpp index 51931da825..662ec64efb 100644 --- a/src/qml/jsruntime/qv4booleanobject.cpp +++ b/src/qml/jsruntime/qv4booleanobject.cpp @@ -43,8 +43,8 @@ using namespace QV4; -DEFINE_OBJECT_VTABLE_NO_DESTROY(BooleanCtor); -DEFINE_OBJECT_VTABLE_NO_DESTROY(BooleanObject); +DEFINE_OBJECT_VTABLE(BooleanCtor); +DEFINE_OBJECT_VTABLE(BooleanObject); BooleanCtor::BooleanCtor(ExecutionContext *scope) : FunctionObject(scope, QStringLiteral("Boolean")) diff --git a/src/qml/jsruntime/qv4context.cpp b/src/qml/jsruntime/qv4context.cpp index 899723b35c..b43b4893a3 100644 --- a/src/qml/jsruntime/qv4context.cpp +++ b/src/qml/jsruntime/qv4context.cpp @@ -51,7 +51,7 @@ using namespace QV4; -DEFINE_MANAGED_VTABLE_NO_DESTROY(ExecutionContext); +DEFINE_MANAGED_VTABLE(ExecutionContext); CallContext *ExecutionContext::newCallContext(FunctionObject *function, CallData *callData) { diff --git a/src/qml/jsruntime/qv4dateobject.cpp b/src/qml/jsruntime/qv4dateobject.cpp index aaa67e935f..ceef88455b 100644 --- a/src/qml/jsruntime/qv4dateobject.cpp +++ b/src/qml/jsruntime/qv4dateobject.cpp @@ -641,7 +641,7 @@ static double getLocalTZA() #endif } -DEFINE_OBJECT_VTABLE_NO_DESTROY(DateObject); +DEFINE_OBJECT_VTABLE(DateObject); DateObject::DateObject(ExecutionEngine *engine, const QDateTime &date) : Object(engine->dateClass) @@ -655,7 +655,7 @@ QDateTime DateObject::toQDateTime() const return ToDateTime(value.asDouble(), Qt::LocalTime); } -DEFINE_OBJECT_VTABLE_NO_DESTROY(DateCtor); +DEFINE_OBJECT_VTABLE(DateCtor); DateCtor::DateCtor(ExecutionContext *scope) : FunctionObject(scope, QStringLiteral("Date")) diff --git a/src/qml/jsruntime/qv4errorobject.cpp b/src/qml/jsruntime/qv4errorobject.cpp index 086ca8eeea..9d6403e7dd 100644 --- a/src/qml/jsruntime/qv4errorobject.cpp +++ b/src/qml/jsruntime/qv4errorobject.cpp @@ -249,13 +249,13 @@ URIErrorObject::URIErrorObject(ExecutionEngine *engine, const ValueRef message) { } -DEFINE_OBJECT_VTABLE_NO_DESTROY(ErrorCtor); -DEFINE_OBJECT_VTABLE_NO_DESTROY(EvalErrorCtor); -DEFINE_OBJECT_VTABLE_NO_DESTROY(RangeErrorCtor); -DEFINE_OBJECT_VTABLE_NO_DESTROY(ReferenceErrorCtor); -DEFINE_OBJECT_VTABLE_NO_DESTROY(SyntaxErrorCtor); -DEFINE_OBJECT_VTABLE_NO_DESTROY(TypeErrorCtor); -DEFINE_OBJECT_VTABLE_NO_DESTROY(URIErrorCtor); +DEFINE_OBJECT_VTABLE(ErrorCtor); +DEFINE_OBJECT_VTABLE(EvalErrorCtor); +DEFINE_OBJECT_VTABLE(RangeErrorCtor); +DEFINE_OBJECT_VTABLE(ReferenceErrorCtor); +DEFINE_OBJECT_VTABLE(SyntaxErrorCtor); +DEFINE_OBJECT_VTABLE(TypeErrorCtor); +DEFINE_OBJECT_VTABLE(URIErrorCtor); ErrorCtor::ErrorCtor(ExecutionContext *scope) : FunctionObject(scope, QStringLiteral("Error")) diff --git a/src/qml/jsruntime/qv4functionobject.cpp b/src/qml/jsruntime/qv4functionobject.cpp index f00df25354..04d1afbf76 100644 --- a/src/qml/jsruntime/qv4functionobject.cpp +++ b/src/qml/jsruntime/qv4functionobject.cpp @@ -72,7 +72,7 @@ using namespace QV4; -DEFINE_OBJECT_VTABLE_NO_DESTROY(FunctionObject); +DEFINE_OBJECT_VTABLE(FunctionObject); FunctionObject::FunctionObject(ExecutionContext *scope, const StringRef name, bool createProto) : Object(scope->engine->functionClass) @@ -183,7 +183,7 @@ FunctionObject *FunctionObject::createScriptFunction(ExecutionContext *scope, Fu return new (scope->engine->memoryManager) SimpleScriptFunction(scope, function, createProto); } -DEFINE_OBJECT_VTABLE_NO_DESTROY(FunctionCtor); +DEFINE_OBJECT_VTABLE(FunctionCtor); FunctionCtor::FunctionCtor(ExecutionContext *scope) : FunctionObject(scope, QStringLiteral("Function")) @@ -353,7 +353,7 @@ ReturnedValue FunctionPrototype::method_bind(CallContext *ctx) return ctx->engine->newBoundFunction(ctx->engine->rootContext, target, boundThis, boundArgs)->asReturnedValue(); } -DEFINE_OBJECT_VTABLE_NO_DESTROY(ScriptFunction); +DEFINE_OBJECT_VTABLE(ScriptFunction); ScriptFunction::ScriptFunction(ExecutionContext *scope, Function *function) : SimpleScriptFunction(scope, function, true) @@ -426,7 +426,7 @@ ReturnedValue ScriptFunction::call(Managed *that, CallData *callData) return result.asReturnedValue(); } -DEFINE_OBJECT_VTABLE_NO_DESTROY(SimpleScriptFunction); +DEFINE_OBJECT_VTABLE(SimpleScriptFunction); SimpleScriptFunction::SimpleScriptFunction(ExecutionContext *scope, Function *function, bool createProto) : FunctionObject(scope, function->name(), createProto) @@ -550,7 +550,7 @@ InternalClass *SimpleScriptFunction::internalClassForConstructor() -DEFINE_OBJECT_VTABLE_NO_DESTROY(BuiltinFunction); +DEFINE_OBJECT_VTABLE(BuiltinFunction); BuiltinFunction::BuiltinFunction(ExecutionContext *scope, const StringRef name, ReturnedValue (*code)(CallContext *)) : FunctionObject(scope, name) @@ -602,7 +602,7 @@ ReturnedValue IndexedBuiltinFunction::call(Managed *that, CallData *callData) return f->code(&ctx, f->index); } -DEFINE_OBJECT_VTABLE_NO_DESTROY(IndexedBuiltinFunction); +DEFINE_OBJECT_VTABLE(IndexedBuiltinFunction); DEFINE_OBJECT_VTABLE(BoundFunction); diff --git a/src/qml/jsruntime/qv4globalobject.cpp b/src/qml/jsruntime/qv4globalobject.cpp index feac21a546..eb0994c1e6 100644 --- a/src/qml/jsruntime/qv4globalobject.cpp +++ b/src/qml/jsruntime/qv4globalobject.cpp @@ -344,7 +344,7 @@ static QString decode(const QString &input, DecodeMode decodeMode, bool *ok) return QString(); } -DEFINE_OBJECT_VTABLE_NO_DESTROY(EvalFunction); +DEFINE_OBJECT_VTABLE(EvalFunction); EvalFunction::EvalFunction(ExecutionContext *scope) : FunctionObject(scope, scope->engine->id_eval) diff --git a/src/qml/jsruntime/qv4jsonobject.cpp b/src/qml/jsruntime/qv4jsonobject.cpp index 556b2ea59f..ca82af1b30 100644 --- a/src/qml/jsruntime/qv4jsonobject.cpp +++ b/src/qml/jsruntime/qv4jsonobject.cpp @@ -66,7 +66,7 @@ static int indent = 0; #endif -DEFINE_OBJECT_VTABLE_NO_DESTROY(JsonObject); +DEFINE_OBJECT_VTABLE(JsonObject); class JsonParser { diff --git a/src/qml/jsruntime/qv4managed.cpp b/src/qml/jsruntime/qv4managed.cpp index 3cfbb3715c..69022df07d 100644 --- a/src/qml/jsruntime/qv4managed.cpp +++ b/src/qml/jsruntime/qv4managed.cpp @@ -45,6 +45,7 @@ using namespace QV4; + const ManagedVTable Managed::static_vtbl = { Managed::IsExecutionContext, diff --git a/src/qml/jsruntime/qv4managed_p.h b/src/qml/jsruntime/qv4managed_p.h index 1718149bc7..93a50e21e6 100644 --- a/src/qml/jsruntime/qv4managed_p.h +++ b/src/qml/jsruntime/qv4managed_p.h @@ -82,6 +82,10 @@ inline void qYouForgotTheQ_MANAGED_Macro(T1, T2) {} public: \ enum { MyType = Type_##type }; +#define Q_VTABLE_FUNCTION(classname, func) \ + (classname::func == QV4::Managed::func ? 0 : classname::func) + + struct GCDeletable { GCDeletable() : next(0), lastCall(false) {} @@ -125,23 +129,8 @@ struct ObjectVTable void (*advanceIterator)(Managed *m, ObjectIterator *it, StringRef name, uint *index, Property *p, PropertyAttributes *attributes); }; -#define DEFINE_MANAGED_VTABLE_INT(classname) \ -{ \ - classname::IsExecutionContext, \ - classname::IsString, \ - classname::IsObject, \ - classname::IsFunctionObject, \ - classname::IsErrorObject, \ - classname::IsArrayData, \ - 0, \ - classname::MyType, \ - #classname, \ - destroy, \ - markObjects, \ - isEqualTo \ -} -#define DEFINE_MANAGED_VTABLE_NO_DESTROY_INT(classname) \ +#define DEFINE_MANAGED_VTABLE_INT(classname) \ { \ classname::IsExecutionContext, \ classname::IsString, \ @@ -152,15 +141,13 @@ struct ObjectVTable 0, \ classname::MyType, \ #classname, \ - 0, \ + Q_VTABLE_FUNCTION(classname, destroy), \ markObjects, \ isEqualTo \ } #define DEFINE_MANAGED_VTABLE(classname) \ const QV4::ManagedVTable classname::static_vtbl = DEFINE_MANAGED_VTABLE_INT(classname) -#define DEFINE_MANAGED_VTABLE_NO_DESTROY(classname) \ -const QV4::ManagedVTable classname::static_vtbl = DEFINE_MANAGED_VTABLE_NO_DESTROY_INT(classname) #define DEFINE_OBJECT_VTABLE(classname) \ @@ -183,47 +170,6 @@ const QV4::ObjectVTable classname::static_vtbl = \ advanceIterator \ } -#define DEFINE_OBJECT_VTABLE_NO_DESTROY(classname) \ -const QV4::ObjectVTable classname::static_vtbl = \ -{ \ - DEFINE_MANAGED_VTABLE_NO_DESTROY_INT(classname), \ - call, \ - construct, \ - get, \ - getIndexed, \ - put, \ - putIndexed, \ - query, \ - queryIndexed, \ - deleteProperty, \ - deleteIndexedProperty, \ - getLookup, \ - setLookup, \ - getLength, \ - advanceIterator \ -} - -#define DEFINE_MANAGED_VTABLE_WITH_NAME(classname, name) \ -const QV4::ObjectVTable classname::static_vtbl = \ -{ \ - DEFINE_MANAGED_VTABLE_INT(name), \ - call, \ - construct, \ - get, \ - getIndexed, \ - put, \ - putIndexed, \ - query, \ - queryIndexed, \ - deleteProperty, \ - deleteIndexedProperty, \ - getLookup, \ - setLookup, \ - getLength, \ - advanceIterator \ -} - - struct Q_QML_PRIVATE_EXPORT Managed { V4_MANAGED @@ -359,6 +305,7 @@ public: uchar _flags; }; }; + static void destroy(Managed *) {} private: friend class MemoryManager; diff --git a/src/qml/jsruntime/qv4mathobject.cpp b/src/qml/jsruntime/qv4mathobject.cpp index 66fb06d6f0..16d76e6914 100644 --- a/src/qml/jsruntime/qv4mathobject.cpp +++ b/src/qml/jsruntime/qv4mathobject.cpp @@ -51,7 +51,7 @@ using namespace QV4; -DEFINE_OBJECT_VTABLE_NO_DESTROY(MathObject); +DEFINE_OBJECT_VTABLE(MathObject); static const double qt_PI = 2.0 * ::asin(1.0); diff --git a/src/qml/jsruntime/qv4memberdata.cpp b/src/qml/jsruntime/qv4memberdata.cpp index 7c3b2b9b87..005e29691e 100644 --- a/src/qml/jsruntime/qv4memberdata.cpp +++ b/src/qml/jsruntime/qv4memberdata.cpp @@ -44,7 +44,7 @@ using namespace QV4; -DEFINE_MANAGED_VTABLE_NO_DESTROY(MemberData); +DEFINE_MANAGED_VTABLE(MemberData); void MemberData::markObjects(Managed *that, ExecutionEngine *e) { diff --git a/src/qml/jsruntime/qv4numberobject.cpp b/src/qml/jsruntime/qv4numberobject.cpp index 16f81bc83b..c97e86f2cd 100644 --- a/src/qml/jsruntime/qv4numberobject.cpp +++ b/src/qml/jsruntime/qv4numberobject.cpp @@ -48,8 +48,8 @@ using namespace QV4; -DEFINE_OBJECT_VTABLE_NO_DESTROY(NumberCtor); -DEFINE_OBJECT_VTABLE_NO_DESTROY(NumberObject); +DEFINE_OBJECT_VTABLE(NumberCtor); +DEFINE_OBJECT_VTABLE(NumberObject); NumberCtor::NumberCtor(ExecutionContext *scope) : FunctionObject(scope, QStringLiteral("Number")) diff --git a/src/qml/jsruntime/qv4object.cpp b/src/qml/jsruntime/qv4object.cpp index c67ca6a902..11f8202325 100644 --- a/src/qml/jsruntime/qv4object.cpp +++ b/src/qml/jsruntime/qv4object.cpp @@ -68,7 +68,7 @@ using namespace QV4; -DEFINE_OBJECT_VTABLE_NO_DESTROY(Object); +DEFINE_OBJECT_VTABLE(Object); Object::Object(ExecutionEngine *engine) : Managed(engine->objectClass) @@ -1152,7 +1152,7 @@ void Object::initSparseArray() } -DEFINE_OBJECT_VTABLE_NO_DESTROY(ArrayObject); +DEFINE_OBJECT_VTABLE(ArrayObject); ArrayObject::ArrayObject(ExecutionEngine *engine, const QStringList &list) : Object(engine->arrayClass) diff --git a/src/qml/jsruntime/qv4objectiterator.cpp b/src/qml/jsruntime/qv4objectiterator.cpp index f9ad00e308..e5f693c323 100644 --- a/src/qml/jsruntime/qv4objectiterator.cpp +++ b/src/qml/jsruntime/qv4objectiterator.cpp @@ -192,7 +192,7 @@ ReturnedValue ObjectIterator::nextPropertyNameAsString() } -DEFINE_OBJECT_VTABLE_NO_DESTROY(ForEachIteratorObject); +DEFINE_OBJECT_VTABLE(ForEachIteratorObject); void ForEachIteratorObject::markObjects(Managed *that, ExecutionEngine *e) { diff --git a/src/qml/jsruntime/qv4objectproto.cpp b/src/qml/jsruntime/qv4objectproto.cpp index 4d54a99240..5c824bdfbd 100644 --- a/src/qml/jsruntime/qv4objectproto.cpp +++ b/src/qml/jsruntime/qv4objectproto.cpp @@ -72,7 +72,7 @@ using namespace QV4; -DEFINE_OBJECT_VTABLE_NO_DESTROY(ObjectCtor); +DEFINE_OBJECT_VTABLE(ObjectCtor); ObjectCtor::ObjectCtor(ExecutionContext *scope) : FunctionObject(scope, QStringLiteral("Object")) diff --git a/src/qml/jsruntime/qv4regexp_p.h b/src/qml/jsruntime/qv4regexp_p.h index 1bcc2c6f5a..63d4ed3ed2 100644 --- a/src/qml/jsruntime/qv4regexp_p.h +++ b/src/qml/jsruntime/qv4regexp_p.h @@ -109,7 +109,6 @@ public: bool multiLine() const { return m_multiLine; } int captureCount() const { return m_subPatternCount + 1; } -protected: static void destroy(Managed *that); static void markObjects(Managed *that, QV4::ExecutionEngine *e); diff --git a/src/qml/jsruntime/qv4regexpobject.cpp b/src/qml/jsruntime/qv4regexpobject.cpp index a173dbcf2a..7a7666b89d 100644 --- a/src/qml/jsruntime/qv4regexpobject.cpp +++ b/src/qml/jsruntime/qv4regexpobject.cpp @@ -69,7 +69,7 @@ Q_CORE_EXPORT QString qt_regexp_toCanonical(const QString &, QRegExp::PatternSyn using namespace QV4; -DEFINE_OBJECT_VTABLE_NO_DESTROY(RegExpObject); +DEFINE_OBJECT_VTABLE(RegExpObject); RegExpObject::RegExpObject(InternalClass *ic) : Object(ic) @@ -226,7 +226,7 @@ uint RegExpObject::flags() const return f; } -DEFINE_OBJECT_VTABLE_NO_DESTROY(RegExpCtor); +DEFINE_OBJECT_VTABLE(RegExpCtor); RegExpCtor::RegExpCtor(ExecutionContext *scope) : FunctionObject(scope, QStringLiteral("RegExp")) diff --git a/src/qml/jsruntime/qv4script.cpp b/src/qml/jsruntime/qv4script.cpp index e3fc156987..36f61a1df5 100644 --- a/src/qml/jsruntime/qv4script.cpp +++ b/src/qml/jsruntime/qv4script.cpp @@ -164,7 +164,7 @@ Returned<FunctionObject> *QmlBindingWrapper::createQmlCallableForFunction(QQmlCo return function->asReturned<FunctionObject>(); } -DEFINE_OBJECT_VTABLE_NO_DESTROY(QmlBindingWrapper); +DEFINE_OBJECT_VTABLE(QmlBindingWrapper); struct CompilationUnitHolder : public QV4::Object { diff --git a/src/qml/jsruntime/qv4stringobject.cpp b/src/qml/jsruntime/qv4stringobject.cpp index 5385a7618c..f1e51703a8 100644 --- a/src/qml/jsruntime/qv4stringobject.cpp +++ b/src/qml/jsruntime/qv4stringobject.cpp @@ -75,7 +75,7 @@ using namespace QV4; -DEFINE_OBJECT_VTABLE_NO_DESTROY(StringObject); +DEFINE_OBJECT_VTABLE(StringObject); StringObject::StringObject(InternalClass *ic) : Object(ic) @@ -171,7 +171,7 @@ void StringObject::markObjects(Managed *that, ExecutionEngine *e) Object::markObjects(that, e); } -DEFINE_OBJECT_VTABLE_NO_DESTROY(StringCtor); +DEFINE_OBJECT_VTABLE(StringCtor); StringCtor::StringCtor(ExecutionContext *scope) : FunctionObject(scope, QStringLiteral("String")) diff --git a/src/qml/qml/qqmlcontextwrapper.cpp b/src/qml/qml/qqmlcontextwrapper.cpp index 1480625974..a5574b706a 100644 --- a/src/qml/qml/qqmlcontextwrapper.cpp +++ b/src/qml/qml/qqmlcontextwrapper.cpp @@ -437,7 +437,7 @@ ReturnedValue QmlContextWrapper::qmlSingletonWrapper(QV8Engine *v8, const String return QJSValuePrivate::get(siinfo->scriptApi(e))->getValue(engine()); } -DEFINE_OBJECT_VTABLE_NO_DESTROY(QQmlIdObjectsArray); +DEFINE_OBJECT_VTABLE(QQmlIdObjectsArray); QQmlIdObjectsArray::QQmlIdObjectsArray(ExecutionEngine *engine, QmlContextWrapper *contextWrapper) : Object(engine) diff --git a/src/qml/qml/qqmlxmlhttprequest.cpp b/src/qml/qml/qqmlxmlhttprequest.cpp index 1a8564d111..d89dc92b68 100644 --- a/src/qml/qml/qqmlxmlhttprequest.cpp +++ b/src/qml/qml/qqmlxmlhttprequest.cpp @@ -302,7 +302,7 @@ public: }; -DEFINE_OBJECT_VTABLE_NO_DESTROY(NodePrototype); +DEFINE_OBJECT_VTABLE(NodePrototype); class Node : public Object { @@ -1696,7 +1696,7 @@ struct QQmlXMLHttpRequestCtor : public FunctionObject Object *proto; }; -DEFINE_OBJECT_VTABLE_NO_DESTROY(QQmlXMLHttpRequestCtor); +DEFINE_OBJECT_VTABLE(QQmlXMLHttpRequestCtor); void QQmlXMLHttpRequestCtor::setupProto() { diff --git a/src/qml/qml/v8/qqmlbuiltinfunctions.cpp b/src/qml/qml/v8/qqmlbuiltinfunctions.cpp index 03e2830fee..67e9e80efb 100644 --- a/src/qml/qml/v8/qqmlbuiltinfunctions.cpp +++ b/src/qml/qml/v8/qqmlbuiltinfunctions.cpp @@ -78,7 +78,7 @@ QT_BEGIN_NAMESPACE using namespace QV4; -DEFINE_OBJECT_VTABLE_NO_DESTROY(QtObject); +DEFINE_OBJECT_VTABLE(QtObject); struct StaticQtMetaObject : public QObject { diff --git a/src/qml/types/qqmldelegatemodel.cpp b/src/qml/types/qqmldelegatemodel.cpp index c86f1c989f..f7ce1c8fad 100644 --- a/src/qml/types/qqmldelegatemodel.cpp +++ b/src/qml/types/qqmldelegatemodel.cpp @@ -93,7 +93,7 @@ struct DelegateModelGroupFunction: QV4::FunctionObject } }; -DEFINE_OBJECT_VTABLE_NO_DESTROY(DelegateModelGroupFunction); +DEFINE_OBJECT_VTABLE(DelegateModelGroupFunction); @@ -3237,7 +3237,7 @@ struct QQmlDelegateModelGroupChange : QV4::Object QQmlChangeSet::Change change; }; -DEFINE_OBJECT_VTABLE_NO_DESTROY(QQmlDelegateModelGroupChange); +DEFINE_OBJECT_VTABLE(QQmlDelegateModelGroupChange); class QQmlDelegateModelGroupChangeArray : public QV4::Object { diff --git a/src/quick/items/context2d/qquickcontext2d.cpp b/src/quick/items/context2d/qquickcontext2d.cpp index 3ba84b5445..9b78b9e5e6 100644 --- a/src/quick/items/context2d/qquickcontext2d.cpp +++ b/src/quick/items/context2d/qquickcontext2d.cpp @@ -531,7 +531,7 @@ public: protected: }; -DEFINE_OBJECT_VTABLE_NO_DESTROY(QQuickJSContext2D); +DEFINE_OBJECT_VTABLE(QQuickJSContext2D); struct QQuickJSContext2DPrototype : public QV4::Object @@ -637,7 +637,7 @@ public: }; -DEFINE_OBJECT_VTABLE_NO_DESTROY(QQuickJSContext2DPrototype); +DEFINE_OBJECT_VTABLE(QQuickJSContext2DPrototype); class QQuickContext2DStyle : public QV4::Object @@ -919,7 +919,7 @@ struct QQuickJSContext2DImageData : public QV4::Object DEFINE_REF(QQuickJSContext2DImageData, QV4::Object); -DEFINE_OBJECT_VTABLE_NO_DESTROY(QQuickJSContext2DImageData); +DEFINE_OBJECT_VTABLE(QQuickJSContext2DImageData); static QV4::ReturnedValue qt_create_image_data(qreal w, qreal h, QV8Engine* engine, const QImage& image) { diff --git a/tools/qmljs/main.cpp b/tools/qmljs/main.cpp index 26376faa69..aaddfbf904 100644 --- a/tools/qmljs/main.cpp +++ b/tools/qmljs/main.cpp @@ -90,7 +90,7 @@ struct Print: FunctionObject } }; -DEFINE_OBJECT_VTABLE_NO_DESTROY(Print); +DEFINE_OBJECT_VTABLE(Print); struct GC: public FunctionObject { @@ -107,7 +107,7 @@ struct GC: public FunctionObject } }; -DEFINE_OBJECT_VTABLE_NO_DESTROY(GC); +DEFINE_OBJECT_VTABLE(GC); } // builtins |