OpenCoverage

MacroAssembler.h

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/3rdparty/masm/assembler/MacroAssembler.h
Switch to Source codePreprocessed file
LineSourceCount
1namespace JSC { typedef MacroAssemblerX86_64 MacroAssemblerBase; };-
2namespace JSC {-
3-
4template <typename MacroAssemblerBase>-
5class MacroAssembler : public MacroAssemblerBase {-
6public:-
7-
8 using DoubleCondition = typename MacroAssemblerBase::DoubleCondition;-
9 using ResultCondition = typename MacroAssemblerBase::ResultCondition;-
10 using RelationalCondition = typename MacroAssemblerBase::RelationalCondition;-
11 using RegisterID = typename MacroAssemblerBase::RegisterID;-
12 using Address = typename MacroAssemblerBase::Address;-
13 using ExtendedAddress = typename MacroAssemblerBase::ExtendedAddress;-
14 using BaseIndex = typename MacroAssemblerBase::BaseIndex;-
15 using ImplicitAddress = typename MacroAssemblerBase::ImplicitAddress;-
16 using AbsoluteAddress = typename MacroAssemblerBase::AbsoluteAddress;-
17 using TrustedImm32 = typename MacroAssemblerBase::TrustedImm32;-
18 using TrustedImm64 = typename MacroAssemblerBase::TrustedImm64;-
19 using TrustedImmPtr = typename MacroAssemblerBase::TrustedImmPtr;-
20 using Imm32 = typename MacroAssemblerBase::Imm32;-
21 using Imm64 = typename MacroAssemblerBase::Imm64;-
22 using ImmPtr = typename MacroAssemblerBase::ImmPtr;-
23 using Label = typename MacroAssemblerBase::Label;-
24 using DataLabelPtr = typename MacroAssemblerBase::DataLabelPtr;-
25 using DataLabel32 = typename MacroAssemblerBase::DataLabel32;-
26 using DataLabelCompact = typename MacroAssemblerBase::DataLabelCompact;-
27 using Jump = typename MacroAssemblerBase::Jump;-
28 using PatchableJump = typename MacroAssemblerBase::PatchableJump;-
29 using MacroAssemblerBase::PointerSize;-
30-
31 using MacroAssemblerBase::pop;-
32 using MacroAssemblerBase::jump;-
33 using MacroAssemblerBase::branch32;-
34 using MacroAssemblerBase::move;-
35 using MacroAssemblerBase::store32;-
36 using MacroAssemblerBase::add32;-
37 using MacroAssemblerBase::xor32;-
38 using MacroAssemblerBase::sub32;-
39 using MacroAssemblerBase::load32;-
40-
41-
42-
43-
44-
45-
46 using MacroAssemblerBase::add64;-
47 using MacroAssemblerBase::sub64;-
48 using MacroAssemblerBase::xor64;-
49 using MacroAssemblerBase::load64;-
50 using MacroAssemblerBase::store64;-
51 static const double twoToThe32;-
52-
53-
54-
55 using MacroAssemblerBase::invert;-
56-
57 static DoubleCondition invert(DoubleCondition cond)-
58 {-
59 switch (cond) {-
60 case
never executed: case DoubleCondition::DoubleEqual:
DoubleCondition::DoubleEqual:
never executed: case DoubleCondition::DoubleEqual:
0
61 return
never executed: return DoubleCondition::DoubleNotEqualOrUnordered;
DoubleCondition::DoubleNotEqualOrUnordered;
never executed: return DoubleCondition::DoubleNotEqualOrUnordered;
0
62 case
never executed: case DoubleCondition::DoubleNotEqual:
DoubleCondition::DoubleNotEqual:
never executed: case DoubleCondition::DoubleNotEqual:
0
63 return
never executed: return DoubleCondition::DoubleEqualOrUnordered;
DoubleCondition::DoubleEqualOrUnordered;
never executed: return DoubleCondition::DoubleEqualOrUnordered;
0
64 case
never executed: case DoubleCondition::DoubleGreaterThan:
DoubleCondition::DoubleGreaterThan:
never executed: case DoubleCondition::DoubleGreaterThan:
0
65 return
never executed: return DoubleCondition::DoubleLessThanOrEqualOrUnordered;
DoubleCondition::DoubleLessThanOrEqualOrUnordered;
never executed: return DoubleCondition::DoubleLessThanOrEqualOrUnordered;
0
66 case
never executed: case DoubleCondition::DoubleGreaterThanOrEqual:
DoubleCondition::DoubleGreaterThanOrEqual:
never executed: case DoubleCondition::DoubleGreaterThanOrEqual:
0
67 return
never executed: return DoubleCondition::DoubleLessThanOrUnordered;
DoubleCondition::DoubleLessThanOrUnordered;
never executed: return DoubleCondition::DoubleLessThanOrUnordered;
0
68 case
never executed: case DoubleCondition::DoubleLessThan:
DoubleCondition::DoubleLessThan:
never executed: case DoubleCondition::DoubleLessThan:
0
69 return
never executed: return DoubleCondition::DoubleGreaterThanOrEqualOrUnordered;
DoubleCondition::DoubleGreaterThanOrEqualOrUnordered;
never executed: return DoubleCondition::DoubleGreaterThanOrEqualOrUnordered;
0
70 case
never executed: case DoubleCondition::DoubleLessThanOrEqual:
DoubleCondition::DoubleLessThanOrEqual:
never executed: case DoubleCondition::DoubleLessThanOrEqual:
0
71 return
never executed: return DoubleCondition::DoubleGreaterThanOrUnordered;
DoubleCondition::DoubleGreaterThanOrUnordered;
never executed: return DoubleCondition::DoubleGreaterThanOrUnordered;
0
72 case
never executed: case DoubleCondition::DoubleEqualOrUnordered:
DoubleCondition::DoubleEqualOrUnordered:
never executed: case DoubleCondition::DoubleEqualOrUnordered:
0
73 return
never executed: return DoubleCondition::DoubleNotEqual;
DoubleCondition::DoubleNotEqual;
never executed: return DoubleCondition::DoubleNotEqual;
0
74 case
never executed: case DoubleCondition::DoubleNotEqualOrUnordered:
DoubleCondition::DoubleNotEqualOrUnordered:
never executed: case DoubleCondition::DoubleNotEqualOrUnordered:
0
75 return
never executed: return DoubleCondition::DoubleEqual;
DoubleCondition::DoubleEqual;
never executed: return DoubleCondition::DoubleEqual;
0
76 case
never executed: case DoubleCondition::DoubleGreaterThanOrUnordered:
DoubleCondition::DoubleGreaterThanOrUnordered:
never executed: case DoubleCondition::DoubleGreaterThanOrUnordered:
0
77 return
never executed: return DoubleCondition::DoubleLessThanOrEqual;
DoubleCondition::DoubleLessThanOrEqual;
never executed: return DoubleCondition::DoubleLessThanOrEqual;
0
78 case
never executed: case DoubleCondition::DoubleGreaterThanOrEqualOrUnordered:
DoubleCondition::DoubleGreaterThanOrEqualOrUnordered:
never executed: case DoubleCondition::DoubleGreaterThanOrEqualOrUnordered:
0
79 return
never executed: return DoubleCondition::DoubleLessThan;
DoubleCondition::DoubleLessThan;
never executed: return DoubleCondition::DoubleLessThan;
0
80 case
never executed: case DoubleCondition::DoubleLessThanOrUnordered:
DoubleCondition::DoubleLessThanOrUnordered:
never executed: case DoubleCondition::DoubleLessThanOrUnordered:
0
81 return
never executed: return DoubleCondition::DoubleGreaterThanOrEqual;
DoubleCondition::DoubleGreaterThanOrEqual;
never executed: return DoubleCondition::DoubleGreaterThanOrEqual;
0
82 case
never executed: case DoubleCondition::DoubleLessThanOrEqualOrUnordered:
DoubleCondition::DoubleLessThanOrEqualOrUnordered:
never executed: case DoubleCondition::DoubleLessThanOrEqualOrUnordered:
0
83 return
never executed: return DoubleCondition::DoubleGreaterThan;
DoubleCondition::DoubleGreaterThan;
never executed: return DoubleCondition::DoubleGreaterThan;
0
84 default
never executed: default:
:
never executed: default:
0
85 do { qmlWTFReportAssertionFailure(__FILE__, 170, __PRETTY_FUNCTION__, 0); (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap()); } while (0);-
86 return
never executed: return DoubleCondition::DoubleEqual;
DoubleCondition::DoubleEqual;
never executed: return DoubleCondition::DoubleEqual;
0
87 }-
88 }-
89-
90 static bool isInvertible(ResultCondition cond)-
91 {-
92 switch (cond) {-
93 case
never executed: case ResultCondition::Zero:
ResultCondition::Zero:
never executed: case ResultCondition::Zero:
0
94 case
never executed: case ResultCondition::NonZero:
ResultCondition::NonZero:
never executed: case ResultCondition::NonZero:
0
95 return
never executed: return true;
true;
never executed: return true;
0
96 default
never executed: default:
:
never executed: default:
0
97 return
never executed: return false;
false;
never executed: return false;
0
98 }-
99 }-
100-
101 static ResultCondition invert(ResultCondition cond)-
102 {-
103 switch (cond) {-
104 case
never executed: case ResultCondition::Zero:
ResultCondition::Zero:
never executed: case ResultCondition::Zero:
0
105 return
never executed: return ResultCondition::NonZero;
ResultCondition::NonZero;
never executed: return ResultCondition::NonZero;
0
106 case
never executed: case ResultCondition::NonZero:
ResultCondition::NonZero:
never executed: case ResultCondition::NonZero:
0
107 return
never executed: return ResultCondition::Zero;
ResultCondition::Zero;
never executed: return ResultCondition::Zero;
0
108 default
never executed: default:
:
never executed: default:
0
109 do { qmlWTFReportAssertionFailure(__FILE__, 194, __PRETTY_FUNCTION__, 0); (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap()); } while (0);-
110 return
never executed: return ResultCondition::Zero;
ResultCondition::Zero;
never executed: return ResultCondition::Zero;
0
111 }-
112 }-
113-
114-
115-
116-
117 void pop()-
118 {-
119 addPtr(TrustedImm32(PointerSize), MacroAssemblerBase::stackPointerRegister);-
120 }
executed 13188 times by 64 tests: end of block
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllocale
  • tst_qqmlnotifier
  • tst_qqmlprofilerservice
  • tst_qqmlproperty
  • tst_qqmlqt
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qqmlxmlhttprequest
  • tst_qquickaccessible
  • tst_qquickanimatedimage
  • tst_qquickanimationcontroller
  • ...
13188
121-
122 void peek(RegisterID dest, int index = 0)-
123 {-
124 loadPtr(Address(MacroAssemblerBase::stackPointerRegister, (index * PointerSize)), dest);-
125 }
executed 2274 times by 8 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlxmlhttprequest
  • tst_qquicklistview
  • tst_qquicktextinput
  • tst_qquickworkerscript
2274
126-
127 Address addressForPoke(int index)-
128 {-
129 return
executed 2542 times by 8 tests: return Address(MacroAssemblerBase::stackPointerRegister, (index * PointerSize));
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlxmlhttprequest
  • tst_qquicklistview
  • tst_qquicktextinput
  • tst_qquickworkerscript
Address(MacroAssemblerBase::stackPointerRegister, (index * PointerSize));
executed 2542 times by 8 tests: return Address(MacroAssemblerBase::stackPointerRegister, (index * PointerSize));
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlxmlhttprequest
  • tst_qquicklistview
  • tst_qquicktextinput
  • tst_qquickworkerscript
2542
130 }-
131-
132 void poke(RegisterID src, int index = 0)-
133 {-
134 storePtr(src, addressForPoke(index));-
135 }
executed 2414 times by 8 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlxmlhttprequest
  • tst_qquicklistview
  • tst_qquicktextinput
  • tst_qquickworkerscript
2414
136-
137 void poke(TrustedImm32 value, int index = 0)-
138 {-
139 store32(value, addressForPoke(index));-
140 }
executed 130 times by 2 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_qquicktextinput
130
141-
142-
143 void poke(TrustedImmPtr imm, int index = 0)-
144 {-
145 storePtr(imm, addressForPoke(index));-
146 }
never executed: end of block
0
147-
148-
149-
150 void peek64(RegisterID dest, int index = 0)-
151 {-
152 load64(Address(MacroAssemblerBase::stackPointerRegister, (index * sizeof(void*))), dest);-
153 }
never executed: end of block
0
154-
155 void poke(TrustedImm64 value, int index = 0)-
156 {-
157 store64(value, addressForPoke(index));-
158 }
never executed: end of block
0
159-
160 void poke64(RegisterID src, int index = 0)-
161 {-
162 store64(src, addressForPoke(index));-
163 }
never executed: end of block
0
164-
165-
166-
167 void branchPtr(RelationalCondition cond, RegisterID op1, TrustedImmPtr imm, Label target)-
168 {-
169 branchPtr(cond, op1, imm).linkTo(target, this);-
170 }
never executed: end of block
0
171 void branchPtr(RelationalCondition cond, RegisterID op1, ImmPtr imm, Label target)-
172 {-
173 branchPtr(cond, op1, imm).linkTo(target, this);-
174 }
never executed: end of block
0
175-
176 void branch32(RelationalCondition cond, RegisterID op1, RegisterID op2, Label target)-
177 {-
178 branch32(cond, op1, op2).linkTo(target, this);-
179 }
never executed: end of block
0
180-
181 void branch32(RelationalCondition cond, RegisterID op1, TrustedImm32 imm, Label target)-
182 {-
183 branch32(cond, op1, imm).linkTo(target, this);-
184 }
never executed: end of block
0
185-
186 void branch32(RelationalCondition cond, RegisterID op1, Imm32 imm, Label target)-
187 {-
188 branch32(cond, op1, imm).linkTo(target, this);-
189 }
never executed: end of block
0
190-
191 void branch32(RelationalCondition cond, RegisterID left, Address right, Label target)-
192 {-
193 branch32(cond, left, right).linkTo(target, this);-
194 }
never executed: end of block
0
195-
196 Jump branch32(RelationalCondition cond, TrustedImm32 left, RegisterID right)-
197 {-
198 return
executed 23816 times by 50 tests: return branch32(commute(cond), right, left);
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlbinding
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllocale
  • tst_qqmlprofilerservice
  • tst_qqmlproperty
  • tst_qqmlqt
  • tst_qqmlvaluetypeproviders
  • tst_qqmlxmlhttprequest
  • tst_qquickaccessible
  • tst_qquickanimatedimage
  • tst_qquickanimationcontroller
  • tst_qquickbehaviors
  • tst_qquickcustomaffector
  • tst_qquickdesignersupport
  • tst_qquickdraghandler
  • ...
branch32(commute(cond), right, left);
executed 23816 times by 50 tests: return branch32(commute(cond), right, left);
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlbinding
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllocale
  • tst_qqmlprofilerservice
  • tst_qqmlproperty
  • tst_qqmlqt
  • tst_qqmlvaluetypeproviders
  • tst_qqmlxmlhttprequest
  • tst_qquickaccessible
  • tst_qquickanimatedimage
  • tst_qquickanimationcontroller
  • tst_qquickbehaviors
  • tst_qquickcustomaffector
  • tst_qquickdesignersupport
  • tst_qquickdraghandler
  • ...
23816
199 }-
200-
201 Jump branch32(RelationalCondition cond, Imm32 left, RegisterID right)-
202 {-
203 return
never executed: return branch32(commute(cond), right, left);
branch32(commute(cond), right, left);
never executed: return branch32(commute(cond), right, left);
0
204 }-
205-
206 void branchTestPtr(ResultCondition cond, RegisterID reg, Label target)-
207 {-
208 branchTestPtr(cond, reg).linkTo(target, this);-
209 }
never executed: end of block
0
210-
211-
212 PatchableJump patchableBranchPtr(RelationalCondition cond, Address left, TrustedImmPtr right = TrustedImmPtr(0))-
213 {-
214 return
never executed: return PatchableJump(branchPtr(cond, left, right));
PatchableJump(branchPtr(cond, left, right));
never executed: return PatchableJump(branchPtr(cond, left, right));
0
215 }-
216-
217 PatchableJump patchableBranchPtrWithPatch(RelationalCondition cond, Address left, DataLabelPtr& dataLabel, TrustedImmPtr initialRightValue = TrustedImmPtr(0))-
218 {-
219 return
never executed: return PatchableJump(branchPtrWithPatch(cond, left, dataLabel, initialRightValue));
PatchableJump(branchPtrWithPatch(cond, left, dataLabel, initialRightValue));
never executed: return PatchableJump(branchPtrWithPatch(cond, left, dataLabel, initialRightValue));
0
220 }-
221-
222 PatchableJump patchableJump()-
223 {-
224 return
never executed: return PatchableJump(jump());
PatchableJump(jump());
never executed: return PatchableJump(jump());
0
225 }-
226-
227 PatchableJump patchableBranchTest32(ResultCondition cond, RegisterID reg, TrustedImm32 mask = TrustedImm32(-1))-
228 {-
229 return
never executed: return PatchableJump(branchTest32(cond, reg, mask));
PatchableJump(branchTest32(cond, reg, mask));
never executed: return PatchableJump(branchTest32(cond, reg, mask));
0
230 }-
231-
232-
233-
234 PatchableJump patchableBranch32(RelationalCondition cond, RegisterID reg, TrustedImm32 imm)-
235 {-
236 return
never executed: return PatchableJump(branch32(cond, reg, imm));
PatchableJump(branch32(cond, reg, imm));
never executed: return PatchableJump(branch32(cond, reg, imm));
0
237 }-
238-
239-
240 void jump(Label target)-
241 {-
242 jump().linkTo(target, this);-
243 }
executed 1165267 times by 153 tests: end of block
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsonbinding
  • tst_qjsvalue
  • tst_qjsvalueiterator
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugclient
  • tst_qqmldebugjs
  • tst_qqmldebuglocal
  • tst_qqmldebugservice
  • tst_qqmlecmascript
  • tst_qqmlenginecleanup
  • ...
1165267
244-
245-
246-
247 static RelationalCondition commute(RelationalCondition condition)-
248 {-
249 switch (condition) {-
250 case
never executed: case RelationalCondition::Above:
RelationalCondition::Above:
never executed: case RelationalCondition::Above:
0
251 return
never executed: return RelationalCondition::Below;
RelationalCondition::Below;
never executed: return RelationalCondition::Below;
0
252 case
never executed: case RelationalCondition::AboveOrEqual:
RelationalCondition::AboveOrEqual:
never executed: case RelationalCondition::AboveOrEqual:
0
253 return
never executed: return RelationalCondition::BelowOrEqual;
RelationalCondition::BelowOrEqual;
never executed: return RelationalCondition::BelowOrEqual;
0
254 case
never executed: case RelationalCondition::Below:
RelationalCondition::Below:
never executed: case RelationalCondition::Below:
0
255 return
never executed: return RelationalCondition::Above;
RelationalCondition::Above;
never executed: return RelationalCondition::Above;
0
256 case
never executed: case RelationalCondition::BelowOrEqual:
RelationalCondition::BelowOrEqual:
never executed: case RelationalCondition::BelowOrEqual:
0
257 return
never executed: return RelationalCondition::AboveOrEqual;
RelationalCondition::AboveOrEqual;
never executed: return RelationalCondition::AboveOrEqual;
0
258 case
never executed: case RelationalCondition::GreaterThan:
RelationalCondition::GreaterThan:
never executed: case RelationalCondition::GreaterThan:
0
259 return
never executed: return RelationalCondition::LessThan;
RelationalCondition::LessThan;
never executed: return RelationalCondition::LessThan;
0
260 case
never executed: case RelationalCondition::GreaterThanOrEqual:
RelationalCondition::GreaterThanOrEqual:
never executed: case RelationalCondition::GreaterThanOrEqual:
0
261 return
never executed: return RelationalCondition::LessThanOrEqual;
RelationalCondition::LessThanOrEqual;
never executed: return RelationalCondition::LessThanOrEqual;
0
262 case
never executed: case RelationalCondition::LessThan:
RelationalCondition::LessThan:
never executed: case RelationalCondition::LessThan:
0
263 return
never executed: return RelationalCondition::GreaterThan;
RelationalCondition::GreaterThan;
never executed: return RelationalCondition::GreaterThan;
0
264 case
never executed: case RelationalCondition::LessThanOrEqual:
RelationalCondition::LessThanOrEqual:
never executed: case RelationalCondition::LessThanOrEqual:
0
265 return
never executed: return RelationalCondition::GreaterThanOrEqual;
RelationalCondition::GreaterThanOrEqual;
never executed: return RelationalCondition::GreaterThanOrEqual;
0
266 default
executed 23816 times by 50 tests: default:
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlbinding
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllocale
  • tst_qqmlprofilerservice
  • tst_qqmlproperty
  • tst_qqmlqt
  • tst_qqmlvaluetypeproviders
  • tst_qqmlxmlhttprequest
  • tst_qquickaccessible
  • tst_qquickanimatedimage
  • tst_qquickanimationcontroller
  • tst_qquickbehaviors
  • tst_qquickcustomaffector
  • tst_qquickdesignersupport
  • tst_qquickdraghandler
  • ...
:
executed 23816 times by 50 tests: default:
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlbinding
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllocale
  • tst_qqmlprofilerservice
  • tst_qqmlproperty
  • tst_qqmlqt
  • tst_qqmlvaluetypeproviders
  • tst_qqmlxmlhttprequest
  • tst_qquickaccessible
  • tst_qquickanimatedimage
  • tst_qquickanimationcontroller
  • tst_qquickbehaviors
  • tst_qquickcustomaffector
  • tst_qquickdesignersupport
  • tst_qquickdraghandler
  • ...
23816
267 break;
executed 23816 times by 50 tests: break;
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlbinding
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllocale
  • tst_qqmlprofilerservice
  • tst_qqmlproperty
  • tst_qqmlqt
  • tst_qqmlvaluetypeproviders
  • tst_qqmlxmlhttprequest
  • tst_qquickaccessible
  • tst_qquickanimatedimage
  • tst_qquickanimationcontroller
  • tst_qquickbehaviors
  • tst_qquickcustomaffector
  • tst_qquickdesignersupport
  • tst_qquickdraghandler
  • ...
23816
268 }-
269-
270 (!(condition == RelationalCondition::Equal || condition == RelationalCondition::NotEqual) ? (qmlWTFReportAssertionFailure(__FILE__, 355, __PRETTY_FUNCTION__, "condition == RelationalCondition::Equal || condition == RelationalCondition::NotEqual"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0);-
271 return
executed 23816 times by 50 tests: return condition;
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlbinding
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllocale
  • tst_qqmlprofilerservice
  • tst_qqmlproperty
  • tst_qqmlqt
  • tst_qqmlvaluetypeproviders
  • tst_qqmlxmlhttprequest
  • tst_qquickaccessible
  • tst_qquickanimatedimage
  • tst_qquickanimationcontroller
  • tst_qquickbehaviors
  • tst_qquickcustomaffector
  • tst_qquickdesignersupport
  • tst_qquickdraghandler
  • ...
condition;
executed 23816 times by 50 tests: return condition;
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlbinding
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllocale
  • tst_qqmlprofilerservice
  • tst_qqmlproperty
  • tst_qqmlqt
  • tst_qqmlvaluetypeproviders
  • tst_qqmlxmlhttprequest
  • tst_qquickaccessible
  • tst_qquickanimatedimage
  • tst_qquickanimationcontroller
  • tst_qquickbehaviors
  • tst_qquickcustomaffector
  • tst_qquickdesignersupport
  • tst_qquickdraghandler
  • ...
23816
272 }-
273-
274 static const unsigned BlindingModulus = 64;-
275 bool shouldConsiderBlinding()-
276 {-
277 return
never executed: return !(this->random() & (BlindingModulus - 1));
!(this->random() & (BlindingModulus - 1));
never executed: return !(this->random() & (BlindingModulus - 1));
0
278 }-
279 void addPtr(RegisterID src, RegisterID dest)-
280 {-
281 add64(src, dest);-
282 }
never executed: end of block
0
283-
284 void addPtr(Address src, RegisterID dest)-
285 {-
286 add64(src, dest);-
287 }
never executed: end of block
0
288-
289 void addPtr(TrustedImm32 imm, RegisterID srcDest)-
290 {-
291 add64(imm, srcDest);-
292 }
executed 15350 times by 65 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllocale
  • tst_qqmlnotifier
  • tst_qqmlprofilerservice
  • tst_qqmlproperty
  • tst_qqmlqt
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qqmlxmlhttprequest
  • tst_qquickaccessible
  • tst_qquickanimatedimage
  • ...
15350
293-
294 void addPtr(TrustedImm32 imm, RegisterID src, RegisterID dest)-
295 {-
296 add64(imm, src, dest);-
297 }
executed 51526 times by 62 tests: end of block
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodelworkerscript
  • tst_qqmllocale
  • tst_qqmlnotifier
  • tst_qqmlprofilerservice
  • tst_qqmlproperty
  • tst_qqmlqt
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qqmlxmlhttprequest
  • tst_qquickaccessible
  • tst_qquickanimatedimage
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • ...
51526
298-
299 void addPtr(TrustedImm32 imm, Address address)-
300 {-
301 add64(imm, address);-
302 }
never executed: end of block
0
303-
304 void addPtr(AbsoluteAddress src, RegisterID dest)-
305 {-
306 add64(src, dest);-
307 }
never executed: end of block
0
308-
309 void addPtr(TrustedImmPtr imm, RegisterID dest)-
310 {-
311 add64(TrustedImm64(imm), dest);-
312 }
never executed: end of block
0
313-
314 void addPtr(TrustedImm32 imm, AbsoluteAddress address)-
315 {-
316 add64(imm, address);-
317 }
never executed: end of block
0
318-
319 void andPtr(RegisterID src, RegisterID dest)-
320 {-
321 and64(src, dest);-
322 }
never executed: end of block
0
323-
324 void andPtr(TrustedImm32 imm, RegisterID srcDest)-
325 {-
326 and64(imm, srcDest);-
327 }
never executed: end of block
0
328-
329 void negPtr(RegisterID dest)-
330 {-
331 neg64(dest);-
332 }
never executed: end of block
0
333-
334 void orPtr(RegisterID src, RegisterID dest)-
335 {-
336 or64(src, dest);-
337 }
never executed: end of block
0
338-
339 void orPtr(TrustedImm32 imm, RegisterID dest)-
340 {-
341 or64(imm, dest);-
342 }
never executed: end of block
0
343-
344 void orPtr(TrustedImmPtr imm, RegisterID dest)-
345 {-
346 or64(TrustedImm64(imm), dest);-
347 }
never executed: end of block
0
348-
349 void orPtr(RegisterID op1, RegisterID op2, RegisterID dest)-
350 {-
351 or64(op1, op2, dest);-
352 }
never executed: end of block
0
353-
354 void orPtr(TrustedImm32 imm, RegisterID src, RegisterID dest)-
355 {-
356 or64(imm, src, dest);-
357 }
never executed: end of block
0
358-
359 void rotateRightPtr(TrustedImm32 imm, RegisterID srcDst)-
360 {-
361 rotateRight64(imm, srcDst);-
362 }
never executed: end of block
0
363-
364 void subPtr(RegisterID src, RegisterID dest)-
365 {-
366 sub64(src, dest);-
367 }
never executed: end of block
0
368-
369 void subPtr(TrustedImm32 imm, RegisterID dest)-
370 {-
371 sub64(imm, dest);-
372 }
executed 1229 times by 16 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlbinding
  • tst_qqmlinstantiator
  • tst_qqmllocale
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickgridview
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickpositioners
  • tst_qquicktextinput
  • tst_qquickworkerscript
  • tst_testfiltering
1229
373-
374 void subPtr(TrustedImmPtr imm, RegisterID dest)-
375 {-
376 sub64(TrustedImm64(imm), dest);-
377 }
never executed: end of block
0
378-
379 void xorPtr(RegisterID src, RegisterID dest)-
380 {-
381 xor64(src, dest);-
382 }
never executed: end of block
0
383-
384 void xorPtr(RegisterID src, Address dest)-
385 {-
386 xor64(src, dest);-
387 }
never executed: end of block
0
388-
389 void xorPtr(TrustedImm32 imm, RegisterID srcDest)-
390 {-
391 xor64(imm, srcDest);-
392 }
never executed: end of block
0
393-
394 void loadPtr(ImplicitAddress address, RegisterID dest)-
395 {-
396 load64(address, dest);-
397 }
executed 41870 times by 65 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllocale
  • tst_qqmlnotifier
  • tst_qqmlprofilerservice
  • tst_qqmlproperty
  • tst_qqmlqt
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qqmlxmlhttprequest
  • tst_qquickaccessible
  • tst_qquickanimatedimage
  • ...
41870
398-
399 void loadPtr(BaseIndex address, RegisterID dest)-
400 {-
401 load64(address, dest);-
402 }
never executed: end of block
0
403-
404 void loadPtr(const void* address, RegisterID dest)-
405 {-
406 load64(address, dest);-
407 }
never executed: end of block
0
408-
409 DataLabel32 loadPtrWithAddressOffsetPatch(Address address, RegisterID dest)-
410 {-
411 return
never executed: return load64WithAddressOffsetPatch(address, dest);
load64WithAddressOffsetPatch(address, dest);
never executed: return load64WithAddressOffsetPatch(address, dest);
0
412 }-
413-
414 DataLabelCompact loadPtrWithCompactAddressOffsetPatch(Address address, RegisterID dest)-
415 {-
416 return
never executed: return load64WithCompactAddressOffsetPatch(address, dest);
load64WithCompactAddressOffsetPatch(address, dest);
never executed: return load64WithCompactAddressOffsetPatch(address, dest);
0
417 }-
418-
419 void storePtr(RegisterID src, ImplicitAddress address)-
420 {-
421 store64(src, address);-
422 }
executed 2414 times by 8 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlxmlhttprequest
  • tst_qquicklistview
  • tst_qquicktextinput
  • tst_qquickworkerscript
2414
423-
424 void storePtr(RegisterID src, BaseIndex address)-
425 {-
426 store64(src, address);-
427 }
never executed: end of block
0
428-
429 void storePtr(RegisterID src, void* address)-
430 {-
431 store64(src, address);-
432 }
never executed: end of block
0
433-
434 void storePtr(TrustedImmPtr imm, ImplicitAddress address)-
435 {-
436 store64(TrustedImm64(imm), address);-
437 }
executed 58 times by 7 tests: end of block
Executed by:
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquicklayouts
  • tst_qquickworkerscript
  • tst_testfiltering
58
438-
439 void storePtr(TrustedImmPtr imm, BaseIndex address)-
440 {-
441 store64(TrustedImm64(imm), address);-
442 }
never executed: end of block
0
443-
444 DataLabel32 storePtrWithAddressOffsetPatch(RegisterID src, Address address)-
445 {-
446 return
never executed: return store64WithAddressOffsetPatch(src, address);
store64WithAddressOffsetPatch(src, address);
never executed: return store64WithAddressOffsetPatch(src, address);
0
447 }-
448-
449 void comparePtr(RelationalCondition cond, RegisterID left, TrustedImm32 right, RegisterID dest)-
450 {-
451 compare64(cond, left, right, dest);-
452 }
never executed: end of block
0
453-
454 void comparePtr(RelationalCondition cond, RegisterID left, RegisterID right, RegisterID dest)-
455 {-
456 compare64(cond, left, right, dest);-
457 }
never executed: end of block
0
458-
459 void testPtr(ResultCondition cond, RegisterID reg, TrustedImm32 mask, RegisterID dest)-
460 {-
461 test64(cond, reg, mask, dest);-
462 }
never executed: end of block
0
463-
464 void testPtr(ResultCondition cond, RegisterID reg, RegisterID mask, RegisterID dest)-
465 {-
466 test64(cond, reg, mask, dest);-
467 }
never executed: end of block
0
468-
469 Jump branchPtr(RelationalCondition cond, RegisterID left, RegisterID right)-
470 {-
471 return
never executed: return branch64(cond, left, right);
branch64(cond, left, right);
never executed: return branch64(cond, left, right);
0
472 }-
473-
474 Jump branchPtr(RelationalCondition cond, RegisterID left, TrustedImmPtr right)-
475 {-
476 return
executed 13188 times by 64 tests: return this->branch64(cond, left, TrustedImm64(right));
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllocale
  • tst_qqmlnotifier
  • tst_qqmlprofilerservice
  • tst_qqmlproperty
  • tst_qqmlqt
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qqmlxmlhttprequest
  • tst_qquickaccessible
  • tst_qquickanimatedimage
  • tst_qquickanimationcontroller
  • ...
this->branch64(cond, left, TrustedImm64(right));
executed 13188 times by 64 tests: return this->branch64(cond, left, TrustedImm64(right));
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllocale
  • tst_qqmlnotifier
  • tst_qqmlprofilerservice
  • tst_qqmlproperty
  • tst_qqmlqt
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qqmlxmlhttprequest
  • tst_qquickaccessible
  • tst_qquickanimatedimage
  • tst_qquickanimationcontroller
  • ...
13188
477 }-
478-
479 Jump branchPtr(RelationalCondition cond, RegisterID left, Address right)-
480 {-
481 return
never executed: return branch64(cond, left, right);
branch64(cond, left, right);
never executed: return branch64(cond, left, right);
0
482 }-
483-
484 Jump branchPtr(RelationalCondition cond, Address left, RegisterID right)-
485 {-
486 return
never executed: return branch64(cond, left, right);
branch64(cond, left, right);
never executed: return branch64(cond, left, right);
0
487 }-
488-
489 Jump branchPtr(RelationalCondition cond, AbsoluteAddress left, RegisterID right)-
490 {-
491 return
never executed: return branch64(cond, left, right);
branch64(cond, left, right);
never executed: return branch64(cond, left, right);
0
492 }-
493-
494 Jump branchPtr(RelationalCondition cond, Address left, TrustedImmPtr right)-
495 {-
496 return
never executed: return branch64(cond, left, TrustedImm64(right));
branch64(cond, left, TrustedImm64(right));
never executed: return branch64(cond, left, TrustedImm64(right));
0
497 }-
498-
499 Jump branchTestPtr(ResultCondition cond, RegisterID reg, RegisterID mask)-
500 {-
501 return
never executed: return branchTest64(cond, reg, mask);
branchTest64(cond, reg, mask);
never executed: return branchTest64(cond, reg, mask);
0
502 }-
503-
504 Jump branchTestPtr(ResultCondition cond, RegisterID reg, TrustedImm32 mask = TrustedImm32(-1))-
505 {-
506 return
never executed: return branchTest64(cond, reg, mask);
branchTest64(cond, reg, mask);
never executed: return branchTest64(cond, reg, mask);
0
507 }-
508-
509 Jump branchTestPtr(ResultCondition cond, Address address, TrustedImm32 mask = TrustedImm32(-1))-
510 {-
511 return
never executed: return branchTest64(cond, address, mask);
branchTest64(cond, address, mask);
never executed: return branchTest64(cond, address, mask);
0
512 }-
513-
514 Jump branchTestPtr(ResultCondition cond, Address address, RegisterID reg)-
515 {-
516 return
never executed: return branchTest64(cond, address, reg);
branchTest64(cond, address, reg);
never executed: return branchTest64(cond, address, reg);
0
517 }-
518-
519 Jump branchTestPtr(ResultCondition cond, BaseIndex address, TrustedImm32 mask = TrustedImm32(-1))-
520 {-
521 return
never executed: return branchTest64(cond, address, mask);
branchTest64(cond, address, mask);
never executed: return branchTest64(cond, address, mask);
0
522 }-
523-
524 Jump branchTestPtr(ResultCondition cond, AbsoluteAddress address, TrustedImm32 mask = TrustedImm32(-1))-
525 {-
526 return
never executed: return branchTest64(cond, address, mask);
branchTest64(cond, address, mask);
never executed: return branchTest64(cond, address, mask);
0
527 }-
528-
529 Jump branchAddPtr(ResultCondition cond, TrustedImm32 imm, RegisterID dest)-
530 {-
531 return
never executed: return branchAdd64(cond, imm, dest);
branchAdd64(cond, imm, dest);
never executed: return branchAdd64(cond, imm, dest);
0
532 }-
533-
534 Jump branchAddPtr(ResultCondition cond, RegisterID src, RegisterID dest)-
535 {-
536 return
never executed: return branchAdd64(cond, src, dest);
branchAdd64(cond, src, dest);
never executed: return branchAdd64(cond, src, dest);
0
537 }-
538-
539 Jump branchSubPtr(ResultCondition cond, TrustedImm32 imm, RegisterID dest)-
540 {-
541 return
never executed: return branchSub64(cond, imm, dest);
branchSub64(cond, imm, dest);
never executed: return branchSub64(cond, imm, dest);
0
542 }-
543-
544 Jump branchSubPtr(ResultCondition cond, RegisterID src, RegisterID dest)-
545 {-
546 return
never executed: return branchSub64(cond, src, dest);
branchSub64(cond, src, dest);
never executed: return branchSub64(cond, src, dest);
0
547 }-
548-
549 Jump branchSubPtr(ResultCondition cond, RegisterID src1, TrustedImm32 src2, RegisterID dest)-
550 {-
551 return
never executed: return branchSub64(cond, src1, src2, dest);
branchSub64(cond, src1, src2, dest);
never executed: return branchSub64(cond, src1, src2, dest);
0
552 }-
553};-
554typedef MacroAssembler<MacroAssemblerX86_64> DefaultMacroAssembler;-
555-
556-
557-
558-
559}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.0