From b11ec085703a0b019c8115ff505ee6e2553fd4f1 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Sat, 5 Apr 2014 20:23:20 +0200 Subject: Move Managed data into it's own subclass This prepares for moving over to a d pointer scheme, where Managed subclasses don't hold any data directly. This is required to be able to move over to a modern GC. Change-Id: I3f59633ac07a7da461bd2d4f0f9f3a8e3b0baf02 Reviewed-by: Simon Hausmann --- src/qml/qml/v8/qv8engine.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/qml/qml/v8/qv8engine.cpp') diff --git a/src/qml/qml/v8/qv8engine.cpp b/src/qml/qml/v8/qv8engine.cpp index 8305649177..b0de533ea8 100644 --- a/src/qml/qml/v8/qv8engine.cpp +++ b/src/qml/qml/v8/qv8engine.cpp @@ -130,7 +130,7 @@ QVariant QV8Engine::toVariant(const QV4::ValueRef value, int typeHint) QV4::Scope scope(m_v4Engine); if (QV4::VariantObject *v = value->as()) - return v->data; + return v->QV4::ExecutionEngine::ScarceResourceData::data; if (typeHint == QVariant::Bool) return QVariant(value->toBoolean()); @@ -444,9 +444,9 @@ void QV8Engine::initializeGlobal() qt_add_sqlexceptions(m_v4Engine); { - for (uint i = 0; i < m_v4Engine->globalObject->internalClass->size; ++i) { - if (m_v4Engine->globalObject->internalClass->nameMap.at(i)) - m_illegalNames.insert(m_v4Engine->globalObject->internalClass->nameMap.at(i)->toQString()); + for (uint i = 0; i < m_v4Engine->globalObject->internalClass()->size; ++i) { + if (m_v4Engine->globalObject->internalClass()->nameMap.at(i)) + m_illegalNames.insert(m_v4Engine->globalObject->internalClass()->nameMap.at(i)->toQString()); } } @@ -882,7 +882,7 @@ bool QV8Engine::metaTypeFromJS(const QV4::ValueRef value, int type, void *data) return true; if (value->as() && name.endsWith('*')) { int valueType = QMetaType::type(name.left(name.size()-1)); - QVariant &var = value->as()->data; + QVariant &var = value->as()->QV4::ExecutionEngine::ScarceResourceData::data; if (valueType == var.userType()) { // We have T t, T* is requested, so return &t. *reinterpret_cast(data) = var.data(); @@ -893,7 +893,7 @@ bool QV8Engine::metaTypeFromJS(const QV4::ValueRef value, int type, void *data) while (proto) { bool canCast = false; if (QV4::VariantObject *vo = proto->as()) { - const QVariant &v = vo->data; + const QVariant &v = vo->QV4::ExecutionEngine::ScarceResourceData::data; canCast = (type == v.userType()) || (valueType && (valueType == v.userType())); } else if (proto->as()) { @@ -969,7 +969,7 @@ QVariant QV8Engine::variantFromJS(const QV4::ValueRef value, if (QV4::RegExpObject *re = value->as()) return re->toQRegExp(); if (QV4::VariantObject *v = value->as()) - return v->data; + return v->QV4::ExecutionEngine::ScarceResourceData::data; if (value->as()) return qVariantFromValue(qtObjectFromJS(value)); if (QV4::QmlValueTypeWrapper *v = value->as()) @@ -1003,7 +1003,7 @@ QObject *QV8Engine::qtObjectFromJS(const QV4::ValueRef value) QV4::Scoped v(scope, value); if (v) { - QVariant variant = v->data; + QVariant variant = v->QV4::ExecutionEngine::ScarceResourceData::data; int type = variant.userType(); if (type == QMetaType::QObjectStar) return *reinterpret_cast(variant.constData()); -- cgit v1.2.3