diff options
author | Jan Arve Saether <jan-arve.saether@qt.io> | 2017-06-26 18:38:27 +0200 |
---|---|---|
committer | Jan Arve Saether <jan-arve.saether@qt.io> | 2017-07-11 16:44:33 +0200 |
commit | b6e6e737f1a4a7e48989a6a036e25c238304802f (patch) | |
tree | 8d4b5940b92ad1fc94e46c1742acd9355e19e1d4 /src/qml/memory/qv4heap_p.h | |
parent | d5b3f5da9cfa90fc43f29f3bdeec01884a47d6ca (diff) | |
parent | 4beee1a6dcc1be57aa6fb2a175dadc6ff298545d (diff) |
Merge remote-tracking branch 'origin/dev' into wip/pointerhandler
Conflicts:
examples/quick/shared/LauncherList.qml
src/quick/items/qquickevents.cpp
src/quick/items/qquickevents_p_p.h
src/quick/items/qquickwindow.cpp
tests/auto/quick/touchmouse/tst_touchmouse.cpp
Change-Id: Id692d291455093fc72db61f1b854f3fc9190267b
Diffstat (limited to 'src/qml/memory/qv4heap_p.h')
-rw-r--r-- | src/qml/memory/qv4heap_p.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/qml/memory/qv4heap_p.h b/src/qml/memory/qv4heap_p.h index a38a938588..f00ce4283c 100644 --- a/src/qml/memory/qv4heap_p.h +++ b/src/qml/memory/qv4heap_p.h @@ -53,6 +53,7 @@ #include <QtCore/QString> #include <private/qv4global_p.h> #include <private/qv4mmdefs_p.h> +#include <private/qv4internalclass_p.h> #include <QSharedPointer> // To check if Heap::Base::init is called (meaning, all subclasses did their init and called their @@ -69,10 +70,14 @@ QT_BEGIN_NAMESPACE namespace QV4 { +struct InternalClass; + struct VTable { const VTable * const parent; const quint64 markTable; + uint inlinePropertyOffset : 16; + uint nInlineProperties : 16; uint isExecutionContext : 1; uint isString : 1; uint isObject : 1; @@ -94,13 +99,12 @@ struct Q_QML_EXPORT Base { static Q_CONSTEXPR quint64 markTable = 0; - const VTable *vt; + InternalClass *internalClass; inline ReturnedValue asReturnedValue() const; inline void mark(QV4::MarkStack *markStack); - void setVtable(const VTable *v) { vt = v; } - const VTable *vtable() const { return vt; } + const VTable *vtable() const { return internalClass->vtable; } inline bool isMarked() const { const HeapItem *h = reinterpret_cast<const HeapItem *>(this); Chunk *c = h->chunk(); @@ -175,7 +179,7 @@ V4_ASSERT_IS_TRIVIAL(Base) // for a size/offset translation when cross-compiling between 32- and // 64-bit. Q_STATIC_ASSERT(std::is_standard_layout<Base>::value); -Q_STATIC_ASSERT(offsetof(Base, vt) == 0); +Q_STATIC_ASSERT(offsetof(Base, internalClass) == 0); Q_STATIC_ASSERT(sizeof(Base) == QT_POINTER_SIZE); } |