<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qt/qtdeclarative.git/src/qml/jsruntime, branch v5.13.2</title>
<subtitle>Qt Declarative (Quick 2)
</subtitle>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/'/>
<entry>
<title>Be more fussy about the MakeDay() calculation</title>
<updated>2019-10-08T19:21:29+00:00</updated>
<author>
<name>Edward Welbourne</name>
<email>edward.welbourne@qt.io</email>
</author>
<published>2019-10-07T09:09:47+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=290dc2da70655db9d4590600dfd37b825b81c1f8'/>
<id>290dc2da70655db9d4590600dfd37b825b81c1f8</id>
<content type='text'>
The ES Date spec goes into minute detail about doing various
algorithms in the dumbest possible way (like InLeapYear() calling
DaysInYear(), rather than the other way round) but, in MakeDay(),
leaves the implementation to solve the problem of finding the start of
the first day of a specified month in a given year. So exercise the
freedom we have in that to be a little more robust; and actually check
we have met the conditions the spec requires, returning NaN (as
specified) if not.

Added tests for some denormal dates and date-times and for a date
mentioned in QTBUG-78996.

Task-number: QTBUG-78996
Change-Id: I8d9a841dd1f1d9995273a3de8f6f9130207c7c2b
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
Reviewed-by: Qt CI Bot &lt;qt_ci_bot@qt-project.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The ES Date spec goes into minute detail about doing various
algorithms in the dumbest possible way (like InLeapYear() calling
DaysInYear(), rather than the other way round) but, in MakeDay(),
leaves the implementation to solve the problem of finding the start of
the first day of a specified month in a given year. So exercise the
freedom we have in that to be a little more robust; and actually check
we have met the conditions the spec requires, returning NaN (as
specified) if not.

Added tests for some denormal dates and date-times and for a date
mentioned in QTBUG-78996.

Task-number: QTBUG-78996
Change-Id: I8d9a841dd1f1d9995273a3de8f6f9130207c7c2b
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
Reviewed-by: Qt CI Bot &lt;qt_ci_bot@qt-project.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QMLJS: Fix exception handling in promises</title>
<updated>2019-09-23T09:00:55+00:00</updated>
<author>
<name>Fabian Kosmale</name>
<email>fabian.kosmale@qt.io</email>
</author>
<published>2019-09-20T14:38:30+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=36be27265d61c76b25417a25e482030e30ff380f'/>
<id>36be27265d61c76b25417a25e482030e30ff380f</id>
<content type='text'>
If an exception is thrown inside a promise's resolve or reject
handler, the promise needs to resolve into a rejected state with the
exceptions value. The value was previously not set.

Fixes: QTBUG-78554
Change-Id: Ic22faa6ef1e519e4cae6732c69bb14f7053d13da
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
Reviewed-by: Qt CI Bot &lt;qt_ci_bot@qt-project.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If an exception is thrown inside a promise's resolve or reject
handler, the promise needs to resolve into a rejected state with the
exceptions value. The value was previously not set.

Fixes: QTBUG-78554
Change-Id: Ic22faa6ef1e519e4cae6732c69bb14f7053d13da
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
Reviewed-by: Qt CI Bot &lt;qt_ci_bot@qt-project.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'origin/5.12' into 5.13</title>
<updated>2019-09-12T17:49:23+00:00</updated>
<author>
<name>Qt Forward Merge Bot</name>
<email>qt_forward_merge_bot@qt-project.org</email>
</author>
<published>2019-09-12T17:49:23+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=9a1e4ffa661648f4d5715874bbf2470bd5ec489b'/>
<id>9a1e4ffa661648f4d5715874bbf2470bd5ec489b</id>
<content type='text'>
Change-Id: I6472cd72b27c69257efe54376e428274ebf68050
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I6472cd72b27c69257efe54376e428274ebf68050
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix various accumulator-saving problems</title>
<updated>2019-09-03T11:21:10+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2019-06-13T10:29:02+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=db3dd029d7cd911712102efd5ea71868494f9f6f'/>
<id>db3dd029d7cd911712102efd5ea71868494f9f6f</id>
<content type='text'>
We need to keep the accumulator alive across function calls. This
requires:

1, Saving the accumulator on the stack if the function might allocate, to
   protect it from the garbage collector. However, we don't need to do
   that if the result of the function is to be saved in the accumulator
   and the function itself doesn't use the accumulator as argument. In
   this case the previous value becomes unaccessible and we might as
   well GC it.
2, In the JIT, restoring the accumulator from the stack after the
   function call if we want to ignore the return value.
3, Therefore, also saving the accumulator on the stack before calling in
   case of 2.

We assume that we don't need to keep the accumulator alive across the
jump to the exception handler. Saving the accumulator more often than
necessary is detrimental for performance. To make sure the assumption
holds, explicitly load the accumulator with undefined _before_ jumping
to any exception handler.

Change-Id: I78cbc42847b8885a0659b23f3b81655b7f1a0bc4
Reviewed-by: Simon Hausmann &lt;simon.hausmann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We need to keep the accumulator alive across function calls. This
requires:

1, Saving the accumulator on the stack if the function might allocate, to
   protect it from the garbage collector. However, we don't need to do
   that if the result of the function is to be saved in the accumulator
   and the function itself doesn't use the accumulator as argument. In
   this case the previous value becomes unaccessible and we might as
   well GC it.
2, In the JIT, restoring the accumulator from the stack after the
   function call if we want to ignore the return value.
3, Therefore, also saving the accumulator on the stack before calling in
   case of 2.

We assume that we don't need to keep the accumulator alive across the
jump to the exception handler. Saving the accumulator more often than
necessary is detrimental for performance. To make sure the assumption
holds, explicitly load the accumulator with undefined _before_ jumping
to any exception handler.

Change-Id: I78cbc42847b8885a0659b23f3b81655b7f1a0bc4
Reviewed-by: Simon Hausmann &lt;simon.hausmann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'origin/5.12' into 5.13</title>
<updated>2019-08-28T05:34:06+00:00</updated>
<author>
<name>Qt Forward Merge Bot</name>
<email>qt_forward_merge_bot@qt-project.org</email>
</author>
<published>2019-08-28T05:34:06+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=f6ab93a9f96b163cb82f4a2c0971d4fd5cc81fb4'/>
<id>f6ab93a9f96b163cb82f4a2c0971d4fd5cc81fb4</id>
<content type='text'>
Change-Id: I0ae0a162e133cffd8fb1a2c6b70826e50f06facd
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I0ae0a162e133cffd8fb1a2c6b70826e50f06facd
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix loading of ES modules when using CONFIG += qtquickcompiler</title>
<updated>2019-08-26T10:42:05+00:00</updated>
<author>
<name>Simon Hausmann</name>
<email>simon.hausmann@qt.io</email>
</author>
<published>2019-08-26T09:48:48+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=4b944cb61fb3ceee2f1b743823e4a83b686bafd6'/>
<id>4b944cb61fb3ceee2f1b743823e4a83b686bafd6</id>
<content type='text'>
Added the missing lookup for cached .mjs files in
ExecutionEngine::compileModule. This allows using .mjs files in
WorkerScript {} elements in conjunction with the Qt Quick Compiler and
also fixes the use when using QJSEngine::importModule.

[ChangeLog][QtQml] Fix loading of EcmaScript modules when using the Qt
Quick Compiler.

Fixes: QTBUG-77761
Change-Id: I58130b0468f4920b2f6c49b98a2f51d5ae3a0491
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Added the missing lookup for cached .mjs files in
ExecutionEngine::compileModule. This allows using .mjs files in
WorkerScript {} elements in conjunction with the Qt Quick Compiler and
also fixes the use when using QJSEngine::importModule.

[ChangeLog][QtQml] Fix loading of EcmaScript modules when using the Qt
Quick Compiler.

Fixes: QTBUG-77761
Change-Id: I58130b0468f4920b2f6c49b98a2f51d5ae3a0491
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'origin/5.12' into 5.13</title>
<updated>2019-07-12T10:00:31+00:00</updated>
<author>
<name>Qt Forward Merge Bot</name>
<email>qt_forward_merge_bot@qt-project.org</email>
</author>
<published>2019-07-11T23:00:58+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=b0a4c4808f54a2cbe64a75f1a5a341be420b584c'/>
<id>b0a4c4808f54a2cbe64a75f1a5a341be420b584c</id>
<content type='text'>
Required a change to a #include; qquicksinglepointhandler.cpp was (at
least on Android) only seeing QQuickSinglePointHandler as a forward
declaration, so dereferencing it was a problem.  The header that
defines it does #include the one it replaces here.

Change-Id: I6bc30ff9a91f55350172e4a4bcaaa7f99a2ffb28
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Required a change to a #include; qquicksinglepointhandler.cpp was (at
least on Android) only seeing QQuickSinglePointHandler as a forward
declaration, so dereferencing it was a problem.  The header that
defines it does #include the one it replaces here.

Change-Id: I6bc30ff9a91f55350172e4a4bcaaa7f99a2ffb28
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix promise chaining</title>
<updated>2019-07-10T14:28:38+00:00</updated>
<author>
<name>Fabian Kosmale</name>
<email>fabian.kosmale@qt.io</email>
</author>
<published>2019-07-09T14:39:25+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=f3d40896c1d8601703fcbf30214e22f50eb72727'/>
<id>f3d40896c1d8601703fcbf30214e22f50eb72727</id>
<content type='text'>
Fixes: QTBUG-71329
Change-Id: I261b25ff281bb44d03650ab05258743f104f3cc9
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes: QTBUG-71329
Change-Id: I261b25ff281bb44d03650ab05258743f104f3cc9
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'origin/5.12' into 5.13</title>
<updated>2019-06-28T11:28:10+00:00</updated>
<author>
<name>Qt Forward Merge Bot</name>
<email>qt_forward_merge_bot@qt-project.org</email>
</author>
<published>2019-06-28T11:28:09+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=63398defdbec12979b61120f690e984af0496c37'/>
<id>63398defdbec12979b61120f690e984af0496c37</id>
<content type='text'>
Change-Id: I59343fe228ca6b823b61577e5a0907e7381899c2
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I59343fe228ca6b823b61577e5a0907e7381899c2
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix thisObject when calling scope and context properties through lookups</title>
<updated>2019-06-26T13:48:00+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2019-06-26T12:37:36+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=5eceb1801ec881947f80f70f32ea46e00926194f'/>
<id>5eceb1801ec881947f80f70f32ea46e00926194f</id>
<content type='text'>
Just like resolving the lookup initially, we need to set the base also
when hitting the cached lookup code path. The base is then used as this
object.

Fixes: QTBUG-76656
Change-Id: I6f6be05bc9875ddccc6e112e91176a0fa24a8fa1
Reviewed-by: Michael Brasser &lt;michael.brasser@live.com&gt;
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
 
 </content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Just like resolving the lookup initially, we need to set the base also
when hitting the cached lookup code path. The base is then used as this
object.

Fixes: QTBUG-76656
Change-Id: I6f6be05bc9875ddccc6e112e91176a0fa24a8fa1
Reviewed-by: Michael Brasser &lt;michael.brasser@live.com&gt;
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
 
 </pre>
</div>
</content>
</entry>
</feed>
