<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qt/qtdeclarative.git/src/qmlcompiler/qqmljsbasicblocks.cpp, branch 6.5</title>
<subtitle>Qt Declarative (Quick 2)
</subtitle>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/'/>
<entry>
<title>Merge tag 'v6.5.10-lts' into tqtc/lts-6.5-opensource</title>
<updated>2026-08-20T12:41:16+00:00</updated>
<author>
<name>Tarja Sundqvist</name>
<email>tarja.sundqvist@qt.io</email>
</author>
<published>2026-08-20T12:41:16+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=ae5bbc665633ea99eb26800eb5a8978d2213a2c2'/>
<id>ae5bbc665633ea99eb26800eb5a8978d2213a2c2</id>
<content type='text'>
Qt 6.5.10-lts release

Conflicts solved:
	dependencies.yaml

Change-Id: I30aa1cd656455861044ba1c3c8075f52d20dc2e8
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Qt 6.5.10-lts release

Conflicts solved:
	dependencies.yaml

Change-Id: I30aa1cd656455861044ba1c3c8075f52d20dc2e8
</pre>
</div>
</content>
</entry>
<entry>
<title>QmlCompiler: Discern between different kinds of side effects</title>
<updated>2025-07-01T07:52:07+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2025-06-20T11:17:31+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=81e8b11adc71205d3c1f19ea86c3ce8afdecb53f'/>
<id>81e8b11adc71205d3c1f19ea86c3ce8afdecb53f</id>
<content type='text'>
A mere jump does not cause all value types and lists to be invalidated.
Only calls to other functions or writes to other properties do that.

Fixes: QTBUG-137540
Change-Id: I069c6873455c51bbea59cf876d2bc7ecd188f81b
Reviewed-by: Olivier De Cannière &lt;olivier.decanniere@qt.io&gt;
(cherry picked from commit 6b14ba5c2fbc2810bb62a87008e338cca571acf6)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit bb98127e33046af10d7a4437239fdf03de5f2ea8)
(cherry picked from commit ca8b14febb685df22a259f46a8ff60db597da946)
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
(cherry picked from commit 564d2eb26c6c938dcd3ab94209cd0b96abdabe80)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A mere jump does not cause all value types and lists to be invalidated.
Only calls to other functions or writes to other properties do that.

Fixes: QTBUG-137540
Change-Id: I069c6873455c51bbea59cf876d2bc7ecd188f81b
Reviewed-by: Olivier De Cannière &lt;olivier.decanniere@qt.io&gt;
(cherry picked from commit 6b14ba5c2fbc2810bb62a87008e338cca571acf6)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit bb98127e33046af10d7a4437239fdf03de5f2ea8)
(cherry picked from commit ca8b14febb685df22a259f46a8ff60db597da946)
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
(cherry picked from commit 564d2eb26c6c938dcd3ab94209cd0b96abdabe80)
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "Update commercial SPDX-License-Identifier"</title>
<updated>2025-06-02T06:01:16+00:00</updated>
<author>
<name>Tarja Sundqvist</name>
<email>tarja.sundqvist@qt.io</email>
</author>
<published>2025-05-30T09:58:32+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=ab97288de27970ba3cb0300158df757c01dabd77'/>
<id>ab97288de27970ba3cb0300158df757c01dabd77</id>
<content type='text'>
This reverts commit 6517e8df24d2381e951b9ec3e0cda2ae33edac37.

Commercial SPDX license identifiers need to be removed from
the opensource release.

Change-Id: I60f8c76ace400db6182e012c8aae050d13d262e9
Reviewed-by: Jani Heikkinen &lt;jani.heikkinen@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 6517e8df24d2381e951b9ec3e0cda2ae33edac37.

Commercial SPDX license identifiers need to be removed from
the opensource release.

Change-Id: I60f8c76ace400db6182e012c8aae050d13d262e9
Reviewed-by: Jani Heikkinen &lt;jani.heikkinen@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QmlCompiler: Use a hash set for the list of conversions</title>
<updated>2024-01-22T10:23:36+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2024-01-18T09:04:17+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=1245fb8cad50a79e53c5c95380c6bf5809c3e973'/>
<id>1245fb8cad50a79e53c5c95380c6bf5809c3e973</id>
<content type='text'>
There can be a lot of them and we don't want quadratic behavior. It might be possible to further improve on this using e.g. sorted lists
and algorithms provided by the STL. However, such an implementation
would be more complicated and would require weighing several trade-offs.

Fixes: QTBUG-121139
Change-Id: I717b49bd4af97abcaae9ae78d1e1b31d5d462952
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
Reviewed-by: Marc Mutz &lt;marc.mutz@qt.io&gt;
(cherry picked from commit af212e5e4edb73978298cd030b15deb8d8c28183)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 2108e416eabc68c0136faa5041d80866ce1da716)
(cherry picked from commit 2c460deadc08da2a43da7fc2b96452477c74fafd)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There can be a lot of them and we don't want quadratic behavior. It might be possible to further improve on this using e.g. sorted lists
and algorithms provided by the STL. However, such an implementation
would be more complicated and would require weighing several trade-offs.

Fixes: QTBUG-121139
Change-Id: I717b49bd4af97abcaae9ae78d1e1b31d5d462952
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
Reviewed-by: Marc Mutz &lt;marc.mutz@qt.io&gt;
(cherry picked from commit af212e5e4edb73978298cd030b15deb8d8c28183)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 2108e416eabc68c0136faa5041d80866ce1da716)
(cherry picked from commit 2c460deadc08da2a43da7fc2b96452477c74fafd)
</pre>
</div>
</content>
</entry>
<entry>
<title>QmlCompiler: Do not adjust renames</title>
<updated>2023-12-18T15:06:25+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2023-12-06T15:22:22+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=4641284889eabcf3b639e016259ec90afceb9dcf'/>
<id>4641284889eabcf3b639e016259ec90afceb9dcf</id>
<content type='text'>
A rename always produces a register with exactly one tracked type, but
we do not want to use it as base for the type adjustments. We want to
adjust based on the original location and its readers (which includes
any renames).

Change-Id: Iaefdf56992c7c101a35a056fb93c49ade5ccf393
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
Reviewed-by: Sami Shalayel &lt;sami.shalayel@qt.io&gt;
(cherry picked from commit 9f8193b65b0302854068b69bc1c9a46de2eb0a36)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 9b89a021c3d146576c063928199ba7ba45645512)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A rename always produces a register with exactly one tracked type, but
we do not want to use it as base for the type adjustments. We want to
adjust based on the original location and its readers (which includes
any renames).

Change-Id: Iaefdf56992c7c101a35a056fb93c49ade5ccf393
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
Reviewed-by: Sami Shalayel &lt;sami.shalayel@qt.io&gt;
(cherry picked from commit 9f8193b65b0302854068b69bc1c9a46de2eb0a36)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 9b89a021c3d146576c063928199ba7ba45645512)
</pre>
</div>
</content>
</entry>
<entry>
<title>Update commercial SPDX-License-Identifier</title>
<updated>2023-12-13T16:58:36+00:00</updated>
<author>
<name>Tarja Sundqvist</name>
<email>tarja.sundqvist@qt.io</email>
</author>
<published>2023-12-08T15:16:30+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=6517e8df24d2381e951b9ec3e0cda2ae33edac37'/>
<id>6517e8df24d2381e951b9ec3e0cda2ae33edac37</id>
<content type='text'>
Some files in tqtc-qtdeclarative were missing the commercial
SPDX-License-Identifier. Build files, examples, tests, or
documentation are not updated.

Task-number: QTQAINFRA-5900
Change-Id: I2cad9a7a271b0b3f3af3074259614b890b266a91
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
(cherry picked from commit 132fe2df41fc5e69fec39440b35137d5f0d63f6e)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some files in tqtc-qtdeclarative were missing the commercial
SPDX-License-Identifier. Build files, examples, tests, or
documentation are not updated.

Task-number: QTQAINFRA-5900
Change-Id: I2cad9a7a271b0b3f3af3074259614b890b266a91
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
(cherry picked from commit 132fe2df41fc5e69fec39440b35137d5f0d63f6e)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QmlCompiler: Properly reset before re-running basic blocks pass</title>
<updated>2023-06-22T06:50:02+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2023-06-21T07:19:16+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=bb08f1e5afc1916ec4f884627e36c2a221d5f9a5'/>
<id>bb08f1e5afc1916ec4f884627e36c2a221d5f9a5</id>
<content type='text'>
If we were within dead code at the end of the previous run we need to
reset the "skip until next label" flag. Otherwise we still assume we're
in dead code at the beginning of the function, with interesting effects.

Fixes: QTBUG-114476
Change-Id: Ib6e3d6c81aad4c8aaac12accdb3936e4136235fc
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
(cherry picked from commit dae48cf190c282ef65df94ef7148a93cf3306e2d)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If we were within dead code at the end of the previous run we need to
reset the "skip until next label" flag. Otherwise we still assume we're
in dead code at the beginning of the function, with interesting effects.

Fixes: QTBUG-114476
Change-Id: Ib6e3d6c81aad4c8aaac12accdb3936e4136235fc
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
(cherry picked from commit dae48cf190c282ef65df94ef7148a93cf3306e2d)
</pre>
</div>
</content>
</entry>
<entry>
<title>QmlCompiler: Disallow reading from values affected by side effects</title>
<updated>2023-05-05T11:51:51+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2023-04-28T12:02:20+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=a401d523fb514e88e29062c50c56b1adb369e71f'/>
<id>a401d523fb514e88e29062c50c56b1adb369e71f</id>
<content type='text'>
Instead of accepting the inconsistency between interpreter and compiled
code here, we can just detect whether a value can be affected by side
effects and refrain from reading it then. Since you can always
explicitly reload a value that may have been changed, the resulting
compile warnings are easily worked around in user code. Refactoring user
code this way also makes it much clearer what is actually going on.

Task-number: QTBUG-109221
Change-Id: Ica832e39838ef732b0d181364630737fd7709b74
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
(cherry picked from commit 4634b6bf54e5ba15aa2e8efc12feb156e3d9c309)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of accepting the inconsistency between interpreter and compiled
code here, we can just detect whether a value can be affected by side
effects and refrain from reading it then. Since you can always
explicitly reload a value that may have been changed, the resulting
compile warnings are easily worked around in user code. Refactoring user
code this way also makes it much clearer what is actually going on.

Task-number: QTBUG-109221
Change-Id: Ica832e39838ef732b0d181364630737fd7709b74
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
(cherry picked from commit 4634b6bf54e5ba15aa2e8efc12feb156e3d9c309)
</pre>
</div>
</content>
</entry>
<entry>
<title>qmlcompiler: Deduplicate instructionManipulatesContext()</title>
<updated>2023-02-08T07:10:49+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2023-02-07T08:52:14+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=b6e10a0415551fc7fdb9e1bcb7af8e13ae865001'/>
<id>b6e10a0415551fc7fdb9e1bcb7af8e13ae865001</id>
<content type='text'>
We use it in three different compile passes, so it should be a member of
QQmlJSCompilePass.

Change-Id: Ibc46ceb7ab05839b0a573c8ab3ee2acf4a6de154
Reviewed-by: Sami Shalayel &lt;sami.shalayel@qt.io&gt;
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
(cherry picked from commit 26f84f5e5856158bf85d04f00aecbaa4943cf544)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We use it in three different compile passes, so it should be a member of
QQmlJSCompilePass.

Change-Id: Ibc46ceb7ab05839b0a573c8ab3ee2acf4a6de154
Reviewed-by: Sami Shalayel &lt;sami.shalayel@qt.io&gt;
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
(cherry picked from commit 26f84f5e5856158bf85d04f00aecbaa4943cf544)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Port from qAsConst() to std::as_const()</title>
<updated>2022-10-07T21:38:56+00:00</updated>
<author>
<name>Marc Mutz</name>
<email>marc.mutz@qt.io</email>
</author>
<published>2022-10-06T09:30:50+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=c2d490a2385ea6f389340a296acaac0fa198c8b9'/>
<id>c2d490a2385ea6f389340a296acaac0fa198c8b9</id>
<content type='text'>
We've been requiring C++17 since Qt 6.0, and our qAsConst use finally
starts to bother us (QTBUG-99313), so time to port away from it
now.

Since qAsConst has exactly the same semantics as std::as_const (down
to rvalue treatment, constexpr'ness and noexcept'ness), there's really
nothing more to it than a global search-and-replace.

Task-number: QTBUG-99313
Change-Id: I601bf70f020f511019ed28731ba53b14b765dbf0
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We've been requiring C++17 since Qt 6.0, and our qAsConst use finally
starts to bother us (QTBUG-99313), so time to port away from it
now.

Since qAsConst has exactly the same semantics as std::as_const (down
to rvalue treatment, constexpr'ness and noexcept'ness), there's really
nothing more to it than a global search-and-replace.

Task-number: QTBUG-99313
Change-Id: I601bf70f020f511019ed28731ba53b14b765dbf0
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
</pre>
</div>
</content>
</entry>
</feed>
