aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qqmllanguage
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@qt.io>2016-08-10 11:45:24 +0200
committerSimon Hausmann <simon.hausmann@qt.io>2016-08-10 13:20:54 +0000
commit6fe7ccf59b917e9383c07c1e7a71631200590e3a (patch)
tree90ff95735566e64b098be0fd11633457ee09b1b7 /tests/auto/qml/qqmllanguage
parent9425f832cdc036818cb08d1bd1328345fcb6f2ff (diff)
V4: Fix JavaScript finally-block execution
After moving all runtime functions into the Runtime class and doing indirect function calls, the code generation would always emit code to check for an exception after a call. This is problematic for methods that do not throw, but might be called when an exception is thrown. I.e. in a finally block. This is especially problematic for methods like popScope, the very first runtime method that is called in a finally block. The result was that after popScope, execution was passed over to the exception handler block for that finally block (meaning: the body of the finally block was never executed). The fix is to declare an enumerator in an anonymous enum for each runtime method that indicates if an exception check is needed. The existing ExceptionCheck templates are used to set the value. Change-Id: I5bd8bcf2a92acabf2a33b3764447de6cc364bba9 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'tests/auto/qml/qqmllanguage')
0 files changed, 0 insertions, 0 deletions