aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jit/qv4isel_masm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/jit/qv4isel_masm.cpp')
-rw-r--r--src/qml/jit/qv4isel_masm.cpp79
1 files changed, 2 insertions, 77 deletions
diff --git a/src/qml/jit/qv4isel_masm.cpp b/src/qml/jit/qv4isel_masm.cpp
index d3c624ff60..a45d74bb4c 100644
--- a/src/qml/jit/qv4isel_masm.cpp
+++ b/src/qml/jit/qv4isel_masm.cpp
@@ -49,7 +49,6 @@
#include "qv4assembler_p.h"
#include "qv4unop_p.h"
#include "qv4binop_p.h"
-#include <private/qqmlpropertycache_p.h>
#include <QtCore/QBuffer>
#include <QtCore/QCoreApplication>
@@ -754,39 +753,8 @@ void InstructionSelection::getProperty(IR::Expr *base, const QString &name, IR::
}
}
-void InstructionSelection::getQmlContextProperty(IR::Expr *base, IR::Member::MemberKind kind, QQmlPropertyData *property, int index, IR::Expr *target)
+void InstructionSelection::getQmlContextProperty(IR::Expr *base, IR::Member::MemberKind kind, int index, IR::Expr *target)
{
- if (property && property->hasAccessors() && property->isFullyResolved()) {
- if (kind == IR::Member::MemberOfQmlScopeObject) {
- if (property->propType == QMetaType::QReal) {
- generateRuntimeCall(target, accessQmlScopeObjectQRealProperty,
- Assembler::PointerToValue(base),
- Assembler::TrustedImmPtr(property->accessors));
- return;
- } else if (property->isQObject()) {
- generateRuntimeCall(target, accessQmlScopeObjectQObjectProperty,
- Assembler::PointerToValue(base),
- Assembler::TrustedImmPtr(property->accessors));
- return;
- } else if (property->propType == QMetaType::Int) {
- generateRuntimeCall(target, accessQmlScopeObjectIntProperty,
- Assembler::PointerToValue(base),
- Assembler::TrustedImmPtr(property->accessors));
- return;
- } else if (property->propType == QMetaType::Bool) {
- generateRuntimeCall(target, accessQmlScopeObjectBoolProperty,
- Assembler::PointerToValue(base),
- Assembler::TrustedImmPtr(property->accessors));
- return;
- } else if (property->propType == QMetaType::QString) {
- generateRuntimeCall(target, accessQmlScopeObjectQStringProperty,
- Assembler::PointerToValue(base),
- Assembler::TrustedImmPtr(property->accessors));
- return;
- }
- }
- }
-
if (kind == IR::Member::MemberOfQmlScopeObject)
generateRuntimeCall(target, getQmlScopeObjectProperty, Assembler::EngineRegister, Assembler::PointerToValue(base), Assembler::TrustedImm32(index));
else if (kind == IR::Member::MemberOfQmlContextObject)
@@ -797,51 +765,8 @@ void InstructionSelection::getQmlContextProperty(IR::Expr *base, IR::Member::Mem
Q_ASSERT(false);
}
-void InstructionSelection::getQObjectProperty(IR::Expr *base, QQmlPropertyData *property, bool captureRequired, bool isSingleton, int attachedPropertiesId, IR::Expr *target)
+void InstructionSelection::getQObjectProperty(IR::Expr *base, int propertyIndex, bool captureRequired, bool isSingleton, int attachedPropertiesId, IR::Expr *target)
{
- if (property && property->hasAccessors() && property->isFullyResolved()) {
- if (!attachedPropertiesId && !isSingleton) {
- const int notifyIndex = captureRequired ? property->notifyIndex : -1;
- if (property->propType == QMetaType::QReal) {
- generateRuntimeCall(target, accessQObjectQRealProperty,
- Assembler::EngineRegister, Assembler::PointerToValue(base),
- Assembler::TrustedImmPtr(property->accessors),
- Assembler::TrustedImm32(property->coreIndex),
- Assembler::TrustedImm32(notifyIndex));
- return;
- } else if (property->isQObject()) {
- generateRuntimeCall(target, accessQObjectQObjectProperty,
- Assembler::EngineRegister, Assembler::PointerToValue(base),
- Assembler::TrustedImmPtr(property->accessors),
- Assembler::TrustedImm32(property->coreIndex),
- Assembler::TrustedImm32(notifyIndex));
- return;
- } else if (property->propType == QMetaType::Int) {
- generateRuntimeCall(target, accessQObjectIntProperty,
- Assembler::EngineRegister, Assembler::PointerToValue(base),
- Assembler::TrustedImmPtr(property->accessors),
- Assembler::TrustedImm32(property->coreIndex),
- Assembler::TrustedImm32(notifyIndex));
- return;
- } else if (property->propType == QMetaType::Bool) {
- generateRuntimeCall(target, accessQObjectBoolProperty,
- Assembler::EngineRegister, Assembler::PointerToValue(base),
- Assembler::TrustedImmPtr(property->accessors),
- Assembler::TrustedImm32(property->coreIndex),
- Assembler::TrustedImm32(notifyIndex));
- return;
- } else if (property->propType == QMetaType::QString) {
- generateRuntimeCall(target, accessQObjectQStringProperty,
- Assembler::EngineRegister, Assembler::PointerToValue(base),
- Assembler::TrustedImmPtr(property->accessors),
- Assembler::TrustedImm32(property->coreIndex),
- Assembler::TrustedImm32(notifyIndex));
- return;
- }
- }
- }
-
- const int propertyIndex = property->coreIndex;
if (attachedPropertiesId != 0)
generateRuntimeCall(target, getQmlAttachedProperty, Assembler::EngineRegister, Assembler::TrustedImm32(attachedPropertiesId), Assembler::TrustedImm32(propertyIndex));
else if (isSingleton)