aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2022-03-01 08:44:28 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-03-01 12:37:40 +0000
commitae7923fb380834dbe54a5eaa6f20ffaff10fd40c (patch)
tree4289d9f7b041f31a929774c17b0d57b56b9304a1 /src
parent9e14afa9a034e6cf9e34e1e81d6b0cc7509d7568 (diff)
QmlCompiler: On MoveReg, check if we need to move at all
As we don't store void, null and empty lists, moving those is a noop. Don't generate invalid code for that. Change-Id: Ica6714acd0ce8a5ddca44d9a397e776eb3df4247 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 074b66e0073b55d32060ffd542a02c811ad763a8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src')
-rw-r--r--src/qmlcompiler/qqmljscodegenerator.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/qmlcompiler/qqmljscodegenerator.cpp b/src/qmlcompiler/qqmljscodegenerator.cpp
index 5525dd2e96..644a1ec6fd 100644
--- a/src/qmlcompiler/qqmljscodegenerator.cpp
+++ b/src/qmlcompiler/qqmljscodegenerator.cpp
@@ -591,6 +591,8 @@ void QQmlJSCodeGenerator::generate_MoveReg(int srcReg, int destReg)
const QString destRegName = registerVariable(destReg);
m_body.setWriteRegister(destRegName);
+ if (destRegName.isEmpty())
+ return; // don't store things we cannot store.
m_body += destRegName;
m_body += u" = "_qs;
m_body += use(registerVariable(srcReg));