aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4managed_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@theqtcompany.com>2015-08-07 13:56:31 +0200
committerLars Knoll <lars.knoll@theqtcompany.com>2015-08-10 07:24:32 +0000
commit415f55d1400f6abdd3a8e3edaf5ff208ecdad216 (patch)
tree88e75e6c2b5d3b757ac59b644f71410158201354 /src/qml/jsruntime/qv4managed_p.h
parentf21e8c641af6b2d10f0d7e7e0fc6a755dab3673c (diff)
Encapsulate and protect all accesses to the vtable of Heap objects
This is required, so we can safely access the vtable even while we're marking objects during GC. Change-Id: I34f56b61b4bca0d0742faf607eb5ab8b2c30685e Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Diffstat (limited to 'src/qml/jsruntime/qv4managed_p.h')
-rw-r--r--src/qml/jsruntime/qv4managed_p.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/qml/jsruntime/qv4managed_p.h b/src/qml/jsruntime/qv4managed_p.h
index e0ad0d89e3..9b7df9e68e 100644
--- a/src/qml/jsruntime/qv4managed_p.h
+++ b/src/qml/jsruntime/qv4managed_p.h
@@ -148,15 +148,15 @@ public:
};
Q_MANAGED_TYPE(Invalid)
- bool isListType() const { return d()->vtable->type == Type_QmlSequence; }
+ bool isListType() const { return d()->vtable()->type == Type_QmlSequence; }
- bool isArrayObject() const { return d()->vtable->type == Type_ArrayObject; }
- bool isStringObject() const { return d()->vtable->type == Type_StringObject; }
+ bool isArrayObject() const { return d()->vtable()->type == Type_ArrayObject; }
+ bool isStringObject() const { return d()->vtable()->type == Type_StringObject; }
QString className() const;
bool isEqualTo(const Managed *other) const
- { return d()->vtable->isEqualTo(const_cast<Managed *>(this), const_cast<Managed *>(other)); }
+ { return d()->vtable()->isEqualTo(const_cast<Managed *>(this), const_cast<Managed *>(other)); }
static bool isEqualTo(Managed *m, Managed *other);
@@ -180,7 +180,7 @@ inline const Managed *Value::as() const {
template<>
inline const Object *Value::as() const {
- return isManaged() && m() && m()->vtable->isObject ? objectValue() : 0;
+ return isManaged() && m() && m()->vtable()->isObject ? objectValue() : 0;
}
}