aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4managed_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2014-05-06 08:44:30 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2014-07-22 13:49:10 +0200
commite391b6f08405a6a9d3470297fc5667f5c7a0c4a8 (patch)
treedfc2e00937ab6b7f121c2ec7cf7576ebe693a002 /src/qml/jsruntime/qv4managed_p.h
parentc9081fab7c63e50d2a3b7cfe3e78110a5922dc29 (diff)
Move MemberData over to new storage layout
Change-Id: I971b614d471e49d1be2e9474c985cb93ed7e2117 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4managed_p.h')
-rw-r--r--src/qml/jsruntime/qv4managed_p.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/qml/jsruntime/qv4managed_p.h b/src/qml/jsruntime/qv4managed_p.h
index 52c44895bf..3f16b0784a 100644
--- a/src/qml/jsruntime/qv4managed_p.h
+++ b/src/qml/jsruntime/qv4managed_p.h
@@ -70,6 +70,17 @@ inline void qYouForgotTheQ_MANAGED_Macro(T1, T2) {}
template <typename T> \
QV4::Returned<T> *asReturned() { return QV4::Returned<T>::create(this); } \
+#define V4_MANAGED_NEW \
+ public: \
+ Q_MANAGED_CHECK \
+ static const QV4::ManagedVTable static_vtbl; \
+ static inline const QV4::ManagedVTable *staticVTable() { return &static_vtbl; } \
+ template <typename T> \
+ QV4::Returned<T> *asReturned() { return QV4::Returned<T>::create(this); } \
+ void __dataTest() { Q_STATIC_ASSERT(sizeof(*this) == sizeof(Data)); } \
+ const Data *d() const { return &static_cast<const Data &>(Managed::data); } \
+ Data *d() { return &static_cast<Data &>(Managed::data); }
+
#define V4_OBJECT \
public: \
Q_MANAGED_CHECK \