OpenCoverage

qv4compilercontrolflow_p.h

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qml/compiler/qv4compilercontrolflow_p.h
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4namespace QV4 {-
5-
6namespace Compiler {-
7-
8struct ControlFlow {-
9 using Reference = Codegen::Reference;-
10 using BytecodeGenerator = Moth::BytecodeGenerator;-
11 using Instruction = Moth::Instruction;-
12-
13 enum Type {-
14 Loop,-
15 With,-
16 Block,-
17 Finally,-
18 Catch-
19 };-
20-
21 enum UnwindType {-
22 Break,-
23 Continue,-
24 Return-
25 };-
26-
27 struct UnwindTarget {-
28 BytecodeGenerator::Label linkLabel;-
29 int unwindLevel;-
30 };-
31-
32 Codegen *cg;-
33 ControlFlow *parent;-
34 Type type;-
35-
36 ControlFlow(Codegen *cg, Type type)-
37 : cg(cg), parent(cg->controlFlow), type(type)-
38 {-
39 cg->controlFlow = this;-
40 }
executed 1808077 times by 76 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlmoduleplugin
  • ...
1808077
41-
42 virtual ~ControlFlow() {-
43 cg->controlFlow = parent;-
44 }
executed 1815632 times by 76 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlmoduleplugin
  • ...
1815632
45-
46 UnwindTarget unwindTarget(UnwindType type, const QString &label = QString())-
47 {-
48 ((type == Break || type == Continue || type == Return) ? static_cast<void>(0) : qt_assert("type == Break || type == Continue || type == Return", __FILE__, 104));-
49 ControlFlow *flow = this;-
50 int level = 0;-
51 while (flow
flowDescription
TRUEevaluated 553069 times by 28 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlcomponent
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlexpression
  • tst_qqmllistmodel
  • tst_qqmllocale
  • tst_qqmlnotifier
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickitem2
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickpositioners
  • tst_qquickvisualdatamodel
  • tst_qtqmlmodules
  • ...
FALSEevaluated 501977 times by 27 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qqmlcomponent
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlexpression
  • tst_qqmllistmodel
  • tst_qqmllocale
  • tst_qqmlnotifier
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickitem2
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickpositioners
  • tst_qquickvisualdatamodel
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • ...
) {
501977-553069
52 BytecodeGenerator::Label l = flow->getUnwindTarget(type, label);-
53 if (l.isValid()
l.isValid()Description
TRUEevaluated 18110 times by 10 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlecmascript
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_quicktestmainwithsetup
  • tst_testfiltering
FALSEevaluated 537738 times by 28 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlcomponent
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlexpression
  • tst_qqmllistmodel
  • tst_qqmllocale
  • tst_qqmlnotifier
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickitem2
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickpositioners
  • tst_qquickvisualdatamodel
  • tst_qtqmlmodules
  • ...
)
18110-537738
54 return
executed 18112 times by 10 tests: return UnwindTarget{l, level};
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlecmascript
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_quicktestmainwithsetup
  • tst_testfiltering
UnwindTarget{l, level};
executed 18112 times by 10 tests: return UnwindTarget{l, level};
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlecmascript
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_quicktestmainwithsetup
  • tst_testfiltering
18112
55 if (flow->requiresUnwind()
flow->requiresUnwind()Description
TRUEevaluated 82890 times by 13 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsengine
  • tst_qqmlconsole
  • tst_qqmlecmascript
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickitem2
  • tst_qquicklayouts
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_qv4debugger
  • tst_testfiltering
FALSEevaluated 452832 times by 26 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlcomponent
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlexpression
  • tst_qqmllistmodel
  • tst_qqmllocale
  • tst_qqmlnotifier
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickpositioners
  • tst_qquickvisualdatamodel
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • ...
)
82890-452832
56 ++
executed 82875 times by 13 tests: ++level;
Executed by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsengine
  • tst_qqmlconsole
  • tst_qqmlecmascript
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickitem2
  • tst_qquicklayouts
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_qv4debugger
  • tst_testfiltering
level;
executed 82875 times by 13 tests: ++level;
Executed by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsengine
  • tst_qqmlconsole
  • tst_qqmlecmascript
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickitem2
  • tst_qquicklayouts
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_qv4debugger
  • tst_testfiltering
82875
57 flow = flow->parent;-
58 }
executed 536372 times by 28 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlcomponent
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlexpression
  • tst_qqmllistmodel
  • tst_qqmllocale
  • tst_qqmlnotifier
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickitem2
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickpositioners
  • tst_qquickvisualdatamodel
  • tst_qtqmlmodules
  • ...
536372
59 if (type == Return
type == ReturnDescription
TRUEevaluated 502571 times by 27 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qqmlcomponent
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlexpression
  • tst_qqmllistmodel
  • tst_qqmllocale
  • tst_qqmlnotifier
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickitem2
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickpositioners
  • tst_qquickvisualdatamodel
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • ...
FALSEevaluated 6 times by 1 test
Evaluated by:
  • tst_qjsengine
)
6-502571
60 return
executed 505876 times by 27 tests: return UnwindTarget{ cg->returnLabel(), level };
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qqmlcomponent
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlexpression
  • tst_qqmllistmodel
  • tst_qqmllocale
  • tst_qqmlnotifier
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickitem2
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickpositioners
  • tst_qquickvisualdatamodel
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • ...
UnwindTarget{ cg->returnLabel(), level };
executed 505876 times by 27 tests: return UnwindTarget{ cg->returnLabel(), level };
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qqmlcomponent
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlexpression
  • tst_qqmllistmodel
  • tst_qqmllocale
  • tst_qqmlnotifier
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickitem2
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickpositioners
  • tst_qquickvisualdatamodel
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • ...
505876
61 return
executed 6 times by 1 test: return UnwindTarget();
Executed by:
  • tst_qjsengine
UnwindTarget();
executed 6 times by 1 test: return UnwindTarget();
Executed by:
  • tst_qjsengine
6
62 }-
63-
64 virtual QString label() const { return
executed 282 times by 3 tests: return QString();
Executed by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsengine
QString();
executed 282 times by 3 tests: return QString();
Executed by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsengine
}
282
65-
66 bool hasLoop() const {-
67 const ControlFlow *flow = this;-
68 while (flow
flowDescription
TRUEevaluated 2190619 times by 76 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlmoduleplugin
  • ...
FALSEevaluated 1672862 times by 76 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlmoduleplugin
  • ...
) {
1672862-2190619
69 if (flow->type == Loop
flow->type == LoopDescription
TRUEevaluated 64236 times by 26 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlcomponent
  • tst_qqmlecmascript
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickcustomaffector
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_qquickrepeater
  • tst_qquickvisualdatamodel
  • tst_qquickworkerscript
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_qv4debugger
  • tst_signalspy
  • ...
FALSEevaluated 2126927 times by 76 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlmoduleplugin
  • ...
)
64236-2126927
70 return
executed 64244 times by 26 tests: return true;
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlcomponent
  • tst_qqmlecmascript
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickcustomaffector
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_qquickrepeater
  • tst_qquickvisualdatamodel
  • tst_qquickworkerscript
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_qv4debugger
  • tst_signalspy
  • ...
true;
executed 64244 times by 26 tests: return true;
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlcomponent
  • tst_qqmlecmascript
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickcustomaffector
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_qquickrepeater
  • tst_qquickvisualdatamodel
  • tst_qquickworkerscript
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_qv4debugger
  • tst_signalspy
  • ...
64244
71 flow = flow->parent;-
72 }
executed 2128177 times by 76 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlmoduleplugin
  • ...
2128177
73 return
executed 1675981 times by 76 tests: return false;
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlmoduleplugin
  • ...
false;
executed 1675981 times by 76 tests: return false;
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlmoduleplugin
  • ...
1675981
74 }-
75-
76protected:-
77 virtual BytecodeGenerator::Label getUnwindTarget(UnwindType, const QString & = QString()) {-
78 return
executed 532531 times by 28 tests: return BytecodeGenerator::Label();
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlcomponent
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlexpression
  • tst_qqmllistmodel
  • tst_qqmllocale
  • tst_qqmlnotifier
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickitem2
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickpositioners
  • tst_qquickvisualdatamodel
  • tst_qtqmlmodules
  • ...
BytecodeGenerator::Label();
executed 532531 times by 28 tests: return BytecodeGenerator::Label();
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlcomponent
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlexpression
  • tst_qqmllistmodel
  • tst_qqmllocale
  • tst_qqmlnotifier
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickitem2
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickpositioners
  • tst_qquickvisualdatamodel
  • tst_qtqmlmodules
  • ...
532531
79 }-
80 virtual bool requiresUnwind() {-
81 return
never executed: return false;
false;
never executed: return false;
0
82 }-
83-
84public:-
85 BytecodeGenerator::ExceptionHandler *parentUnwindHandler() {-
86 return
executed 160405 times by 22 tests: return parent ? parent->unwindHandler() : nullptr;
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlconsole
  • tst_qqmlecmascript
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickitem2
  • tst_qquicklayouts
  • tst_qquickworkerscript
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_qv4debugger
  • tst_testfiltering
parent ? parent->unwindHandler() : nullptr;
executed 160405 times by 22 tests: return parent ? parent->unwindHandler() : nullptr;
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlconsole
  • tst_qqmlecmascript
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickitem2
  • tst_qquicklayouts
  • tst_qquickworkerscript
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_qv4debugger
  • tst_testfiltering
160405
87 }-
88-
89 virtual BytecodeGenerator::ExceptionHandler *unwindHandler() {-
90 return
never executed: return parentUnwindHandler();
parentUnwindHandler();
never executed: return parentUnwindHandler();
0
91 }-
92-
93-
94protected:-
95 QString loopLabel() const {-
96 QString label;-
97 if (cg->_labelledStatement
cg->_labelledStatementDescription
TRUEevaluated 603 times by 5 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
FALSEevaluated 29962 times by 32 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlcomponent
  • tst_qqmlecmascript
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickcustomaffector
  • tst_qquickgridview
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_qquickpositioners
  • tst_qquickrepeater
  • tst_qquickscreen
  • tst_qquickvisualdatamodel
  • ...
) {
603-29962
98 label = cg->_labelledStatement->label.toString();-
99 cg->_labelledStatement = nullptr;-
100 }
executed 603 times by 5 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
603
101 return
executed 30522 times by 32 tests: return label;
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlcomponent
  • tst_qqmlecmascript
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickcustomaffector
  • tst_qquickgridview
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_qquickpositioners
  • tst_qquickrepeater
  • tst_qquickscreen
  • tst_qquickvisualdatamodel
  • ...
label;
executed 30522 times by 32 tests: return label;
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlcomponent
  • tst_qqmlecmascript
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickcustomaffector
  • tst_qquickgridview
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_qquickpositioners
  • tst_qquickrepeater
  • tst_qquickscreen
  • tst_qquickvisualdatamodel
  • ...
30522
102 }-
103 BytecodeGenerator *generator() const {-
104 return
executed 862770 times by 22 tests: return cg->bytecodeGenerator;
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlconsole
  • tst_qqmlecmascript
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickitem2
  • tst_qquicklayouts
  • tst_qquickworkerscript
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_qv4debugger
  • tst_testfiltering
cg->bytecodeGenerator;
executed 862770 times by 22 tests: return cg->bytecodeGenerator;
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlconsole
  • tst_qqmlecmascript
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickitem2
  • tst_qquicklayouts
  • tst_qquickworkerscript
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_qv4debugger
  • tst_testfiltering
862770
105 }-
106};-
107-
108struct ControlFlowUnwind : public ControlFlow-
109{-
110 BytecodeGenerator::ExceptionHandler unwindLabel;-
111-
112 ControlFlowUnwind(Codegen *cg, Type type)-
113 : ControlFlow(cg, type)-
114 {-
115 }
executed 1813663 times by 76 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlmoduleplugin
  • ...
1813663
116-
117 void setupUnwindHandler()-
118 {-
119 unwindLabel = generator()->newExceptionHandler();-
120 }
executed 129245 times by 22 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlconsole
  • tst_qqmlecmascript
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickitem2
  • tst_qquicklayouts
  • tst_qquickworkerscript
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_qv4debugger
  • tst_testfiltering
129245
121-
122 void emitUnwindHandler()-
123 {-
124 ((requiresUnwind()) ? static_cast<void>(0) : qt_assert("requiresUnwind()", __FILE__, 180));-
125-
126 Instruction::UnwindDispatch dispatch;-
127 generator()->addInstruction(dispatch);-
128 }
executed 129947 times by 22 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlconsole
  • tst_qqmlecmascript
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickitem2
  • tst_qquicklayouts
  • tst_qquickworkerscript
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_qv4debugger
  • tst_testfiltering
129947
129-
130 virtual BytecodeGenerator::ExceptionHandler *unwindHandler() override {-
131 return
executed 31337 times by 17 tests: return unwindLabel.isValid() ? &unwindLabel : parentUnwindHandler();
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlconsole
  • tst_qqmlecmascript
  • tst_qqmllistmodel
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_qv4debugger
  • tst_testfiltering
unwindLabel.isValid() ? &unwindLabel : parentUnwindHandler();
executed 31337 times by 17 tests: return unwindLabel.isValid() ? &unwindLabel : parentUnwindHandler();
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlconsole
  • tst_qqmlecmascript
  • tst_qqmllistmodel
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_qv4debugger
  • tst_testfiltering
31337
132 }-
133};-
134-
135struct ControlFlowLoop : public ControlFlowUnwind-
136{-
137 QString loopLabel;-
138 BytecodeGenerator::Label *breakLabel = nullptr;-
139 BytecodeGenerator::Label *continueLabel = nullptr;-
140 bool _requiresUnwind;-
141-
142 ControlFlowLoop(Codegen *cg, BytecodeGenerator::Label *breakLabel, BytecodeGenerator::Label *continueLabel = nullptr, bool requiresUnwind = false)-
143 : ControlFlowUnwind(cg, Loop), loopLabel(ControlFlow::loopLabel()), breakLabel(breakLabel), continueLabel(continueLabel), _requiresUnwind(requiresUnwind)-
144 {-
145 if (_requiresUnwind
_requiresUnwindDescription
TRUEevaluated 13449 times by 13 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qqmlecmascript
  • tst_qqmllistmodel
  • tst_qqmlqt
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_qv4debugger
  • tst_testfiltering
FALSEevaluated 17157 times by 30 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlcomponent
  • tst_qqmlecmascript
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmlsqldatabase
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickcustomaffector
  • tst_qquickgridview
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_qquickpositioners
  • tst_qquickrepeater
  • tst_qquickscreen
  • tst_qquickvisualdatamodel
  • tst_qquickworkerscript
  • ...
) {
13449-17157
146 setupUnwindHandler();-
147 generator()->setUnwindHandler(&unwindLabel);-
148 }
executed 13484 times by 13 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qqmlecmascript
  • tst_qqmllistmodel
  • tst_qqmlqt
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_qv4debugger
  • tst_testfiltering
13484
149 }
executed 30661 times by 32 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlcomponent
  • tst_qqmlecmascript
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickcustomaffector
  • tst_qquickgridview
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_qquickpositioners
  • tst_qquickrepeater
  • tst_qquickscreen
  • tst_qquickvisualdatamodel
  • ...
30661
150-
151 ~ControlFlowLoop() {-
152 if (_requiresUnwind
_requiresUnwindDescription
TRUEevaluated 13528 times by 13 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qqmlecmascript
  • tst_qqmllistmodel
  • tst_qqmlqt
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_qv4debugger
  • tst_testfiltering
FALSEevaluated 17131 times by 30 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlcomponent
  • tst_qqmlecmascript
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmlsqldatabase
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickcustomaffector
  • tst_qquickgridview
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_qquickpositioners
  • tst_qquickrepeater
  • tst_qquickscreen
  • tst_qquickvisualdatamodel
  • tst_qquickworkerscript
  • ...
) {
13528-17131
153 unwindLabel.link();-
154 generator()->setUnwindHandler(parentUnwindHandler());-
155 emitUnwindHandler();-
156 }
executed 13554 times by 13 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qqmlecmascript
  • tst_qqmllistmodel
  • tst_qqmlqt
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_qv4debugger
  • tst_testfiltering
13554
157 }
executed 30714 times by 32 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlcomponent
  • tst_qqmlecmascript
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickcustomaffector
  • tst_qquickgridview
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_qquickpositioners
  • tst_qquickrepeater
  • tst_qquickscreen
  • tst_qquickvisualdatamodel
  • ...
30714
158-
159 bool requiresUnwind() override {-
160 return
executed 15651 times by 16 tests: return _requiresUnwind;
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qqmlecmascript
  • tst_qqmllistmodel
  • tst_qqmlqt
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickvisualdatamodel
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_qv4debugger
  • tst_testfiltering
_requiresUnwind;
executed 15651 times by 16 tests: return _requiresUnwind;
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qqmlecmascript
  • tst_qqmllistmodel
  • tst_qqmlqt
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickvisualdatamodel
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_qv4debugger
  • tst_testfiltering
15651
161 }-
162-
163 BytecodeGenerator::Label getUnwindTarget(UnwindType type, const QString &label) override {-
164 switch (type) {-
165 case
executed 17118 times by 9 tests: case Break:
Executed by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlecmascript
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_quicktestmainwithsetup
  • tst_testfiltering
Break:
executed 17118 times by 9 tests: case Break:
Executed by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlecmascript
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_quicktestmainwithsetup
  • tst_testfiltering
17118
166 if (breakLabel
breakLabelDescription
TRUEevaluated 17168 times by 9 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlecmascript
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_quicktestmainwithsetup
  • tst_testfiltering
FALSEnever evaluated
&& (label.isEmpty()
label.isEmpty()Description
TRUEevaluated 16945 times by 9 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlecmascript
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_quicktestmainwithsetup
  • tst_testfiltering
FALSEevaluated 248 times by 2 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_parserstress
|| label == loopLabel
label == loopLabelDescription
TRUEevaluated 160 times by 2 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_parserstress
FALSEevaluated 88 times by 2 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_parserstress
))
0-17168
167 return
executed 17029 times by 9 tests: return *breakLabel;
Executed by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlecmascript
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_quicktestmainwithsetup
  • tst_testfiltering
*breakLabel;
executed 17029 times by 9 tests: return *breakLabel;
Executed by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlecmascript
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_quicktestmainwithsetup
  • tst_testfiltering
17029
168 break;
executed 88 times by 2 tests: break;
Executed by:
  • tst_ecmascripttests
  • tst_parserstress
88
169 case
executed 1212 times by 9 tests: case Continue:
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_quicktestmainwithsetup
  • tst_testfiltering
Continue:
executed 1212 times by 9 tests: case Continue:
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_quicktestmainwithsetup
  • tst_testfiltering
1212
170 if (continueLabel
continueLabelDescription
TRUEevaluated 1086 times by 9 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_quicktestmainwithsetup
  • tst_testfiltering
FALSEevaluated 126 times by 2 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qjsengine
&& (label.isEmpty()
label.isEmpty()Description
TRUEevaluated 826 times by 9 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_quicktestmainwithsetup
  • tst_testfiltering
FALSEevaluated 262 times by 3 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsengine
|| label == loopLabel
label == loopLabelDescription
TRUEevaluated 152 times by 2 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_parserstress
FALSEevaluated 110 times by 3 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsengine
))
110-1086
171 return
executed 976 times by 9 tests: return *continueLabel;
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_quicktestmainwithsetup
  • tst_testfiltering
*continueLabel;
executed 976 times by 9 tests: return *continueLabel;
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_quicktestmainwithsetup
  • tst_testfiltering
976
172 break;
executed 236 times by 3 tests: break;
Executed by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsengine
236
173 default
executed 1778 times by 14 tests: default:
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qqmlecmascript
  • tst_qqmllistmodel
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickvisualdatamodel
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_testfiltering
:
executed 1778 times by 14 tests: default:
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qqmlecmascript
  • tst_qqmllistmodel
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickvisualdatamodel
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_testfiltering
1778
174 break;
executed 1777 times by 14 tests: break;
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qqmlecmascript
  • tst_qqmllistmodel
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickvisualdatamodel
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_testfiltering
1777
175 }-
176 return
executed 2102 times by 14 tests: return BytecodeGenerator::Label();
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qqmlecmascript
  • tst_qqmllistmodel
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickvisualdatamodel
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_testfiltering
BytecodeGenerator::Label();
executed 2102 times by 14 tests: return BytecodeGenerator::Label();
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qqmlecmascript
  • tst_qqmllistmodel
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickvisualdatamodel
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_testfiltering
2102
177 }-
178-
179 QString label() const override { return
executed 170 times by 3 tests: return loopLabel;
Executed by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsengine
loopLabel;
executed 170 times by 3 tests: return loopLabel;
Executed by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsengine
}
170
180};-
181-
182-
183struct ControlFlowWith : public ControlFlowUnwind-
184{-
185 ControlFlowWith(Codegen *cg)-
186 : ControlFlowUnwind(cg, With)-
187 {-
188 setupUnwindHandler();-
189-
190-
191 Instruction::PushWithContext pushScope;-
192 generator()->addInstruction(pushScope);-
193 generator()->setUnwindHandler(&unwindLabel);-
194 }
executed 818 times by 6 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlecmascript
  • tst_qv4debugger
818
195-
196 ~ControlFlowWith() {-
197-
198 unwindLabel.link();-
199-
200 generator()->setUnwindHandler(parentUnwindHandler());-
201 Instruction::PopContext pop;-
202 generator()->addInstruction(pop);-
203-
204 emitUnwindHandler();-
205 }
executed 819 times by 6 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlecmascript
  • tst_qv4debugger
819
206-
207 bool requiresUnwind() override {-
208 return
executed 893 times by 6 tests: return true;
Executed by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlecmascript
  • tst_qv4debugger
true;
executed 893 times by 6 tests: return true;
Executed by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlecmascript
  • tst_qv4debugger
893
209 }-
210-
211-
212};-
213-
214struct ControlFlowBlock : public ControlFlowUnwind-
215{-
216 ControlFlowBlock(Codegen *cg, AST::Node *ast)-
217 : ControlFlowUnwind(cg, Block)-
218 {-
219 block = cg->enterBlock(ast);-
220 block->emitBlockHeader(cg);-
221-
222 if (block->requiresExecutionContext
block->require...ecutionContextDescription
TRUEevaluated 825 times by 3 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qv4debugger
FALSEevaluated 1666518 times by 75 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlmoduleplugin
  • ...
) {
825-1666518
223 setupUnwindHandler();-
224 generator()->setUnwindHandler(&unwindLabel);-
225 }
executed 825 times by 3 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qv4debugger
825
226 }
executed 1664723 times by 76 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlmoduleplugin
  • ...
1664723
227-
228 virtual ~ControlFlowBlock() {-
229-
230 if (block->requiresExecutionContext
block->require...ecutionContextDescription
TRUEevaluated 826 times by 3 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qv4debugger
FALSEevaluated 1666009 times by 75 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlmoduleplugin
  • ...
) {
826-1666009
231 unwindLabel.link();-
232 generator()->setUnwindHandler(parentUnwindHandler());-
233 }
executed 826 times by 3 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qv4debugger
826
234-
235 block->emitBlockFooter(cg);-
236-
237 if (block->requiresExecutionContext
block->require...ecutionContextDescription
TRUEevaluated 825 times by 3 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qv4debugger
FALSEevaluated 1670661 times by 75 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlmoduleplugin
  • ...
)
825-1670661
238 emitUnwindHandler();
executed 825 times by 3 tests: emitUnwindHandler();
Executed by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qv4debugger
825
239 cg->leaveBlock();-
240 }
executed 1669689 times by 76 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlmoduleplugin
  • ...
1669689
241-
242 virtual bool requiresUnwind() override {-
243 return
executed 450006 times by 27 tests: return block->requiresExecutionContext;
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlcomponent
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlexpression
  • tst_qqmllistmodel
  • tst_qqmllocale
  • tst_qqmlnotifier
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickpositioners
  • tst_qquickvisualdatamodel
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • ...
block->requiresExecutionContext;
executed 450006 times by 27 tests: return block->requiresExecutionContext;
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlcomponent
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlexpression
  • tst_qqmllistmodel
  • tst_qqmllocale
  • tst_qqmlnotifier
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickpositioners
  • tst_qquickvisualdatamodel
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • ...
450006
244 }-
245-
246 Context *block;-
247};-
248-
249struct ControlFlowCatch : public ControlFlowUnwind-
250{-
251 AST::Catch *catchExpression;-
252 bool insideCatch = false;-
253 BytecodeGenerator::ExceptionHandler exceptionLabel;-
254 bool oldLookupByName;-
255-
256 ControlFlowCatch(Codegen *cg, AST::Catch *catchExpression)-
257 : ControlFlowUnwind(cg, Catch), catchExpression(catchExpression),-
258 exceptionLabel(generator()->newExceptionHandler())-
259 {-
260 generator()->setUnwindHandler(&exceptionLabel);-
261 }
executed 113791 times by 21 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlconsole
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickitem2
  • tst_qquicklayouts
  • tst_qquickworkerscript
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_qv4debugger
  • tst_testfiltering
113791
262-
263 virtual bool requiresUnwind() override {-
264 return
executed 194657 times by 21 tests: return true;
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlconsole
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickitem2
  • tst_qquicklayouts
  • tst_qquickworkerscript
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_qv4debugger
  • tst_testfiltering
true;
executed 194657 times by 21 tests: return true;
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlconsole
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickitem2
  • tst_qquicklayouts
  • tst_qquickworkerscript
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_qv4debugger
  • tst_testfiltering
194657
265 }-
266-
267 BytecodeGenerator::ExceptionHandler *unwindHandler() override {-
268 return
executed 315 times by 5 tests: return insideCatch ? &unwindLabel : &exceptionLabel;
Executed by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsengine
  • tst_qqmlecmascript
  • tst_qv4debugger
insideCatch ? &unwindLabel : &exceptionLabel;
executed 315 times by 5 tests: return insideCatch ? &unwindLabel : &exceptionLabel;
Executed by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsengine
  • tst_qqmlecmascript
  • tst_qv4debugger
315
269 }-
270-
271 ~ControlFlowCatch() {-
272-
273 insideCatch = true;-
274 setupUnwindHandler();-
275-
276 Codegen::RegisterScope scope(cg);-
277-
278-
279 exceptionLabel.link();-
280 BytecodeGenerator::Jump noException = generator()->jumpNoException();-
281-
282 Context *block = cg->enterBlock(catchExpression);-
283-
284 block->emitBlockHeader(cg);-
285-
286 generator()->setUnwindHandler(&unwindLabel);-
287-
288 if (catchExpression->patternElement->bindingIdentifier.isEmpty()
catchExpressio...fier.isEmpty()Description
TRUEevaluated 334 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 113694 times by 21 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlconsole
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickitem2
  • tst_qquicklayouts
  • tst_qquickworkerscript
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_qv4debugger
  • tst_testfiltering
)
334-113694
289-
290 cg->initializeAndDestructureBindingElement(catchExpression->patternElement, Reference::fromName(cg, ([]() noexcept -> QString { enum { Size = sizeof(u"" "@caught")/2 - 1 }; static const QStaticStringData<Size> qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" "@caught" }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return
executed 334 times by 1 test: return qstring_literal_temp;
Executed by:
  • tst_ecmascripttests
qstring_literal_temp;
executed 334 times by 1 test: return qstring_literal_temp;
Executed by:
  • tst_ecmascripttests
}())));
executed 334 times by 1 test: cg->initializeAndDestructureBindingElement(catchExpression->patternElement, Reference::fromName(cg, ([]() noexcept -> QString { enum { Size = sizeof(u"" "@caught")/2 - 1 }; static const QStaticStringData<Size> qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" "@caught" }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }())));
Executed by:
  • tst_ecmascripttests
334
291-
292 cg->statementList(catchExpression->statement->statements);-
293-
294-
295 unwindLabel.link();-
296 block->emitBlockFooter(cg);-
297-
298 cg->leaveBlock();-
299-
300 noException.link();-
301 generator()->setUnwindHandler(parentUnwindHandler());-
302-
303 emitUnwindHandler();-
304 insideCatch = false;-
305 }
executed 113700 times by 21 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qqmlconsole
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickitem2
  • tst_qquicklayouts
  • tst_qquickworkerscript
  • tst_qtqmlmodules
  • tst_quicktestmainwithsetup
  • tst_qv4debugger
  • tst_testfiltering
113700
306};-
307-
308struct ControlFlowFinally : public ControlFlowUnwind-
309{-
310 AST::Finally *finally;-
311 bool insideFinally = false;-
312-
313 ControlFlowFinally(Codegen *cg, AST::Finally *finally)-
314 : ControlFlowUnwind(cg, Finally), finally(finally)-
315 {-
316 ((finally != nullptr) ? static_cast<void>(0) : qt_assert("finally != nullptr", __FILE__, 372));-
317 setupUnwindHandler();-
318 generator()->setUnwindHandler(&unwindLabel);-
319 }
executed 825 times by 5 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlecmascript
825
320-
321 virtual bool requiresUnwind() override {-
322 return
executed 1350 times by 5 tests: return !insideFinally;
Executed by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlecmascript
!insideFinally;
executed 1350 times by 5 tests: return !insideFinally;
Executed by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlecmascript
1350
323 }-
324-
325 BytecodeGenerator::ExceptionHandler *unwindHandler() override {-
326 return
executed 513 times by 5 tests: return insideFinally ? parentUnwindHandler() : ControlFlowUnwind::unwindHandler();
Executed by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlecmascript
insideFinally ? parentUnwindHandler() : ControlFlowUnwind::unwindHandler();
executed 513 times by 5 tests: return insideFinally ? parentUnwindHandler() : ControlFlowUnwind::unwindHandler();
Executed by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlecmascript
513
327 }-
328-
329 ~ControlFlowFinally() {-
330-
331 unwindLabel.link();-
332-
333 Codegen::RegisterScope scope(cg);-
334-
335 insideFinally = true;-
336 int returnValueTemp = -1;-
337 if (cg->requiresReturnValue
cg->requiresReturnValueDescription
TRUEevaluated 134 times by 3 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qjsengine
  • tst_qqmlecmascript
FALSEevaluated 692 times by 3 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsvalue
) {
134-692
338 returnValueTemp = generator()->newRegister();-
339 Instruction::MoveReg move;-
340 move.srcReg = cg->_returnAddress;-
341 move.destReg = returnValueTemp;-
342 generator()->addInstruction(move);-
343 }
executed 134 times by 3 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_qjsengine
  • tst_qqmlecmascript
134
344 int exceptionTemp = generator()->newRegister();-
345 Instruction::GetException instr;-
346 generator()->addInstruction(instr);-
347 Reference::fromStackSlot(cg, exceptionTemp).storeConsumeAccumulator();-
348-
349 generator()->setUnwindHandler(parentUnwindHandler());-
350 cg->statement(finally->statement);-
351 insideFinally = false;-
352-
353 if (cg->requiresReturnValue
cg->requiresReturnValueDescription
TRUEevaluated 134 times by 3 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qjsengine
  • tst_qqmlecmascript
FALSEevaluated 692 times by 3 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsvalue
) {
134-692
354 Instruction::MoveReg move;-
355 move.srcReg = returnValueTemp;-
356 move.destReg = cg->_returnAddress;-
357 generator()->addInstruction(move);-
358 }
executed 134 times by 3 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_qjsengine
  • tst_qqmlecmascript
134
359 Reference::fromStackSlot(cg, exceptionTemp).loadInAccumulator();-
360 Instruction::SetException setException;-
361 generator()->addInstruction(setException);-
362-
363 emitUnwindHandler();-
364 }
executed 826 times by 5 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlecmascript
826
365};-
366-
367} }-
368-
369-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.0