Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/3rdparty/masm/assembler/X86Assembler.h |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||||||||||||||||||||
2 | - | |||||||||||||||||||||||||||||||
3 | - | |||||||||||||||||||||||||||||||
4 | - | |||||||||||||||||||||||||||||||
5 | - | |||||||||||||||||||||||||||||||
6 | namespace JSC { | - | ||||||||||||||||||||||||||||||
7 | - | |||||||||||||||||||||||||||||||
8 | inline bool CAN_SIGN_EXTEND_8_32(int32_t value) { return executed 9162673 times by 153 tests: value == (int32_t)(signed char)value;return value == (int32_t)(signed char)value; Executed by:
executed 9162673 times by 153 tests: }return value == (int32_t)(signed char)value; Executed by:
| 9162673 | ||||||||||||||||||||||||||||||
9 | - | |||||||||||||||||||||||||||||||
10 | namespace X86Registers { | - | ||||||||||||||||||||||||||||||
11 | typedef enum { | - | ||||||||||||||||||||||||||||||
12 | eax, | - | ||||||||||||||||||||||||||||||
13 | ecx, | - | ||||||||||||||||||||||||||||||
14 | edx, | - | ||||||||||||||||||||||||||||||
15 | ebx, | - | ||||||||||||||||||||||||||||||
16 | esp, | - | ||||||||||||||||||||||||||||||
17 | ebp, | - | ||||||||||||||||||||||||||||||
18 | esi, | - | ||||||||||||||||||||||||||||||
19 | edi, | - | ||||||||||||||||||||||||||||||
20 | - | |||||||||||||||||||||||||||||||
21 | - | |||||||||||||||||||||||||||||||
22 | r8, | - | ||||||||||||||||||||||||||||||
23 | r9, | - | ||||||||||||||||||||||||||||||
24 | r10, | - | ||||||||||||||||||||||||||||||
25 | r11, | - | ||||||||||||||||||||||||||||||
26 | r12, | - | ||||||||||||||||||||||||||||||
27 | r13, | - | ||||||||||||||||||||||||||||||
28 | r14, | - | ||||||||||||||||||||||||||||||
29 | r15, | - | ||||||||||||||||||||||||||||||
30 | - | |||||||||||||||||||||||||||||||
31 | } RegisterID; | - | ||||||||||||||||||||||||||||||
32 | - | |||||||||||||||||||||||||||||||
33 | typedef enum { | - | ||||||||||||||||||||||||||||||
34 | xmm0, | - | ||||||||||||||||||||||||||||||
35 | xmm1, | - | ||||||||||||||||||||||||||||||
36 | xmm2, | - | ||||||||||||||||||||||||||||||
37 | xmm3, | - | ||||||||||||||||||||||||||||||
38 | xmm4, | - | ||||||||||||||||||||||||||||||
39 | xmm5, | - | ||||||||||||||||||||||||||||||
40 | xmm6, | - | ||||||||||||||||||||||||||||||
41 | xmm7, | - | ||||||||||||||||||||||||||||||
42 | } XMMRegisterID; | - | ||||||||||||||||||||||||||||||
43 | } | - | ||||||||||||||||||||||||||||||
44 | - | |||||||||||||||||||||||||||||||
45 | class X86Assembler { | - | ||||||||||||||||||||||||||||||
46 | public: | - | ||||||||||||||||||||||||||||||
47 | typedef X86Registers::RegisterID RegisterID; | - | ||||||||||||||||||||||||||||||
48 | typedef X86Registers::XMMRegisterID XMMRegisterID; | - | ||||||||||||||||||||||||||||||
49 | typedef XMMRegisterID FPRegisterID; | - | ||||||||||||||||||||||||||||||
50 | - | |||||||||||||||||||||||||||||||
51 | typedef enum { | - | ||||||||||||||||||||||||||||||
52 | ConditionO, | - | ||||||||||||||||||||||||||||||
53 | ConditionNO, | - | ||||||||||||||||||||||||||||||
54 | ConditionB, | - | ||||||||||||||||||||||||||||||
55 | ConditionAE, | - | ||||||||||||||||||||||||||||||
56 | ConditionE, | - | ||||||||||||||||||||||||||||||
57 | ConditionNE, | - | ||||||||||||||||||||||||||||||
58 | ConditionBE, | - | ||||||||||||||||||||||||||||||
59 | ConditionA, | - | ||||||||||||||||||||||||||||||
60 | ConditionS, | - | ||||||||||||||||||||||||||||||
61 | ConditionNS, | - | ||||||||||||||||||||||||||||||
62 | ConditionP, | - | ||||||||||||||||||||||||||||||
63 | ConditionNP, | - | ||||||||||||||||||||||||||||||
64 | ConditionL, | - | ||||||||||||||||||||||||||||||
65 | ConditionGE, | - | ||||||||||||||||||||||||||||||
66 | ConditionLE, | - | ||||||||||||||||||||||||||||||
67 | ConditionG, | - | ||||||||||||||||||||||||||||||
68 | - | |||||||||||||||||||||||||||||||
69 | ConditionC = ConditionB, | - | ||||||||||||||||||||||||||||||
70 | ConditionNC = ConditionAE, | - | ||||||||||||||||||||||||||||||
71 | } Condition; | - | ||||||||||||||||||||||||||||||
72 | - | |||||||||||||||||||||||||||||||
73 | private: | - | ||||||||||||||||||||||||||||||
74 | typedef enum { | - | ||||||||||||||||||||||||||||||
75 | OP_ADD_EvGv = 0x01, | - | ||||||||||||||||||||||||||||||
76 | OP_ADD_GvEv = 0x03, | - | ||||||||||||||||||||||||||||||
77 | OP_OR_EvGv = 0x09, | - | ||||||||||||||||||||||||||||||
78 | OP_OR_GvEv = 0x0B, | - | ||||||||||||||||||||||||||||||
79 | OP_2BYTE_ESCAPE = 0x0F, | - | ||||||||||||||||||||||||||||||
80 | OP_AND_EvGv = 0x21, | - | ||||||||||||||||||||||||||||||
81 | OP_AND_GvEv = 0x23, | - | ||||||||||||||||||||||||||||||
82 | OP_SUB_EvGv = 0x29, | - | ||||||||||||||||||||||||||||||
83 | OP_SUB_GvEv = 0x2B, | - | ||||||||||||||||||||||||||||||
84 | PRE_PREDICT_BRANCH_NOT_TAKEN = 0x2E, | - | ||||||||||||||||||||||||||||||
85 | OP_XOR_EvGv = 0x31, | - | ||||||||||||||||||||||||||||||
86 | OP_XOR_GvEv = 0x33, | - | ||||||||||||||||||||||||||||||
87 | OP_CMP_EvGv = 0x39, | - | ||||||||||||||||||||||||||||||
88 | OP_CMP_GvEv = 0x3B, | - | ||||||||||||||||||||||||||||||
89 | - | |||||||||||||||||||||||||||||||
90 | PRE_REX = 0x40, | - | ||||||||||||||||||||||||||||||
91 | - | |||||||||||||||||||||||||||||||
92 | OP_PUSH_EAX = 0x50, | - | ||||||||||||||||||||||||||||||
93 | OP_POP_EAX = 0x58, | - | ||||||||||||||||||||||||||||||
94 | - | |||||||||||||||||||||||||||||||
95 | OP_MOVSXD_GvEv = 0x63, | - | ||||||||||||||||||||||||||||||
96 | - | |||||||||||||||||||||||||||||||
97 | PRE_OPERAND_SIZE = 0x66, | - | ||||||||||||||||||||||||||||||
98 | PRE_SSE_66 = 0x66, | - | ||||||||||||||||||||||||||||||
99 | OP_PUSH_Iz = 0x68, | - | ||||||||||||||||||||||||||||||
100 | OP_IMUL_GvEvIz = 0x69, | - | ||||||||||||||||||||||||||||||
101 | OP_GROUP1_EbIb = 0x80, | - | ||||||||||||||||||||||||||||||
102 | OP_GROUP1_EvIz = 0x81, | - | ||||||||||||||||||||||||||||||
103 | OP_GROUP1_EvIb = 0x83, | - | ||||||||||||||||||||||||||||||
104 | OP_TEST_EbGb = 0x84, | - | ||||||||||||||||||||||||||||||
105 | OP_TEST_EvGv = 0x85, | - | ||||||||||||||||||||||||||||||
106 | OP_XCHG_EvGv = 0x87, | - | ||||||||||||||||||||||||||||||
107 | OP_MOV_EbGb = 0x88, | - | ||||||||||||||||||||||||||||||
108 | OP_MOV_EvGv = 0x89, | - | ||||||||||||||||||||||||||||||
109 | OP_MOV_GvEv = 0x8B, | - | ||||||||||||||||||||||||||||||
110 | OP_LEA = 0x8D, | - | ||||||||||||||||||||||||||||||
111 | OP_GROUP1A_Ev = 0x8F, | - | ||||||||||||||||||||||||||||||
112 | OP_NOP = 0x90, | - | ||||||||||||||||||||||||||||||
113 | OP_CDQ = 0x99, | - | ||||||||||||||||||||||||||||||
114 | OP_MOV_EAXOv = 0xA1, | - | ||||||||||||||||||||||||||||||
115 | OP_MOV_OvEAX = 0xA3, | - | ||||||||||||||||||||||||||||||
116 | OP_MOV_EAXIv = 0xB8, | - | ||||||||||||||||||||||||||||||
117 | OP_GROUP2_EvIb = 0xC1, | - | ||||||||||||||||||||||||||||||
118 | OP_RET = 0xC3, | - | ||||||||||||||||||||||||||||||
119 | OP_GROUP11_EvIb = 0xC6, | - | ||||||||||||||||||||||||||||||
120 | OP_GROUP11_EvIz = 0xC7, | - | ||||||||||||||||||||||||||||||
121 | OP_INT3 = 0xCC, | - | ||||||||||||||||||||||||||||||
122 | OP_GROUP2_Ev1 = 0xD1, | - | ||||||||||||||||||||||||||||||
123 | OP_GROUP2_EvCL = 0xD3, | - | ||||||||||||||||||||||||||||||
124 | OP_ESCAPE_DD = 0xDD, | - | ||||||||||||||||||||||||||||||
125 | OP_CALL_rel32 = 0xE8, | - | ||||||||||||||||||||||||||||||
126 | OP_JMP_rel32 = 0xE9, | - | ||||||||||||||||||||||||||||||
127 | PRE_SSE_F2 = 0xF2, | - | ||||||||||||||||||||||||||||||
128 | PRE_SSE_F3 = 0xF3, | - | ||||||||||||||||||||||||||||||
129 | OP_HLT = 0xF4, | - | ||||||||||||||||||||||||||||||
130 | OP_GROUP3_EbIb = 0xF6, | - | ||||||||||||||||||||||||||||||
131 | OP_GROUP3_Ev = 0xF7, | - | ||||||||||||||||||||||||||||||
132 | OP_GROUP3_EvIz = 0xF7, | - | ||||||||||||||||||||||||||||||
133 | OP_GROUP5_Ev = 0xFF, | - | ||||||||||||||||||||||||||||||
134 | } OneByteOpcodeID; | - | ||||||||||||||||||||||||||||||
135 | - | |||||||||||||||||||||||||||||||
136 | typedef enum { | - | ||||||||||||||||||||||||||||||
137 | OP2_MOVSD_VsdWsd = 0x10, | - | ||||||||||||||||||||||||||||||
138 | OP2_MOVSD_WsdVsd = 0x11, | - | ||||||||||||||||||||||||||||||
139 | OP2_MOVSS_VsdWsd = 0x10, | - | ||||||||||||||||||||||||||||||
140 | OP2_MOVSS_WsdVsd = 0x11, | - | ||||||||||||||||||||||||||||||
141 | OP2_CVTSI2SD_VsdEd = 0x2A, | - | ||||||||||||||||||||||||||||||
142 | OP2_CVTTSD2SI_GdWsd = 0x2C, | - | ||||||||||||||||||||||||||||||
143 | OP2_UCOMISD_VsdWsd = 0x2E, | - | ||||||||||||||||||||||||||||||
144 | OP2_ADDSD_VsdWsd = 0x58, | - | ||||||||||||||||||||||||||||||
145 | OP2_MULSD_VsdWsd = 0x59, | - | ||||||||||||||||||||||||||||||
146 | OP2_CVTSD2SS_VsdWsd = 0x5A, | - | ||||||||||||||||||||||||||||||
147 | OP2_CVTSS2SD_VsdWsd = 0x5A, | - | ||||||||||||||||||||||||||||||
148 | OP2_SUBSD_VsdWsd = 0x5C, | - | ||||||||||||||||||||||||||||||
149 | OP2_DIVSD_VsdWsd = 0x5E, | - | ||||||||||||||||||||||||||||||
150 | OP2_SQRTSD_VsdWsd = 0x51, | - | ||||||||||||||||||||||||||||||
151 | OP2_ANDNPD_VpdWpd = 0x55, | - | ||||||||||||||||||||||||||||||
152 | OP2_XORPD_VpdWpd = 0x57, | - | ||||||||||||||||||||||||||||||
153 | OP2_MOVD_VdEd = 0x6E, | - | ||||||||||||||||||||||||||||||
154 | OP2_MOVD_EdVd = 0x7E, | - | ||||||||||||||||||||||||||||||
155 | OP2_JCC_rel32 = 0x80, | - | ||||||||||||||||||||||||||||||
156 | OP_SETCC = 0x90, | - | ||||||||||||||||||||||||||||||
157 | OP2_IMUL_GvEv = 0xAF, | - | ||||||||||||||||||||||||||||||
158 | OP2_MOVZX_GvEb = 0xB6, | - | ||||||||||||||||||||||||||||||
159 | OP2_MOVSX_GvEb = 0xBE, | - | ||||||||||||||||||||||||||||||
160 | OP2_MOVZX_GvEw = 0xB7, | - | ||||||||||||||||||||||||||||||
161 | OP2_MOVSX_GvEw = 0xBF, | - | ||||||||||||||||||||||||||||||
162 | OP2_PEXTRW_GdUdIb = 0xC5, | - | ||||||||||||||||||||||||||||||
163 | OP2_PSLLQ_UdqIb = 0x73, | - | ||||||||||||||||||||||||||||||
164 | OP2_PSRLQ_UdqIb = 0x73, | - | ||||||||||||||||||||||||||||||
165 | OP2_POR_VdqWdq = 0XEB, | - | ||||||||||||||||||||||||||||||
166 | } TwoByteOpcodeID; | - | ||||||||||||||||||||||||||||||
167 | - | |||||||||||||||||||||||||||||||
168 | TwoByteOpcodeID jccRel32(Condition cond) | - | ||||||||||||||||||||||||||||||
169 | { | - | ||||||||||||||||||||||||||||||
170 | return executed 6333950 times by 153 tests: (TwoByteOpcodeID)(OP2_JCC_rel32 + cond);return (TwoByteOpcodeID)(OP2_JCC_rel32 + cond); Executed by:
executed 6333950 times by 153 tests: return (TwoByteOpcodeID)(OP2_JCC_rel32 + cond); Executed by:
| 6333950 | ||||||||||||||||||||||||||||||
171 | } | - | ||||||||||||||||||||||||||||||
172 | - | |||||||||||||||||||||||||||||||
173 | TwoByteOpcodeID setccOpcode(Condition cond) | - | ||||||||||||||||||||||||||||||
174 | { | - | ||||||||||||||||||||||||||||||
175 | return executed 2610 times by 34 tests: (TwoByteOpcodeID)(OP_SETCC + cond);return (TwoByteOpcodeID)(OP_SETCC + cond); Executed by:
executed 2610 times by 34 tests: return (TwoByteOpcodeID)(OP_SETCC + cond); Executed by:
| 2610 | ||||||||||||||||||||||||||||||
176 | } | - | ||||||||||||||||||||||||||||||
177 | - | |||||||||||||||||||||||||||||||
178 | typedef enum { | - | ||||||||||||||||||||||||||||||
179 | GROUP1_OP_ADD = 0, | - | ||||||||||||||||||||||||||||||
180 | GROUP1_OP_OR = 1, | - | ||||||||||||||||||||||||||||||
181 | GROUP1_OP_ADC = 2, | - | ||||||||||||||||||||||||||||||
182 | GROUP1_OP_AND = 4, | - | ||||||||||||||||||||||||||||||
183 | GROUP1_OP_SUB = 5, | - | ||||||||||||||||||||||||||||||
184 | GROUP1_OP_XOR = 6, | - | ||||||||||||||||||||||||||||||
185 | GROUP1_OP_CMP = 7, | - | ||||||||||||||||||||||||||||||
186 | - | |||||||||||||||||||||||||||||||
187 | GROUP1A_OP_POP = 0, | - | ||||||||||||||||||||||||||||||
188 | - | |||||||||||||||||||||||||||||||
189 | GROUP2_OP_ROL = 0, | - | ||||||||||||||||||||||||||||||
190 | GROUP2_OP_ROR = 1, | - | ||||||||||||||||||||||||||||||
191 | GROUP2_OP_RCL = 2, | - | ||||||||||||||||||||||||||||||
192 | GROUP2_OP_RCR = 3, | - | ||||||||||||||||||||||||||||||
193 | - | |||||||||||||||||||||||||||||||
194 | GROUP2_OP_SHL = 4, | - | ||||||||||||||||||||||||||||||
195 | GROUP2_OP_SHR = 5, | - | ||||||||||||||||||||||||||||||
196 | GROUP2_OP_SAR = 7, | - | ||||||||||||||||||||||||||||||
197 | - | |||||||||||||||||||||||||||||||
198 | GROUP3_OP_TEST = 0, | - | ||||||||||||||||||||||||||||||
199 | GROUP3_OP_NOT = 2, | - | ||||||||||||||||||||||||||||||
200 | GROUP3_OP_NEG = 3, | - | ||||||||||||||||||||||||||||||
201 | GROUP3_OP_IDIV = 7, | - | ||||||||||||||||||||||||||||||
202 | - | |||||||||||||||||||||||||||||||
203 | GROUP5_OP_CALLN = 2, | - | ||||||||||||||||||||||||||||||
204 | GROUP5_OP_JMPN = 4, | - | ||||||||||||||||||||||||||||||
205 | GROUP5_OP_PUSH = 6, | - | ||||||||||||||||||||||||||||||
206 | - | |||||||||||||||||||||||||||||||
207 | GROUP11_MOV = 0, | - | ||||||||||||||||||||||||||||||
208 | - | |||||||||||||||||||||||||||||||
209 | GROUP14_OP_PSLLQ = 6, | - | ||||||||||||||||||||||||||||||
210 | GROUP14_OP_PSRLQ = 2, | - | ||||||||||||||||||||||||||||||
211 | - | |||||||||||||||||||||||||||||||
212 | ESCAPE_DD_FSTP_doubleReal = 3, | - | ||||||||||||||||||||||||||||||
213 | } GroupOpcodeID; | - | ||||||||||||||||||||||||||||||
214 | - | |||||||||||||||||||||||||||||||
215 | class X86InstructionFormatter; | - | ||||||||||||||||||||||||||||||
216 | public: | - | ||||||||||||||||||||||||||||||
217 | - | |||||||||||||||||||||||||||||||
218 | X86Assembler() | - | ||||||||||||||||||||||||||||||
219 | : m_indexOfLastWatchpoint( | - | ||||||||||||||||||||||||||||||
220 | (-0x7fffffff - 1) | - | ||||||||||||||||||||||||||||||
221 | ) | - | ||||||||||||||||||||||||||||||
222 | , m_indexOfTailOfLastWatchpoint( | - | ||||||||||||||||||||||||||||||
223 | (-0x7fffffff - 1) | - | ||||||||||||||||||||||||||||||
224 | ) | - | ||||||||||||||||||||||||||||||
225 | { | - | ||||||||||||||||||||||||||||||
226 | } executed 1162484 times by 153 tests: end of block Executed by:
| 1162484 | ||||||||||||||||||||||||||||||
227 | void push_r(RegisterID reg) | - | ||||||||||||||||||||||||||||||
228 | { | - | ||||||||||||||||||||||||||||||
229 | m_formatter.oneByteOp(OP_PUSH_EAX, reg); | - | ||||||||||||||||||||||||||||||
230 | } executed 2369091 times by 153 tests: end of block Executed by:
| 2369091 | ||||||||||||||||||||||||||||||
231 | - | |||||||||||||||||||||||||||||||
232 | void pop_r(RegisterID reg) | - | ||||||||||||||||||||||||||||||
233 | { | - | ||||||||||||||||||||||||||||||
234 | m_formatter.oneByteOp(OP_POP_EAX, reg); | - | ||||||||||||||||||||||||||||||
235 | } executed 6960700 times by 153 tests: end of block Executed by:
| 6960700 | ||||||||||||||||||||||||||||||
236 | - | |||||||||||||||||||||||||||||||
237 | void push_i32(int imm) | - | ||||||||||||||||||||||||||||||
238 | { | - | ||||||||||||||||||||||||||||||
239 | m_formatter.oneByteOp(OP_PUSH_Iz); | - | ||||||||||||||||||||||||||||||
240 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
241 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
242 | - | |||||||||||||||||||||||||||||||
243 | void push_m(int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
244 | { | - | ||||||||||||||||||||||||||||||
245 | m_formatter.oneByteOp(OP_GROUP5_Ev, GROUP5_OP_PUSH, base, offset); | - | ||||||||||||||||||||||||||||||
246 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
247 | - | |||||||||||||||||||||||||||||||
248 | void pop_m(int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
249 | { | - | ||||||||||||||||||||||||||||||
250 | m_formatter.oneByteOp(OP_GROUP1A_Ev, GROUP1A_OP_POP, base, offset); | - | ||||||||||||||||||||||||||||||
251 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
252 | void addl_rr(RegisterID src, RegisterID dst) | - | ||||||||||||||||||||||||||||||
253 | { | - | ||||||||||||||||||||||||||||||
254 | m_formatter.oneByteOp(OP_ADD_EvGv, src, dst); | - | ||||||||||||||||||||||||||||||
255 | } executed 2130 times by 29 tests: end of block Executed by:
| 2130 | ||||||||||||||||||||||||||||||
256 | - | |||||||||||||||||||||||||||||||
257 | void addl_mr(int offset, RegisterID base, RegisterID dst) | - | ||||||||||||||||||||||||||||||
258 | { | - | ||||||||||||||||||||||||||||||
259 | m_formatter.oneByteOp(OP_ADD_GvEv, dst, base, offset); | - | ||||||||||||||||||||||||||||||
260 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
261 | void addl_rm(RegisterID src, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
262 | { | - | ||||||||||||||||||||||||||||||
263 | m_formatter.oneByteOp(OP_ADD_EvGv, src, base, offset); | - | ||||||||||||||||||||||||||||||
264 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
265 | - | |||||||||||||||||||||||||||||||
266 | void addl_ir(int imm, RegisterID dst) | - | ||||||||||||||||||||||||||||||
267 | { | - | ||||||||||||||||||||||||||||||
268 | if (CAN_SIGN_EXTEND_8_32(imm)
| 0-3354681 | ||||||||||||||||||||||||||||||
269 | m_formatter.oneByteOp(OP_GROUP1_EvIb, GROUP1_OP_ADD, dst); | - | ||||||||||||||||||||||||||||||
270 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
271 | } executed 3359834 times by 153 tests: else {end of block Executed by:
| 3359834 | ||||||||||||||||||||||||||||||
272 | m_formatter.oneByteOp(OP_GROUP1_EvIz, GROUP1_OP_ADD, dst); | - | ||||||||||||||||||||||||||||||
273 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
274 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
275 | } | - | ||||||||||||||||||||||||||||||
276 | - | |||||||||||||||||||||||||||||||
277 | void addl_im(int imm, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
278 | { | - | ||||||||||||||||||||||||||||||
279 | if (CAN_SIGN_EXTEND_8_32(imm)
| 0 | ||||||||||||||||||||||||||||||
280 | m_formatter.oneByteOp(OP_GROUP1_EvIb, GROUP1_OP_ADD, base, offset); | - | ||||||||||||||||||||||||||||||
281 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
282 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||||||||
283 | m_formatter.oneByteOp(OP_GROUP1_EvIz, GROUP1_OP_ADD, base, offset); | - | ||||||||||||||||||||||||||||||
284 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
285 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
286 | } | - | ||||||||||||||||||||||||||||||
287 | - | |||||||||||||||||||||||||||||||
288 | - | |||||||||||||||||||||||||||||||
289 | void addq_rr(RegisterID src, RegisterID dst) | - | ||||||||||||||||||||||||||||||
290 | { | - | ||||||||||||||||||||||||||||||
291 | m_formatter.oneByteOp64(OP_ADD_EvGv, src, dst); | - | ||||||||||||||||||||||||||||||
292 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
293 | - | |||||||||||||||||||||||||||||||
294 | void addq_mr(int offset, RegisterID base, RegisterID dst) | - | ||||||||||||||||||||||||||||||
295 | { | - | ||||||||||||||||||||||||||||||
296 | m_formatter.oneByteOp64(OP_ADD_GvEv, dst, base, offset); | - | ||||||||||||||||||||||||||||||
297 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
298 | - | |||||||||||||||||||||||||||||||
299 | void addq_ir(int imm, RegisterID dst) | - | ||||||||||||||||||||||||||||||
300 | { | - | ||||||||||||||||||||||||||||||
301 | if (CAN_SIGN_EXTEND_8_32(imm)
| 0-15354 | ||||||||||||||||||||||||||||||
302 | m_formatter.oneByteOp64(OP_GROUP1_EvIb, GROUP1_OP_ADD, dst); | - | ||||||||||||||||||||||||||||||
303 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
304 | } executed 15352 times by 65 tests: else {end of block Executed by:
| 15352 | ||||||||||||||||||||||||||||||
305 | m_formatter.oneByteOp64(OP_GROUP1_EvIz, GROUP1_OP_ADD, dst); | - | ||||||||||||||||||||||||||||||
306 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
307 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
308 | } | - | ||||||||||||||||||||||||||||||
309 | - | |||||||||||||||||||||||||||||||
310 | void addq_im(int imm, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
311 | { | - | ||||||||||||||||||||||||||||||
312 | if (CAN_SIGN_EXTEND_8_32(imm)
| 0 | ||||||||||||||||||||||||||||||
313 | m_formatter.oneByteOp64(OP_GROUP1_EvIb, GROUP1_OP_ADD, base, offset); | - | ||||||||||||||||||||||||||||||
314 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
315 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||||||||
316 | m_formatter.oneByteOp64(OP_GROUP1_EvIz, GROUP1_OP_ADD, base, offset); | - | ||||||||||||||||||||||||||||||
317 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
318 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
319 | } | - | ||||||||||||||||||||||||||||||
320 | void andl_rr(RegisterID src, RegisterID dst) | - | ||||||||||||||||||||||||||||||
321 | { | - | ||||||||||||||||||||||||||||||
322 | m_formatter.oneByteOp(OP_AND_EvGv, src, dst); | - | ||||||||||||||||||||||||||||||
323 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
324 | - | |||||||||||||||||||||||||||||||
325 | void andl_mr(int offset, RegisterID base, RegisterID dst) | - | ||||||||||||||||||||||||||||||
326 | { | - | ||||||||||||||||||||||||||||||
327 | m_formatter.oneByteOp(OP_AND_GvEv, dst, base, offset); | - | ||||||||||||||||||||||||||||||
328 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
329 | - | |||||||||||||||||||||||||||||||
330 | void andl_rm(RegisterID src, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
331 | { | - | ||||||||||||||||||||||||||||||
332 | m_formatter.oneByteOp(OP_AND_EvGv, src, base, offset); | - | ||||||||||||||||||||||||||||||
333 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
334 | - | |||||||||||||||||||||||||||||||
335 | void andl_ir(int imm, RegisterID dst) | - | ||||||||||||||||||||||||||||||
336 | { | - | ||||||||||||||||||||||||||||||
337 | if (CAN_SIGN_EXTEND_8_32(imm)
| 0-3812 | ||||||||||||||||||||||||||||||
338 | m_formatter.oneByteOp(OP_GROUP1_EvIb, GROUP1_OP_AND, dst); | - | ||||||||||||||||||||||||||||||
339 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
340 | } executed 3812 times by 38 tests: else {end of block Executed by:
| 3812 | ||||||||||||||||||||||||||||||
341 | m_formatter.oneByteOp(OP_GROUP1_EvIz, GROUP1_OP_AND, dst); | - | ||||||||||||||||||||||||||||||
342 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
343 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
344 | } | - | ||||||||||||||||||||||||||||||
345 | - | |||||||||||||||||||||||||||||||
346 | void andl_im(int imm, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
347 | { | - | ||||||||||||||||||||||||||||||
348 | if (CAN_SIGN_EXTEND_8_32(imm)
| 0 | ||||||||||||||||||||||||||||||
349 | m_formatter.oneByteOp(OP_GROUP1_EvIb, GROUP1_OP_AND, base, offset); | - | ||||||||||||||||||||||||||||||
350 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
351 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||||||||
352 | m_formatter.oneByteOp(OP_GROUP1_EvIz, GROUP1_OP_AND, base, offset); | - | ||||||||||||||||||||||||||||||
353 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
354 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
355 | } | - | ||||||||||||||||||||||||||||||
356 | - | |||||||||||||||||||||||||||||||
357 | - | |||||||||||||||||||||||||||||||
358 | void andq_rr(RegisterID src, RegisterID dst) | - | ||||||||||||||||||||||||||||||
359 | { | - | ||||||||||||||||||||||||||||||
360 | m_formatter.oneByteOp64(OP_AND_EvGv, src, dst); | - | ||||||||||||||||||||||||||||||
361 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
362 | - | |||||||||||||||||||||||||||||||
363 | void andq_ir(int imm, RegisterID dst) | - | ||||||||||||||||||||||||||||||
364 | { | - | ||||||||||||||||||||||||||||||
365 | if (CAN_SIGN_EXTEND_8_32(imm)
| 0 | ||||||||||||||||||||||||||||||
366 | m_formatter.oneByteOp64(OP_GROUP1_EvIb, GROUP1_OP_AND, dst); | - | ||||||||||||||||||||||||||||||
367 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
368 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||||||||
369 | m_formatter.oneByteOp64(OP_GROUP1_EvIz, GROUP1_OP_AND, dst); | - | ||||||||||||||||||||||||||||||
370 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
371 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
372 | } | - | ||||||||||||||||||||||||||||||
373 | void negl_r(RegisterID dst) | - | ||||||||||||||||||||||||||||||
374 | { | - | ||||||||||||||||||||||||||||||
375 | m_formatter.oneByteOp(OP_GROUP3_Ev, GROUP3_OP_NEG, dst); | - | ||||||||||||||||||||||||||||||
376 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
377 | - | |||||||||||||||||||||||||||||||
378 | - | |||||||||||||||||||||||||||||||
379 | void negq_r(RegisterID dst) | - | ||||||||||||||||||||||||||||||
380 | { | - | ||||||||||||||||||||||||||||||
381 | m_formatter.oneByteOp64(OP_GROUP3_Ev, GROUP3_OP_NEG, dst); | - | ||||||||||||||||||||||||||||||
382 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
383 | - | |||||||||||||||||||||||||||||||
384 | - | |||||||||||||||||||||||||||||||
385 | void negl_m(int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
386 | { | - | ||||||||||||||||||||||||||||||
387 | m_formatter.oneByteOp(OP_GROUP3_Ev, GROUP3_OP_NEG, base, offset); | - | ||||||||||||||||||||||||||||||
388 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
389 | - | |||||||||||||||||||||||||||||||
390 | void notl_r(RegisterID dst) | - | ||||||||||||||||||||||||||||||
391 | { | - | ||||||||||||||||||||||||||||||
392 | m_formatter.oneByteOp(OP_GROUP3_Ev, GROUP3_OP_NOT, dst); | - | ||||||||||||||||||||||||||||||
393 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
394 | - | |||||||||||||||||||||||||||||||
395 | void notl_m(int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
396 | { | - | ||||||||||||||||||||||||||||||
397 | m_formatter.oneByteOp(OP_GROUP3_Ev, GROUP3_OP_NOT, base, offset); | - | ||||||||||||||||||||||||||||||
398 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
399 | - | |||||||||||||||||||||||||||||||
400 | void orl_rr(RegisterID src, RegisterID dst) | - | ||||||||||||||||||||||||||||||
401 | { | - | ||||||||||||||||||||||||||||||
402 | m_formatter.oneByteOp(OP_OR_EvGv, src, dst); | - | ||||||||||||||||||||||||||||||
403 | } executed 14 times by 1 test: end of block Executed by:
| 14 | ||||||||||||||||||||||||||||||
404 | - | |||||||||||||||||||||||||||||||
405 | void orl_mr(int offset, RegisterID base, RegisterID dst) | - | ||||||||||||||||||||||||||||||
406 | { | - | ||||||||||||||||||||||||||||||
407 | m_formatter.oneByteOp(OP_OR_GvEv, dst, base, offset); | - | ||||||||||||||||||||||||||||||
408 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
409 | - | |||||||||||||||||||||||||||||||
410 | void orl_rm(RegisterID src, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
411 | { | - | ||||||||||||||||||||||||||||||
412 | m_formatter.oneByteOp(OP_OR_EvGv, src, base, offset); | - | ||||||||||||||||||||||||||||||
413 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
414 | - | |||||||||||||||||||||||||||||||
415 | void orl_ir(int imm, RegisterID dst) | - | ||||||||||||||||||||||||||||||
416 | { | - | ||||||||||||||||||||||||||||||
417 | if (CAN_SIGN_EXTEND_8_32(imm)
| 92-138 | ||||||||||||||||||||||||||||||
418 | m_formatter.oneByteOp(OP_GROUP1_EvIb, GROUP1_OP_OR, dst); | - | ||||||||||||||||||||||||||||||
419 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
420 | } executed 92 times by 3 tests: else {end of block Executed by:
| 92 | ||||||||||||||||||||||||||||||
421 | m_formatter.oneByteOp(OP_GROUP1_EvIz, GROUP1_OP_OR, dst); | - | ||||||||||||||||||||||||||||||
422 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
423 | } executed 138 times by 3 tests: end of block Executed by:
| 138 | ||||||||||||||||||||||||||||||
424 | } | - | ||||||||||||||||||||||||||||||
425 | - | |||||||||||||||||||||||||||||||
426 | void orl_im(int imm, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
427 | { | - | ||||||||||||||||||||||||||||||
428 | if (CAN_SIGN_EXTEND_8_32(imm)
| 0 | ||||||||||||||||||||||||||||||
429 | m_formatter.oneByteOp(OP_GROUP1_EvIb, GROUP1_OP_OR, base, offset); | - | ||||||||||||||||||||||||||||||
430 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
431 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||||||||
432 | m_formatter.oneByteOp(OP_GROUP1_EvIz, GROUP1_OP_OR, base, offset); | - | ||||||||||||||||||||||||||||||
433 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
434 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
435 | } | - | ||||||||||||||||||||||||||||||
436 | - | |||||||||||||||||||||||||||||||
437 | - | |||||||||||||||||||||||||||||||
438 | void orq_rr(RegisterID src, RegisterID dst) | - | ||||||||||||||||||||||||||||||
439 | { | - | ||||||||||||||||||||||||||||||
440 | m_formatter.oneByteOp64(OP_OR_EvGv, src, dst); | - | ||||||||||||||||||||||||||||||
441 | } executed 9250 times by 48 tests: end of block Executed by:
| 9250 | ||||||||||||||||||||||||||||||
442 | - | |||||||||||||||||||||||||||||||
443 | void orq_ir(int imm, RegisterID dst) | - | ||||||||||||||||||||||||||||||
444 | { | - | ||||||||||||||||||||||||||||||
445 | if (CAN_SIGN_EXTEND_8_32(imm)
| 0 | ||||||||||||||||||||||||||||||
446 | m_formatter.oneByteOp64(OP_GROUP1_EvIb, GROUP1_OP_OR, dst); | - | ||||||||||||||||||||||||||||||
447 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
448 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||||||||
449 | m_formatter.oneByteOp64(OP_GROUP1_EvIz, GROUP1_OP_OR, dst); | - | ||||||||||||||||||||||||||||||
450 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
451 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
452 | } | - | ||||||||||||||||||||||||||||||
453 | void subl_rr(RegisterID src, RegisterID dst) | - | ||||||||||||||||||||||||||||||
454 | { | - | ||||||||||||||||||||||||||||||
455 | m_formatter.oneByteOp(OP_SUB_EvGv, src, dst); | - | ||||||||||||||||||||||||||||||
456 | } executed 720 times by 22 tests: end of block Executed by:
| 720 | ||||||||||||||||||||||||||||||
457 | - | |||||||||||||||||||||||||||||||
458 | void subl_mr(int offset, RegisterID base, RegisterID dst) | - | ||||||||||||||||||||||||||||||
459 | { | - | ||||||||||||||||||||||||||||||
460 | m_formatter.oneByteOp(OP_SUB_GvEv, dst, base, offset); | - | ||||||||||||||||||||||||||||||
461 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
462 | - | |||||||||||||||||||||||||||||||
463 | void subl_rm(RegisterID src, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
464 | { | - | ||||||||||||||||||||||||||||||
465 | m_formatter.oneByteOp(OP_SUB_EvGv, src, base, offset); | - | ||||||||||||||||||||||||||||||
466 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
467 | - | |||||||||||||||||||||||||||||||
468 | void subl_ir(int imm, RegisterID dst) | - | ||||||||||||||||||||||||||||||
469 | { | - | ||||||||||||||||||||||||||||||
470 | if (CAN_SIGN_EXTEND_8_32(imm)
| 0-1056849 | ||||||||||||||||||||||||||||||
471 | m_formatter.oneByteOp(OP_GROUP1_EvIb, GROUP1_OP_SUB, dst); | - | ||||||||||||||||||||||||||||||
472 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
473 | } executed 1057530 times by 16 tests: else {end of block Executed by:
| 1057530 | ||||||||||||||||||||||||||||||
474 | m_formatter.oneByteOp(OP_GROUP1_EvIz, GROUP1_OP_SUB, dst); | - | ||||||||||||||||||||||||||||||
475 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
476 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
477 | } | - | ||||||||||||||||||||||||||||||
478 | - | |||||||||||||||||||||||||||||||
479 | void subl_im(int imm, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
480 | { | - | ||||||||||||||||||||||||||||||
481 | if (CAN_SIGN_EXTEND_8_32(imm)
| 0 | ||||||||||||||||||||||||||||||
482 | m_formatter.oneByteOp(OP_GROUP1_EvIb, GROUP1_OP_SUB, base, offset); | - | ||||||||||||||||||||||||||||||
483 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
484 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||||||||
485 | m_formatter.oneByteOp(OP_GROUP1_EvIz, GROUP1_OP_SUB, base, offset); | - | ||||||||||||||||||||||||||||||
486 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
487 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
488 | } | - | ||||||||||||||||||||||||||||||
489 | - | |||||||||||||||||||||||||||||||
490 | - | |||||||||||||||||||||||||||||||
491 | void subq_rr(RegisterID src, RegisterID dst) | - | ||||||||||||||||||||||||||||||
492 | { | - | ||||||||||||||||||||||||||||||
493 | m_formatter.oneByteOp64(OP_SUB_EvGv, src, dst); | - | ||||||||||||||||||||||||||||||
494 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
495 | - | |||||||||||||||||||||||||||||||
496 | void subq_ir(int imm, RegisterID dst) | - | ||||||||||||||||||||||||||||||
497 | { | - | ||||||||||||||||||||||||||||||
498 | if (CAN_SIGN_EXTEND_8_32(imm)
| 12-1213 | ||||||||||||||||||||||||||||||
499 | m_formatter.oneByteOp64(OP_GROUP1_EvIb, GROUP1_OP_SUB, dst); | - | ||||||||||||||||||||||||||||||
500 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
501 | } executed 1218 times by 16 tests: else {end of block Executed by:
| 1218 | ||||||||||||||||||||||||||||||
502 | m_formatter.oneByteOp64(OP_GROUP1_EvIz, GROUP1_OP_SUB, dst); | - | ||||||||||||||||||||||||||||||
503 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
504 | } executed 12 times by 1 test: end of block Executed by:
| 12 | ||||||||||||||||||||||||||||||
505 | } | - | ||||||||||||||||||||||||||||||
506 | void xorl_rr(RegisterID src, RegisterID dst) | - | ||||||||||||||||||||||||||||||
507 | { | - | ||||||||||||||||||||||||||||||
508 | m_formatter.oneByteOp(OP_XOR_EvGv, src, dst); | - | ||||||||||||||||||||||||||||||
509 | } executed 2305469 times by 153 tests: end of block Executed by:
| 2305469 | ||||||||||||||||||||||||||||||
510 | - | |||||||||||||||||||||||||||||||
511 | void xorl_mr(int offset, RegisterID base, RegisterID dst) | - | ||||||||||||||||||||||||||||||
512 | { | - | ||||||||||||||||||||||||||||||
513 | m_formatter.oneByteOp(OP_XOR_GvEv, dst, base, offset); | - | ||||||||||||||||||||||||||||||
514 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
515 | - | |||||||||||||||||||||||||||||||
516 | void xorl_rm(RegisterID src, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
517 | { | - | ||||||||||||||||||||||||||||||
518 | m_formatter.oneByteOp(OP_XOR_EvGv, src, base, offset); | - | ||||||||||||||||||||||||||||||
519 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
520 | - | |||||||||||||||||||||||||||||||
521 | void xorl_im(int imm, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
522 | { | - | ||||||||||||||||||||||||||||||
523 | if (CAN_SIGN_EXTEND_8_32(imm)
| 0 | ||||||||||||||||||||||||||||||
524 | m_formatter.oneByteOp(OP_GROUP1_EvIb, GROUP1_OP_XOR, base, offset); | - | ||||||||||||||||||||||||||||||
525 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
526 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||||||||
527 | m_formatter.oneByteOp(OP_GROUP1_EvIz, GROUP1_OP_XOR, base, offset); | - | ||||||||||||||||||||||||||||||
528 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
529 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
530 | } | - | ||||||||||||||||||||||||||||||
531 | - | |||||||||||||||||||||||||||||||
532 | void xorl_ir(int imm, RegisterID dst) | - | ||||||||||||||||||||||||||||||
533 | { | - | ||||||||||||||||||||||||||||||
534 | if (CAN_SIGN_EXTEND_8_32(imm)
| 0-56 | ||||||||||||||||||||||||||||||
535 | m_formatter.oneByteOp(OP_GROUP1_EvIb, GROUP1_OP_XOR, dst); | - | ||||||||||||||||||||||||||||||
536 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
537 | } executed 56 times by 6 tests: else {end of block Executed by:
| 56 | ||||||||||||||||||||||||||||||
538 | m_formatter.oneByteOp(OP_GROUP1_EvIz, GROUP1_OP_XOR, dst); | - | ||||||||||||||||||||||||||||||
539 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
540 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
541 | } | - | ||||||||||||||||||||||||||||||
542 | - | |||||||||||||||||||||||||||||||
543 | - | |||||||||||||||||||||||||||||||
544 | void xorq_rr(RegisterID src, RegisterID dst) | - | ||||||||||||||||||||||||||||||
545 | { | - | ||||||||||||||||||||||||||||||
546 | m_formatter.oneByteOp64(OP_XOR_EvGv, src, dst); | - | ||||||||||||||||||||||||||||||
547 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
548 | - | |||||||||||||||||||||||||||||||
549 | void xorq_ir(int imm, RegisterID dst) | - | ||||||||||||||||||||||||||||||
550 | { | - | ||||||||||||||||||||||||||||||
551 | if (CAN_SIGN_EXTEND_8_32(imm)
| 0 | ||||||||||||||||||||||||||||||
552 | m_formatter.oneByteOp64(OP_GROUP1_EvIb, GROUP1_OP_XOR, dst); | - | ||||||||||||||||||||||||||||||
553 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
554 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||||||||
555 | m_formatter.oneByteOp64(OP_GROUP1_EvIz, GROUP1_OP_XOR, dst); | - | ||||||||||||||||||||||||||||||
556 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
557 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
558 | } | - | ||||||||||||||||||||||||||||||
559 | - | |||||||||||||||||||||||||||||||
560 | void xorq_rm(RegisterID src, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
561 | { | - | ||||||||||||||||||||||||||||||
562 | m_formatter.oneByteOp64(OP_XOR_EvGv, src, base, offset); | - | ||||||||||||||||||||||||||||||
563 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
564 | - | |||||||||||||||||||||||||||||||
565 | void rorq_i8r(int imm, RegisterID dst) | - | ||||||||||||||||||||||||||||||
566 | { | - | ||||||||||||||||||||||||||||||
567 | if (imm == 1
| 0 | ||||||||||||||||||||||||||||||
568 | m_formatter.oneByteOp64(OP_GROUP2_Ev1, GROUP2_OP_ROR, dst); never executed: m_formatter.oneByteOp64(OP_GROUP2_Ev1, GROUP2_OP_ROR, dst); | 0 | ||||||||||||||||||||||||||||||
569 | else { | - | ||||||||||||||||||||||||||||||
570 | m_formatter.oneByteOp64(OP_GROUP2_EvIb, GROUP2_OP_ROR, dst); | - | ||||||||||||||||||||||||||||||
571 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
572 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
573 | } | - | ||||||||||||||||||||||||||||||
574 | - | |||||||||||||||||||||||||||||||
575 | void sarq_CLr(RegisterID dst) | - | ||||||||||||||||||||||||||||||
576 | { | - | ||||||||||||||||||||||||||||||
577 | m_formatter.oneByteOp64(OP_GROUP2_EvCL, GROUP2_OP_SAR, dst); | - | ||||||||||||||||||||||||||||||
578 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
579 | - | |||||||||||||||||||||||||||||||
580 | void sarq_i8r(int imm, RegisterID dst) | - | ||||||||||||||||||||||||||||||
581 | { | - | ||||||||||||||||||||||||||||||
582 | if (imm == 1
| 0-8 | ||||||||||||||||||||||||||||||
583 | m_formatter.oneByteOp64(OP_GROUP2_Ev1, GROUP2_OP_SAR, dst); never executed: m_formatter.oneByteOp64(OP_GROUP2_Ev1, GROUP2_OP_SAR, dst); | 0 | ||||||||||||||||||||||||||||||
584 | else { | - | ||||||||||||||||||||||||||||||
585 | m_formatter.oneByteOp64(OP_GROUP2_EvIb, GROUP2_OP_SAR, dst); | - | ||||||||||||||||||||||||||||||
586 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
587 | } executed 8 times by 1 test: end of block Executed by:
| 8 | ||||||||||||||||||||||||||||||
588 | } | - | ||||||||||||||||||||||||||||||
589 | - | |||||||||||||||||||||||||||||||
590 | void shrq_i8r(int imm, RegisterID dst) | - | ||||||||||||||||||||||||||||||
591 | { | - | ||||||||||||||||||||||||||||||
592 | - | |||||||||||||||||||||||||||||||
593 | if (0 && imm == 1 dead code: )imm == 1 | - | ||||||||||||||||||||||||||||||
594 | m_formatter.oneByteOp64(OP_GROUP2_Ev1, GROUP2_OP_SHR, dst); dead code: m_formatter.oneByteOp64(OP_GROUP2_Ev1, GROUP2_OP_SHR, dst); | - | ||||||||||||||||||||||||||||||
595 | else { | - | ||||||||||||||||||||||||||||||
596 | m_formatter.oneByteOp64(OP_GROUP2_EvIb, GROUP2_OP_SHR, dst); | - | ||||||||||||||||||||||||||||||
597 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
598 | } executed 16462 times by 50 tests: end of block Executed by:
| 16462 | ||||||||||||||||||||||||||||||
599 | } | - | ||||||||||||||||||||||||||||||
600 | - | |||||||||||||||||||||||||||||||
601 | void shrq_CLr(RegisterID dst) | - | ||||||||||||||||||||||||||||||
602 | { | - | ||||||||||||||||||||||||||||||
603 | m_formatter.oneByteOp64(OP_GROUP2_EvCL, GROUP2_OP_SHR, dst); | - | ||||||||||||||||||||||||||||||
604 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
605 | - | |||||||||||||||||||||||||||||||
606 | void shlq_i8r(int imm, RegisterID dst) | - | ||||||||||||||||||||||||||||||
607 | { | - | ||||||||||||||||||||||||||||||
608 | - | |||||||||||||||||||||||||||||||
609 | if (0 && imm == 1 dead code: )imm == 1 | - | ||||||||||||||||||||||||||||||
610 | m_formatter.oneByteOp64(OP_GROUP2_Ev1, GROUP2_OP_SHL, dst); dead code: m_formatter.oneByteOp64(OP_GROUP2_Ev1, GROUP2_OP_SHL, dst); | - | ||||||||||||||||||||||||||||||
611 | else { | - | ||||||||||||||||||||||||||||||
612 | m_formatter.oneByteOp64(OP_GROUP2_EvIb, GROUP2_OP_SHL, dst); | - | ||||||||||||||||||||||||||||||
613 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
614 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
615 | } | - | ||||||||||||||||||||||||||||||
616 | - | |||||||||||||||||||||||||||||||
617 | void shlq_CLr(RegisterID dst) | - | ||||||||||||||||||||||||||||||
618 | { | - | ||||||||||||||||||||||||||||||
619 | m_formatter.oneByteOp64(OP_GROUP2_EvCL, GROUP2_OP_SHL, dst); | - | ||||||||||||||||||||||||||||||
620 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
621 | - | |||||||||||||||||||||||||||||||
622 | - | |||||||||||||||||||||||||||||||
623 | void sarl_i8r(int imm, RegisterID dst) | - | ||||||||||||||||||||||||||||||
624 | { | - | ||||||||||||||||||||||||||||||
625 | if (imm == 1
| 0 | ||||||||||||||||||||||||||||||
626 | m_formatter.oneByteOp(OP_GROUP2_Ev1, GROUP2_OP_SAR, dst); never executed: m_formatter.oneByteOp(OP_GROUP2_Ev1, GROUP2_OP_SAR, dst); | 0 | ||||||||||||||||||||||||||||||
627 | else { | - | ||||||||||||||||||||||||||||||
628 | m_formatter.oneByteOp(OP_GROUP2_EvIb, GROUP2_OP_SAR, dst); | - | ||||||||||||||||||||||||||||||
629 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
630 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
631 | } | - | ||||||||||||||||||||||||||||||
632 | - | |||||||||||||||||||||||||||||||
633 | void sarl_CLr(RegisterID dst) | - | ||||||||||||||||||||||||||||||
634 | { | - | ||||||||||||||||||||||||||||||
635 | m_formatter.oneByteOp(OP_GROUP2_EvCL, GROUP2_OP_SAR, dst); | - | ||||||||||||||||||||||||||||||
636 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
637 | - | |||||||||||||||||||||||||||||||
638 | void shrl_i8r(int imm, RegisterID dst) | - | ||||||||||||||||||||||||||||||
639 | { | - | ||||||||||||||||||||||||||||||
640 | if (imm == 1
| 0 | ||||||||||||||||||||||||||||||
641 | m_formatter.oneByteOp(OP_GROUP2_Ev1, GROUP2_OP_SHR, dst); never executed: m_formatter.oneByteOp(OP_GROUP2_Ev1, GROUP2_OP_SHR, dst); | 0 | ||||||||||||||||||||||||||||||
642 | else { | - | ||||||||||||||||||||||||||||||
643 | m_formatter.oneByteOp(OP_GROUP2_EvIb, GROUP2_OP_SHR, dst); | - | ||||||||||||||||||||||||||||||
644 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
645 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
646 | } | - | ||||||||||||||||||||||||||||||
647 | - | |||||||||||||||||||||||||||||||
648 | void shrl_CLr(RegisterID dst) | - | ||||||||||||||||||||||||||||||
649 | { | - | ||||||||||||||||||||||||||||||
650 | m_formatter.oneByteOp(OP_GROUP2_EvCL, GROUP2_OP_SHR, dst); | - | ||||||||||||||||||||||||||||||
651 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
652 | - | |||||||||||||||||||||||||||||||
653 | void shll_i8r(int imm, RegisterID dst) | - | ||||||||||||||||||||||||||||||
654 | { | - | ||||||||||||||||||||||||||||||
655 | if (imm == 1
| 0 | ||||||||||||||||||||||||||||||
656 | m_formatter.oneByteOp(OP_GROUP2_Ev1, GROUP2_OP_SHL, dst); never executed: m_formatter.oneByteOp(OP_GROUP2_Ev1, GROUP2_OP_SHL, dst); | 0 | ||||||||||||||||||||||||||||||
657 | else { | - | ||||||||||||||||||||||||||||||
658 | m_formatter.oneByteOp(OP_GROUP2_EvIb, GROUP2_OP_SHL, dst); | - | ||||||||||||||||||||||||||||||
659 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
660 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
661 | } | - | ||||||||||||||||||||||||||||||
662 | - | |||||||||||||||||||||||||||||||
663 | void shll_CLr(RegisterID dst) | - | ||||||||||||||||||||||||||||||
664 | { | - | ||||||||||||||||||||||||||||||
665 | m_formatter.oneByteOp(OP_GROUP2_EvCL, GROUP2_OP_SHL, dst); | - | ||||||||||||||||||||||||||||||
666 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
667 | - | |||||||||||||||||||||||||||||||
668 | void imull_rr(RegisterID src, RegisterID dst) | - | ||||||||||||||||||||||||||||||
669 | { | - | ||||||||||||||||||||||||||||||
670 | m_formatter.twoByteOp(OP2_IMUL_GvEv, dst, src); | - | ||||||||||||||||||||||||||||||
671 | } executed 896 times by 13 tests: end of block Executed by:
| 896 | ||||||||||||||||||||||||||||||
672 | - | |||||||||||||||||||||||||||||||
673 | void imull_mr(int offset, RegisterID base, RegisterID dst) | - | ||||||||||||||||||||||||||||||
674 | { | - | ||||||||||||||||||||||||||||||
675 | m_formatter.twoByteOp(OP2_IMUL_GvEv, dst, base, offset); | - | ||||||||||||||||||||||||||||||
676 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
677 | - | |||||||||||||||||||||||||||||||
678 | void imull_i32r(RegisterID src, int32_t value, RegisterID dst) | - | ||||||||||||||||||||||||||||||
679 | { | - | ||||||||||||||||||||||||||||||
680 | m_formatter.oneByteOp(OP_IMUL_GvEvIz, dst, src); | - | ||||||||||||||||||||||||||||||
681 | m_formatter.immediate32(value); | - | ||||||||||||||||||||||||||||||
682 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
683 | - | |||||||||||||||||||||||||||||||
684 | void idivl_r(RegisterID dst) | - | ||||||||||||||||||||||||||||||
685 | { | - | ||||||||||||||||||||||||||||||
686 | m_formatter.oneByteOp(OP_GROUP3_Ev, GROUP3_OP_IDIV, dst); | - | ||||||||||||||||||||||||||||||
687 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
688 | - | |||||||||||||||||||||||||||||||
689 | - | |||||||||||||||||||||||||||||||
690 | - | |||||||||||||||||||||||||||||||
691 | void cmpl_rr(RegisterID src, RegisterID dst) | - | ||||||||||||||||||||||||||||||
692 | { | - | ||||||||||||||||||||||||||||||
693 | m_formatter.oneByteOp(OP_CMP_EvGv, src, dst); | - | ||||||||||||||||||||||||||||||
694 | } executed 4605396 times by 153 tests: end of block Executed by:
| 4605396 | ||||||||||||||||||||||||||||||
695 | - | |||||||||||||||||||||||||||||||
696 | void cmpl_rm(RegisterID src, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
697 | { | - | ||||||||||||||||||||||||||||||
698 | m_formatter.oneByteOp(OP_CMP_EvGv, src, base, offset); | - | ||||||||||||||||||||||||||||||
699 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
700 | - | |||||||||||||||||||||||||||||||
701 | void cmpl_mr(int offset, RegisterID base, RegisterID src) | - | ||||||||||||||||||||||||||||||
702 | { | - | ||||||||||||||||||||||||||||||
703 | m_formatter.oneByteOp(OP_CMP_GvEv, src, base, offset); | - | ||||||||||||||||||||||||||||||
704 | } executed 11 times by 1 test: end of block Executed by:
| 11 | ||||||||||||||||||||||||||||||
705 | - | |||||||||||||||||||||||||||||||
706 | void cmpl_ir(int imm, RegisterID dst) | - | ||||||||||||||||||||||||||||||
707 | { | - | ||||||||||||||||||||||||||||||
708 | if (CAN_SIGN_EXTEND_8_32(imm)
| 23913-1622428 | ||||||||||||||||||||||||||||||
709 | m_formatter.oneByteOp(OP_GROUP1_EvIb, GROUP1_OP_CMP, dst); | - | ||||||||||||||||||||||||||||||
710 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
711 | } executed 23924 times by 43 tests: else {end of block Executed by:
| 23924 | ||||||||||||||||||||||||||||||
712 | m_formatter.oneByteOp(OP_GROUP1_EvIz, GROUP1_OP_CMP, dst); | - | ||||||||||||||||||||||||||||||
713 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
714 | } executed 1624209 times by 49 tests: end of block Executed by:
| 1624209 | ||||||||||||||||||||||||||||||
715 | } | - | ||||||||||||||||||||||||||||||
716 | - | |||||||||||||||||||||||||||||||
717 | void cmpl_ir_force32(int imm, RegisterID dst) | - | ||||||||||||||||||||||||||||||
718 | { | - | ||||||||||||||||||||||||||||||
719 | m_formatter.oneByteOp(OP_GROUP1_EvIz, GROUP1_OP_CMP, dst); | - | ||||||||||||||||||||||||||||||
720 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
721 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
722 | - | |||||||||||||||||||||||||||||||
723 | void cmpl_im(int imm, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
724 | { | - | ||||||||||||||||||||||||||||||
725 | if (CAN_SIGN_EXTEND_8_32(imm)
| 0-52783 | ||||||||||||||||||||||||||||||
726 | m_formatter.oneByteOp(OP_GROUP1_EvIb, GROUP1_OP_CMP, base, offset); | - | ||||||||||||||||||||||||||||||
727 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
728 | } executed 52784 times by 64 tests: else {end of block Executed by:
| 52784 | ||||||||||||||||||||||||||||||
729 | m_formatter.oneByteOp(OP_GROUP1_EvIz, GROUP1_OP_CMP, base, offset); | - | ||||||||||||||||||||||||||||||
730 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
731 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
732 | } | - | ||||||||||||||||||||||||||||||
733 | - | |||||||||||||||||||||||||||||||
734 | void cmpb_im(int imm, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
735 | { | - | ||||||||||||||||||||||||||||||
736 | m_formatter.oneByteOp(OP_GROUP1_EbIb, GROUP1_OP_CMP, base, offset); | - | ||||||||||||||||||||||||||||||
737 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
738 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
739 | - | |||||||||||||||||||||||||||||||
740 | void cmpb_im(int imm, int offset, RegisterID base, RegisterID index, int scale) | - | ||||||||||||||||||||||||||||||
741 | { | - | ||||||||||||||||||||||||||||||
742 | m_formatter.oneByteOp(OP_GROUP1_EbIb, GROUP1_OP_CMP, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
743 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
744 | } executed 3753 times by 3 tests: end of block Executed by:
| 3753 | ||||||||||||||||||||||||||||||
745 | void cmpl_im(int imm, int offset, RegisterID base, RegisterID index, int scale) | - | ||||||||||||||||||||||||||||||
746 | { | - | ||||||||||||||||||||||||||||||
747 | if (CAN_SIGN_EXTEND_8_32(imm)
| 0 | ||||||||||||||||||||||||||||||
748 | m_formatter.oneByteOp(OP_GROUP1_EvIb, GROUP1_OP_CMP, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
749 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
750 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||||||||
751 | m_formatter.oneByteOp(OP_GROUP1_EvIz, GROUP1_OP_CMP, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
752 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
753 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
754 | } | - | ||||||||||||||||||||||||||||||
755 | - | |||||||||||||||||||||||||||||||
756 | void cmpl_im_force32(int imm, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
757 | { | - | ||||||||||||||||||||||||||||||
758 | m_formatter.oneByteOp(OP_GROUP1_EvIz, GROUP1_OP_CMP, base, offset); | - | ||||||||||||||||||||||||||||||
759 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
760 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
761 | - | |||||||||||||||||||||||||||||||
762 | - | |||||||||||||||||||||||||||||||
763 | void cmpq_rr(RegisterID src, RegisterID dst) | - | ||||||||||||||||||||||||||||||
764 | { | - | ||||||||||||||||||||||||||||||
765 | m_formatter.oneByteOp64(OP_CMP_EvGv, src, dst); | - | ||||||||||||||||||||||||||||||
766 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
767 | - | |||||||||||||||||||||||||||||||
768 | void cmpq_rm(RegisterID src, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
769 | { | - | ||||||||||||||||||||||||||||||
770 | m_formatter.oneByteOp64(OP_CMP_EvGv, src, base, offset); | - | ||||||||||||||||||||||||||||||
771 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
772 | - | |||||||||||||||||||||||||||||||
773 | void cmpq_mr(int offset, RegisterID base, RegisterID src) | - | ||||||||||||||||||||||||||||||
774 | { | - | ||||||||||||||||||||||||||||||
775 | m_formatter.oneByteOp64(OP_CMP_GvEv, src, base, offset); | - | ||||||||||||||||||||||||||||||
776 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
777 | - | |||||||||||||||||||||||||||||||
778 | void cmpq_ir(int imm, RegisterID dst) | - | ||||||||||||||||||||||||||||||
779 | { | - | ||||||||||||||||||||||||||||||
780 | if (CAN_SIGN_EXTEND_8_32(imm)
| 0 | ||||||||||||||||||||||||||||||
781 | m_formatter.oneByteOp64(OP_GROUP1_EvIb, GROUP1_OP_CMP, dst); | - | ||||||||||||||||||||||||||||||
782 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
783 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||||||||
784 | m_formatter.oneByteOp64(OP_GROUP1_EvIz, GROUP1_OP_CMP, dst); | - | ||||||||||||||||||||||||||||||
785 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
786 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
787 | } | - | ||||||||||||||||||||||||||||||
788 | - | |||||||||||||||||||||||||||||||
789 | void cmpq_im(int imm, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
790 | { | - | ||||||||||||||||||||||||||||||
791 | if (CAN_SIGN_EXTEND_8_32(imm)
| 0 | ||||||||||||||||||||||||||||||
792 | m_formatter.oneByteOp64(OP_GROUP1_EvIb, GROUP1_OP_CMP, base, offset); | - | ||||||||||||||||||||||||||||||
793 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
794 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||||||||
795 | m_formatter.oneByteOp64(OP_GROUP1_EvIz, GROUP1_OP_CMP, base, offset); | - | ||||||||||||||||||||||||||||||
796 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
797 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
798 | } | - | ||||||||||||||||||||||||||||||
799 | - | |||||||||||||||||||||||||||||||
800 | void cmpq_im(int imm, int offset, RegisterID base, RegisterID index, int scale) | - | ||||||||||||||||||||||||||||||
801 | { | - | ||||||||||||||||||||||||||||||
802 | if (CAN_SIGN_EXTEND_8_32(imm)
| 0 | ||||||||||||||||||||||||||||||
803 | m_formatter.oneByteOp64(OP_GROUP1_EvIb, GROUP1_OP_CMP, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
804 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
805 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||||||||
806 | m_formatter.oneByteOp64(OP_GROUP1_EvIz, GROUP1_OP_CMP, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
807 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
808 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
809 | } | - | ||||||||||||||||||||||||||||||
810 | void cmpw_ir(int imm, RegisterID dst) | - | ||||||||||||||||||||||||||||||
811 | { | - | ||||||||||||||||||||||||||||||
812 | if (CAN_SIGN_EXTEND_8_32(imm)
| 0 | ||||||||||||||||||||||||||||||
813 | m_formatter.prefix(PRE_OPERAND_SIZE); | - | ||||||||||||||||||||||||||||||
814 | m_formatter.oneByteOp(OP_GROUP1_EvIb, GROUP1_OP_CMP, dst); | - | ||||||||||||||||||||||||||||||
815 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
816 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||||||||
817 | m_formatter.prefix(PRE_OPERAND_SIZE); | - | ||||||||||||||||||||||||||||||
818 | m_formatter.oneByteOp(OP_GROUP1_EvIz, GROUP1_OP_CMP, dst); | - | ||||||||||||||||||||||||||||||
819 | m_formatter.immediate16(imm); | - | ||||||||||||||||||||||||||||||
820 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
821 | } | - | ||||||||||||||||||||||||||||||
822 | - | |||||||||||||||||||||||||||||||
823 | void cmpw_rm(RegisterID src, int offset, RegisterID base, RegisterID index, int scale) | - | ||||||||||||||||||||||||||||||
824 | { | - | ||||||||||||||||||||||||||||||
825 | m_formatter.prefix(PRE_OPERAND_SIZE); | - | ||||||||||||||||||||||||||||||
826 | m_formatter.oneByteOp(OP_CMP_EvGv, src, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
827 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
828 | - | |||||||||||||||||||||||||||||||
829 | void cmpw_im(int imm, int offset, RegisterID base, RegisterID index, int scale) | - | ||||||||||||||||||||||||||||||
830 | { | - | ||||||||||||||||||||||||||||||
831 | if (CAN_SIGN_EXTEND_8_32(imm)
| 0 | ||||||||||||||||||||||||||||||
832 | m_formatter.prefix(PRE_OPERAND_SIZE); | - | ||||||||||||||||||||||||||||||
833 | m_formatter.oneByteOp(OP_GROUP1_EvIb, GROUP1_OP_CMP, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
834 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
835 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||||||||
836 | m_formatter.prefix(PRE_OPERAND_SIZE); | - | ||||||||||||||||||||||||||||||
837 | m_formatter.oneByteOp(OP_GROUP1_EvIz, GROUP1_OP_CMP, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
838 | m_formatter.immediate16(imm); | - | ||||||||||||||||||||||||||||||
839 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
840 | } | - | ||||||||||||||||||||||||||||||
841 | - | |||||||||||||||||||||||||||||||
842 | void testl_rr(RegisterID src, RegisterID dst) | - | ||||||||||||||||||||||||||||||
843 | { | - | ||||||||||||||||||||||||||||||
844 | m_formatter.oneByteOp(OP_TEST_EvGv, src, dst); | - | ||||||||||||||||||||||||||||||
845 | } executed 10023 times by 41 tests: end of block Executed by:
| 10023 | ||||||||||||||||||||||||||||||
846 | - | |||||||||||||||||||||||||||||||
847 | void testl_i32r(int imm, RegisterID dst) | - | ||||||||||||||||||||||||||||||
848 | { | - | ||||||||||||||||||||||||||||||
849 | m_formatter.oneByteOp(OP_GROUP3_EvIz, GROUP3_OP_TEST, dst); | - | ||||||||||||||||||||||||||||||
850 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
851 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
852 | - | |||||||||||||||||||||||||||||||
853 | void testl_i32m(int imm, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
854 | { | - | ||||||||||||||||||||||||||||||
855 | m_formatter.oneByteOp(OP_GROUP3_EvIz, GROUP3_OP_TEST, base, offset); | - | ||||||||||||||||||||||||||||||
856 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
857 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
858 | - | |||||||||||||||||||||||||||||||
859 | void testb_rr(RegisterID src, RegisterID dst) | - | ||||||||||||||||||||||||||||||
860 | { | - | ||||||||||||||||||||||||||||||
861 | m_formatter.oneByteOp8(OP_TEST_EbGb, src, dst); | - | ||||||||||||||||||||||||||||||
862 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
863 | - | |||||||||||||||||||||||||||||||
864 | void testb_im(int imm, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
865 | { | - | ||||||||||||||||||||||||||||||
866 | m_formatter.oneByteOp(OP_GROUP3_EbIb, GROUP3_OP_TEST, base, offset); | - | ||||||||||||||||||||||||||||||
867 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
868 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
869 | - | |||||||||||||||||||||||||||||||
870 | void testb_im(int imm, int offset, RegisterID base, RegisterID index, int scale) | - | ||||||||||||||||||||||||||||||
871 | { | - | ||||||||||||||||||||||||||||||
872 | m_formatter.oneByteOp(OP_GROUP3_EbIb, GROUP3_OP_TEST, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
873 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
874 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
875 | void testl_i32m(int imm, int offset, RegisterID base, RegisterID index, int scale) | - | ||||||||||||||||||||||||||||||
876 | { | - | ||||||||||||||||||||||||||||||
877 | m_formatter.oneByteOp(OP_GROUP3_EvIz, GROUP3_OP_TEST, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
878 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
879 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
880 | - | |||||||||||||||||||||||||||||||
881 | - | |||||||||||||||||||||||||||||||
882 | void testq_rr(RegisterID src, RegisterID dst) | - | ||||||||||||||||||||||||||||||
883 | { | - | ||||||||||||||||||||||||||||||
884 | m_formatter.oneByteOp64(OP_TEST_EvGv, src, dst); | - | ||||||||||||||||||||||||||||||
885 | } executed 13196 times by 64 tests: end of block Executed by:
| 13196 | ||||||||||||||||||||||||||||||
886 | - | |||||||||||||||||||||||||||||||
887 | void testq_rm(RegisterID src, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
888 | { | - | ||||||||||||||||||||||||||||||
889 | m_formatter.oneByteOp64(OP_TEST_EvGv, src, base, offset); | - | ||||||||||||||||||||||||||||||
890 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
891 | - | |||||||||||||||||||||||||||||||
892 | void testq_i32r(int imm, RegisterID dst) | - | ||||||||||||||||||||||||||||||
893 | { | - | ||||||||||||||||||||||||||||||
894 | m_formatter.oneByteOp64(OP_GROUP3_EvIz, GROUP3_OP_TEST, dst); | - | ||||||||||||||||||||||||||||||
895 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
896 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
897 | - | |||||||||||||||||||||||||||||||
898 | void testq_i32m(int imm, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
899 | { | - | ||||||||||||||||||||||||||||||
900 | m_formatter.oneByteOp64(OP_GROUP3_EvIz, GROUP3_OP_TEST, base, offset); | - | ||||||||||||||||||||||||||||||
901 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
902 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
903 | - | |||||||||||||||||||||||||||||||
904 | void testq_i32m(int imm, int offset, RegisterID base, RegisterID index, int scale) | - | ||||||||||||||||||||||||||||||
905 | { | - | ||||||||||||||||||||||||||||||
906 | m_formatter.oneByteOp64(OP_GROUP3_EvIz, GROUP3_OP_TEST, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
907 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
908 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
909 | - | |||||||||||||||||||||||||||||||
910 | - | |||||||||||||||||||||||||||||||
911 | void testw_rr(RegisterID src, RegisterID dst) | - | ||||||||||||||||||||||||||||||
912 | { | - | ||||||||||||||||||||||||||||||
913 | m_formatter.prefix(PRE_OPERAND_SIZE); | - | ||||||||||||||||||||||||||||||
914 | m_formatter.oneByteOp(OP_TEST_EvGv, src, dst); | - | ||||||||||||||||||||||||||||||
915 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
916 | - | |||||||||||||||||||||||||||||||
917 | void testb_i8r(int imm, RegisterID dst) | - | ||||||||||||||||||||||||||||||
918 | { | - | ||||||||||||||||||||||||||||||
919 | m_formatter.oneByteOp8(OP_GROUP3_EbIb, GROUP3_OP_TEST, dst); | - | ||||||||||||||||||||||||||||||
920 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
921 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
922 | - | |||||||||||||||||||||||||||||||
923 | void setCC_r(Condition cond, RegisterID dst) | - | ||||||||||||||||||||||||||||||
924 | { | - | ||||||||||||||||||||||||||||||
925 | m_formatter.twoByteOp8(setccOpcode(cond), (GroupOpcodeID)0, dst); | - | ||||||||||||||||||||||||||||||
926 | } executed 2610 times by 34 tests: end of block Executed by:
| 2610 | ||||||||||||||||||||||||||||||
927 | - | |||||||||||||||||||||||||||||||
928 | void sete_r(RegisterID dst) | - | ||||||||||||||||||||||||||||||
929 | { | - | ||||||||||||||||||||||||||||||
930 | m_formatter.twoByteOp8(setccOpcode(ConditionE), (GroupOpcodeID)0, dst); | - | ||||||||||||||||||||||||||||||
931 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
932 | - | |||||||||||||||||||||||||||||||
933 | void setz_r(RegisterID dst) | - | ||||||||||||||||||||||||||||||
934 | { | - | ||||||||||||||||||||||||||||||
935 | sete_r(dst); | - | ||||||||||||||||||||||||||||||
936 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
937 | - | |||||||||||||||||||||||||||||||
938 | void setne_r(RegisterID dst) | - | ||||||||||||||||||||||||||||||
939 | { | - | ||||||||||||||||||||||||||||||
940 | m_formatter.twoByteOp8(setccOpcode(ConditionNE), (GroupOpcodeID)0, dst); | - | ||||||||||||||||||||||||||||||
941 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
942 | - | |||||||||||||||||||||||||||||||
943 | void setnz_r(RegisterID dst) | - | ||||||||||||||||||||||||||||||
944 | { | - | ||||||||||||||||||||||||||||||
945 | setne_r(dst); | - | ||||||||||||||||||||||||||||||
946 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
947 | - | |||||||||||||||||||||||||||||||
948 | - | |||||||||||||||||||||||||||||||
949 | - | |||||||||||||||||||||||||||||||
950 | void cdq() | - | ||||||||||||||||||||||||||||||
951 | { | - | ||||||||||||||||||||||||||||||
952 | m_formatter.oneByteOp(OP_CDQ); | - | ||||||||||||||||||||||||||||||
953 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
954 | - | |||||||||||||||||||||||||||||||
955 | void fstpl(int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
956 | { | - | ||||||||||||||||||||||||||||||
957 | m_formatter.oneByteOp(OP_ESCAPE_DD, ESCAPE_DD_FSTP_doubleReal, base, offset); | - | ||||||||||||||||||||||||||||||
958 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
959 | - | |||||||||||||||||||||||||||||||
960 | void xchgl_rr(RegisterID src, RegisterID dst) | - | ||||||||||||||||||||||||||||||
961 | { | - | ||||||||||||||||||||||||||||||
962 | m_formatter.oneByteOp(OP_XCHG_EvGv, src, dst); | - | ||||||||||||||||||||||||||||||
963 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
964 | - | |||||||||||||||||||||||||||||||
965 | - | |||||||||||||||||||||||||||||||
966 | void xchgq_rr(RegisterID src, RegisterID dst) | - | ||||||||||||||||||||||||||||||
967 | { | - | ||||||||||||||||||||||||||||||
968 | m_formatter.oneByteOp64(OP_XCHG_EvGv, src, dst); | - | ||||||||||||||||||||||||||||||
969 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
970 | - | |||||||||||||||||||||||||||||||
971 | - | |||||||||||||||||||||||||||||||
972 | void movl_rr(RegisterID src, RegisterID dst) | - | ||||||||||||||||||||||||||||||
973 | { | - | ||||||||||||||||||||||||||||||
974 | m_formatter.oneByteOp(OP_MOV_EvGv, src, dst); | - | ||||||||||||||||||||||||||||||
975 | } executed 2299725 times by 153 tests: end of block Executed by:
| 2299725 | ||||||||||||||||||||||||||||||
976 | - | |||||||||||||||||||||||||||||||
977 | void movl_rm(RegisterID src, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
978 | { | - | ||||||||||||||||||||||||||||||
979 | m_formatter.oneByteOp(OP_MOV_EvGv, src, base, offset); | - | ||||||||||||||||||||||||||||||
980 | } executed 2306810 times by 153 tests: end of block Executed by:
| 2306810 | ||||||||||||||||||||||||||||||
981 | - | |||||||||||||||||||||||||||||||
982 | void movl_rm_disp32(RegisterID src, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
983 | { | - | ||||||||||||||||||||||||||||||
984 | m_formatter.oneByteOp_disp32(OP_MOV_EvGv, src, base, offset); | - | ||||||||||||||||||||||||||||||
985 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
986 | - | |||||||||||||||||||||||||||||||
987 | void movl_rm(RegisterID src, int offset, RegisterID base, RegisterID index, int scale) | - | ||||||||||||||||||||||||||||||
988 | { | - | ||||||||||||||||||||||||||||||
989 | m_formatter.oneByteOp(OP_MOV_EvGv, src, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
990 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
991 | - | |||||||||||||||||||||||||||||||
992 | void movl_mEAX(const void* addr) | - | ||||||||||||||||||||||||||||||
993 | { | - | ||||||||||||||||||||||||||||||
994 | m_formatter.oneByteOp(OP_MOV_EAXOv); | - | ||||||||||||||||||||||||||||||
995 | - | |||||||||||||||||||||||||||||||
996 | m_formatter.immediate64(reinterpret_cast<int64_t>(addr)); | - | ||||||||||||||||||||||||||||||
997 | - | |||||||||||||||||||||||||||||||
998 | - | |||||||||||||||||||||||||||||||
999 | - | |||||||||||||||||||||||||||||||
1000 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1001 | - | |||||||||||||||||||||||||||||||
1002 | void movl_mr(int offset, RegisterID base, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1003 | { | - | ||||||||||||||||||||||||||||||
1004 | m_formatter.oneByteOp(OP_MOV_GvEv, dst, base, offset); | - | ||||||||||||||||||||||||||||||
1005 | } executed 1246 times by 13 tests: end of block Executed by:
| 1246 | ||||||||||||||||||||||||||||||
1006 | - | |||||||||||||||||||||||||||||||
1007 | void movl_mr_disp32(int offset, RegisterID base, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1008 | { | - | ||||||||||||||||||||||||||||||
1009 | m_formatter.oneByteOp_disp32(OP_MOV_GvEv, dst, base, offset); | - | ||||||||||||||||||||||||||||||
1010 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1011 | - | |||||||||||||||||||||||||||||||
1012 | void movl_mr_disp8(int offset, RegisterID base, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1013 | { | - | ||||||||||||||||||||||||||||||
1014 | m_formatter.oneByteOp_disp8(OP_MOV_GvEv, dst, base, offset); | - | ||||||||||||||||||||||||||||||
1015 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1016 | - | |||||||||||||||||||||||||||||||
1017 | void movl_mr(int offset, RegisterID base, RegisterID index, int scale, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1018 | { | - | ||||||||||||||||||||||||||||||
1019 | m_formatter.oneByteOp(OP_MOV_GvEv, dst, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
1020 | } executed 789134 times by 5 tests: end of block Executed by:
| 789134 | ||||||||||||||||||||||||||||||
1021 | - | |||||||||||||||||||||||||||||||
1022 | void movl_i32r(int imm, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1023 | { | - | ||||||||||||||||||||||||||||||
1024 | m_formatter.oneByteOp(OP_MOV_EAXIv, dst); | - | ||||||||||||||||||||||||||||||
1025 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
1026 | } executed 50956 times by 63 tests: end of block Executed by:
| 50956 | ||||||||||||||||||||||||||||||
1027 | - | |||||||||||||||||||||||||||||||
1028 | void movl_i32m(int imm, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
1029 | { | - | ||||||||||||||||||||||||||||||
1030 | m_formatter.oneByteOp(OP_GROUP11_EvIz, GROUP11_MOV, base, offset); | - | ||||||||||||||||||||||||||||||
1031 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
1032 | } executed 1199392 times by 153 tests: end of block Executed by:
| 1199392 | ||||||||||||||||||||||||||||||
1033 | - | |||||||||||||||||||||||||||||||
1034 | void movl_i32m(int imm, int offset, RegisterID base, RegisterID index, int scale) | - | ||||||||||||||||||||||||||||||
1035 | { | - | ||||||||||||||||||||||||||||||
1036 | m_formatter.oneByteOp(OP_GROUP11_EvIz, GROUP11_MOV, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
1037 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
1038 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1039 | void movb_i8m(int imm, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
1040 | { | - | ||||||||||||||||||||||||||||||
1041 | (!(-128 <= imm && imm < 128) ? (qmlWTFReportAssertionFailure(__FILE__, 1240, __PRETTY_FUNCTION__, "-128 <= imm && imm < 128"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0); | - | ||||||||||||||||||||||||||||||
1042 | m_formatter.oneByteOp(OP_GROUP11_EvIb, GROUP11_MOV, base, offset); | - | ||||||||||||||||||||||||||||||
1043 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
1044 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1045 | - | |||||||||||||||||||||||||||||||
1046 | void movb_i8m(int imm, int offset, RegisterID base, RegisterID index, int scale) | - | ||||||||||||||||||||||||||||||
1047 | { | - | ||||||||||||||||||||||||||||||
1048 | (!(-128 <= imm && imm < 128) ? (qmlWTFReportAssertionFailure(__FILE__, 1247, __PRETTY_FUNCTION__, "-128 <= imm && imm < 128"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0); | - | ||||||||||||||||||||||||||||||
1049 | m_formatter.oneByteOp(OP_GROUP11_EvIb, GROUP11_MOV, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
1050 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
1051 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1052 | - | |||||||||||||||||||||||||||||||
1053 | void movb_rm(RegisterID src, int offset, RegisterID base, RegisterID index, int scale) | - | ||||||||||||||||||||||||||||||
1054 | { | - | ||||||||||||||||||||||||||||||
1055 | m_formatter.oneByteOp8(OP_MOV_EbGb, src, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
1056 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1057 | - | |||||||||||||||||||||||||||||||
1058 | void movw_rm(RegisterID src, int offset, RegisterID base, RegisterID index, int scale) | - | ||||||||||||||||||||||||||||||
1059 | { | - | ||||||||||||||||||||||||||||||
1060 | m_formatter.prefix(PRE_OPERAND_SIZE); | - | ||||||||||||||||||||||||||||||
1061 | m_formatter.oneByteOp8(OP_MOV_EvGv, src, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
1062 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1063 | - | |||||||||||||||||||||||||||||||
1064 | void movl_EAXm(const void* addr) | - | ||||||||||||||||||||||||||||||
1065 | { | - | ||||||||||||||||||||||||||||||
1066 | m_formatter.oneByteOp(OP_MOV_OvEAX); | - | ||||||||||||||||||||||||||||||
1067 | - | |||||||||||||||||||||||||||||||
1068 | m_formatter.immediate64(reinterpret_cast<int64_t>(addr)); | - | ||||||||||||||||||||||||||||||
1069 | - | |||||||||||||||||||||||||||||||
1070 | - | |||||||||||||||||||||||||||||||
1071 | - | |||||||||||||||||||||||||||||||
1072 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1073 | - | |||||||||||||||||||||||||||||||
1074 | - | |||||||||||||||||||||||||||||||
1075 | void movq_rr(RegisterID src, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1076 | { | - | ||||||||||||||||||||||||||||||
1077 | m_formatter.oneByteOp64(OP_MOV_EvGv, src, dst); | - | ||||||||||||||||||||||||||||||
1078 | } executed 3596077 times by 153 tests: end of block Executed by:
| 3596077 | ||||||||||||||||||||||||||||||
1079 | - | |||||||||||||||||||||||||||||||
1080 | void movq_rm(RegisterID src, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
1081 | { | - | ||||||||||||||||||||||||||||||
1082 | m_formatter.oneByteOp64(OP_MOV_EvGv, src, base, offset); | - | ||||||||||||||||||||||||||||||
1083 | } executed 86961 times by 65 tests: end of block Executed by:
| 86961 | ||||||||||||||||||||||||||||||
1084 | - | |||||||||||||||||||||||||||||||
1085 | void movq_rm_disp32(RegisterID src, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
1086 | { | - | ||||||||||||||||||||||||||||||
1087 | m_formatter.oneByteOp64_disp32(OP_MOV_EvGv, src, base, offset); | - | ||||||||||||||||||||||||||||||
1088 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1089 | - | |||||||||||||||||||||||||||||||
1090 | void movq_rm(RegisterID src, int offset, RegisterID base, RegisterID index, int scale) | - | ||||||||||||||||||||||||||||||
1091 | { | - | ||||||||||||||||||||||||||||||
1092 | m_formatter.oneByteOp64(OP_MOV_EvGv, src, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
1093 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1094 | - | |||||||||||||||||||||||||||||||
1095 | void movq_mEAX(const void* addr) | - | ||||||||||||||||||||||||||||||
1096 | { | - | ||||||||||||||||||||||||||||||
1097 | m_formatter.oneByteOp64(OP_MOV_EAXOv); | - | ||||||||||||||||||||||||||||||
1098 | m_formatter.immediate64(reinterpret_cast<int64_t>(addr)); | - | ||||||||||||||||||||||||||||||
1099 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1100 | - | |||||||||||||||||||||||||||||||
1101 | void movq_EAXm(const void* addr) | - | ||||||||||||||||||||||||||||||
1102 | { | - | ||||||||||||||||||||||||||||||
1103 | m_formatter.oneByteOp64(OP_MOV_OvEAX); | - | ||||||||||||||||||||||||||||||
1104 | m_formatter.immediate64(reinterpret_cast<int64_t>(addr)); | - | ||||||||||||||||||||||||||||||
1105 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1106 | - | |||||||||||||||||||||||||||||||
1107 | void movq_mr(int offset, RegisterID base, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1108 | { | - | ||||||||||||||||||||||||||||||
1109 | m_formatter.oneByteOp64(OP_MOV_GvEv, dst, base, offset); | - | ||||||||||||||||||||||||||||||
1110 | } executed 59260 times by 65 tests: end of block Executed by:
| 59260 | ||||||||||||||||||||||||||||||
1111 | - | |||||||||||||||||||||||||||||||
1112 | void movq_mr_disp32(int offset, RegisterID base, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1113 | { | - | ||||||||||||||||||||||||||||||
1114 | m_formatter.oneByteOp64_disp32(OP_MOV_GvEv, dst, base, offset); | - | ||||||||||||||||||||||||||||||
1115 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1116 | - | |||||||||||||||||||||||||||||||
1117 | void movq_mr_disp8(int offset, RegisterID base, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1118 | { | - | ||||||||||||||||||||||||||||||
1119 | m_formatter.oneByteOp64_disp8(OP_MOV_GvEv, dst, base, offset); | - | ||||||||||||||||||||||||||||||
1120 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1121 | - | |||||||||||||||||||||||||||||||
1122 | void movq_mr(int offset, RegisterID base, RegisterID index, int scale, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1123 | { | - | ||||||||||||||||||||||||||||||
1124 | m_formatter.oneByteOp64(OP_MOV_GvEv, dst, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
1125 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1126 | - | |||||||||||||||||||||||||||||||
1127 | void movq_i32m(int imm, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
1128 | { | - | ||||||||||||||||||||||||||||||
1129 | m_formatter.oneByteOp64(OP_GROUP11_EvIz, GROUP11_MOV, base, offset); | - | ||||||||||||||||||||||||||||||
1130 | m_formatter.immediate32(imm); | - | ||||||||||||||||||||||||||||||
1131 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1132 | - | |||||||||||||||||||||||||||||||
1133 | void movq_i64r(int64_t imm, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1134 | { | - | ||||||||||||||||||||||||||||||
1135 | m_formatter.oneByteOp64(OP_MOV_EAXIv, dst); | - | ||||||||||||||||||||||||||||||
1136 | m_formatter.immediate64(imm); | - | ||||||||||||||||||||||||||||||
1137 | } executed 2428973 times by 153 tests: end of block Executed by:
| 2428973 | ||||||||||||||||||||||||||||||
1138 | - | |||||||||||||||||||||||||||||||
1139 | void movsxd_rr(RegisterID src, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1140 | { | - | ||||||||||||||||||||||||||||||
1141 | m_formatter.oneByteOp64(OP_MOVSXD_GvEv, dst, src); | - | ||||||||||||||||||||||||||||||
1142 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1143 | void movzwl_mr(int offset, RegisterID base, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1144 | { | - | ||||||||||||||||||||||||||||||
1145 | m_formatter.twoByteOp(OP2_MOVZX_GvEw, dst, base, offset); | - | ||||||||||||||||||||||||||||||
1146 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1147 | - | |||||||||||||||||||||||||||||||
1148 | void movzwl_mr(int offset, RegisterID base, RegisterID index, int scale, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1149 | { | - | ||||||||||||||||||||||||||||||
1150 | m_formatter.twoByteOp(OP2_MOVZX_GvEw, dst, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
1151 | } executed 796938 times by 9 tests: end of block Executed by:
| 796938 | ||||||||||||||||||||||||||||||
1152 | - | |||||||||||||||||||||||||||||||
1153 | void movswl_mr(int offset, RegisterID base, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1154 | { | - | ||||||||||||||||||||||||||||||
1155 | m_formatter.twoByteOp(OP2_MOVSX_GvEw, dst, base, offset); | - | ||||||||||||||||||||||||||||||
1156 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1157 | - | |||||||||||||||||||||||||||||||
1158 | void movswl_mr(int offset, RegisterID base, RegisterID index, int scale, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1159 | { | - | ||||||||||||||||||||||||||||||
1160 | m_formatter.twoByteOp(OP2_MOVSX_GvEw, dst, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
1161 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1162 | - | |||||||||||||||||||||||||||||||
1163 | void movzbl_mr(int offset, RegisterID base, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1164 | { | - | ||||||||||||||||||||||||||||||
1165 | m_formatter.twoByteOp(OP2_MOVZX_GvEb, dst, base, offset); | - | ||||||||||||||||||||||||||||||
1166 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1167 | - | |||||||||||||||||||||||||||||||
1168 | void movzbl_mr(int offset, RegisterID base, RegisterID index, int scale, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1169 | { | - | ||||||||||||||||||||||||||||||
1170 | m_formatter.twoByteOp(OP2_MOVZX_GvEb, dst, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
1171 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1172 | - | |||||||||||||||||||||||||||||||
1173 | void movsbl_mr(int offset, RegisterID base, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1174 | { | - | ||||||||||||||||||||||||||||||
1175 | m_formatter.twoByteOp(OP2_MOVSX_GvEb, dst, base, offset); | - | ||||||||||||||||||||||||||||||
1176 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1177 | - | |||||||||||||||||||||||||||||||
1178 | void movsbl_mr(int offset, RegisterID base, RegisterID index, int scale, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1179 | { | - | ||||||||||||||||||||||||||||||
1180 | m_formatter.twoByteOp(OP2_MOVSX_GvEb, dst, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
1181 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1182 | - | |||||||||||||||||||||||||||||||
1183 | void movzbl_rr(RegisterID src, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1184 | { | - | ||||||||||||||||||||||||||||||
1185 | - | |||||||||||||||||||||||||||||||
1186 | - | |||||||||||||||||||||||||||||||
1187 | - | |||||||||||||||||||||||||||||||
1188 | m_formatter.twoByteOp8(OP2_MOVZX_GvEb, dst, src); | - | ||||||||||||||||||||||||||||||
1189 | } executed 2610 times by 34 tests: end of block Executed by:
| 2610 | ||||||||||||||||||||||||||||||
1190 | - | |||||||||||||||||||||||||||||||
1191 | void leal_mr(int offset, RegisterID base, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1192 | { | - | ||||||||||||||||||||||||||||||
1193 | m_formatter.oneByteOp(OP_LEA, dst, base, offset); | - | ||||||||||||||||||||||||||||||
1194 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1195 | - | |||||||||||||||||||||||||||||||
1196 | void leaq_mr(int offset, RegisterID base, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1197 | { | - | ||||||||||||||||||||||||||||||
1198 | m_formatter.oneByteOp64(OP_LEA, dst, base, offset); | - | ||||||||||||||||||||||||||||||
1199 | } executed 51526 times by 62 tests: end of block Executed by:
| 51526 | ||||||||||||||||||||||||||||||
1200 | - | |||||||||||||||||||||||||||||||
1201 | - | |||||||||||||||||||||||||||||||
1202 | - | |||||||||||||||||||||||||||||||
1203 | - | |||||||||||||||||||||||||||||||
1204 | AssemblerLabel call() | - | ||||||||||||||||||||||||||||||
1205 | { | - | ||||||||||||||||||||||||||||||
1206 | m_formatter.oneByteOp(OP_CALL_rel32); | - | ||||||||||||||||||||||||||||||
1207 | return never executed: m_formatter.immediateRel32();return m_formatter.immediateRel32(); never executed: return m_formatter.immediateRel32(); | 0 | ||||||||||||||||||||||||||||||
1208 | } | - | ||||||||||||||||||||||||||||||
1209 | - | |||||||||||||||||||||||||||||||
1210 | AssemblerLabel call(RegisterID dst) | - | ||||||||||||||||||||||||||||||
1211 | { | - | ||||||||||||||||||||||||||||||
1212 | m_formatter.oneByteOp(OP_GROUP5_Ev, GROUP5_OP_CALLN, dst); | - | ||||||||||||||||||||||||||||||
1213 | return executed 83222 times by 64 tests: m_formatter.label();return m_formatter.label(); Executed by:
executed 83222 times by 64 tests: return m_formatter.label(); Executed by:
| 83222 | ||||||||||||||||||||||||||||||
1214 | } | - | ||||||||||||||||||||||||||||||
1215 | - | |||||||||||||||||||||||||||||||
1216 | void call_m(int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
1217 | { | - | ||||||||||||||||||||||||||||||
1218 | m_formatter.oneByteOp(OP_GROUP5_Ev, GROUP5_OP_CALLN, base, offset); | - | ||||||||||||||||||||||||||||||
1219 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1220 | - | |||||||||||||||||||||||||||||||
1221 | AssemblerLabel jmp() | - | ||||||||||||||||||||||||||||||
1222 | { | - | ||||||||||||||||||||||||||||||
1223 | m_formatter.oneByteOp(OP_JMP_rel32); | - | ||||||||||||||||||||||||||||||
1224 | return executed 1186721 times by 153 tests: m_formatter.immediateRel32();return m_formatter.immediateRel32(); Executed by:
executed 1186721 times by 153 tests: return m_formatter.immediateRel32(); Executed by:
| 1186721 | ||||||||||||||||||||||||||||||
1225 | } | - | ||||||||||||||||||||||||||||||
1226 | - | |||||||||||||||||||||||||||||||
1227 | - | |||||||||||||||||||||||||||||||
1228 | - | |||||||||||||||||||||||||||||||
1229 | - | |||||||||||||||||||||||||||||||
1230 | AssemblerLabel jmp_r(RegisterID dst) | - | ||||||||||||||||||||||||||||||
1231 | { | - | ||||||||||||||||||||||||||||||
1232 | m_formatter.oneByteOp(OP_GROUP5_Ev, GROUP5_OP_JMPN, dst); | - | ||||||||||||||||||||||||||||||
1233 | return executed 13238 times by 64 tests: m_formatter.label();return m_formatter.label(); Executed by:
executed 13238 times by 64 tests: return m_formatter.label(); Executed by:
| 13238 | ||||||||||||||||||||||||||||||
1234 | } | - | ||||||||||||||||||||||||||||||
1235 | - | |||||||||||||||||||||||||||||||
1236 | void jmp_m(int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
1237 | { | - | ||||||||||||||||||||||||||||||
1238 | m_formatter.oneByteOp(OP_GROUP5_Ev, GROUP5_OP_JMPN, base, offset); | - | ||||||||||||||||||||||||||||||
1239 | } executed 164 times by 3 tests: end of block Executed by:
| 164 | ||||||||||||||||||||||||||||||
1240 | AssemblerLabel jne() | - | ||||||||||||||||||||||||||||||
1241 | { | - | ||||||||||||||||||||||||||||||
1242 | m_formatter.twoByteOp(jccRel32(ConditionNE)); | - | ||||||||||||||||||||||||||||||
1243 | return never executed: m_formatter.immediateRel32();return m_formatter.immediateRel32(); never executed: return m_formatter.immediateRel32(); | 0 | ||||||||||||||||||||||||||||||
1244 | } | - | ||||||||||||||||||||||||||||||
1245 | - | |||||||||||||||||||||||||||||||
1246 | AssemblerLabel jnz() | - | ||||||||||||||||||||||||||||||
1247 | { | - | ||||||||||||||||||||||||||||||
1248 | return never executed: jne();return jne(); never executed: return jne(); | 0 | ||||||||||||||||||||||||||||||
1249 | } | - | ||||||||||||||||||||||||||||||
1250 | - | |||||||||||||||||||||||||||||||
1251 | AssemblerLabel je() | - | ||||||||||||||||||||||||||||||
1252 | { | - | ||||||||||||||||||||||||||||||
1253 | m_formatter.twoByteOp(jccRel32(ConditionE)); | - | ||||||||||||||||||||||||||||||
1254 | return never executed: m_formatter.immediateRel32();return m_formatter.immediateRel32(); never executed: return m_formatter.immediateRel32(); | 0 | ||||||||||||||||||||||||||||||
1255 | } | - | ||||||||||||||||||||||||||||||
1256 | - | |||||||||||||||||||||||||||||||
1257 | AssemblerLabel jz() | - | ||||||||||||||||||||||||||||||
1258 | { | - | ||||||||||||||||||||||||||||||
1259 | return never executed: je();return je(); never executed: return je(); | 0 | ||||||||||||||||||||||||||||||
1260 | } | - | ||||||||||||||||||||||||||||||
1261 | - | |||||||||||||||||||||||||||||||
1262 | AssemblerLabel jl() | - | ||||||||||||||||||||||||||||||
1263 | { | - | ||||||||||||||||||||||||||||||
1264 | m_formatter.twoByteOp(jccRel32(ConditionL)); | - | ||||||||||||||||||||||||||||||
1265 | return never executed: m_formatter.immediateRel32();return m_formatter.immediateRel32(); never executed: return m_formatter.immediateRel32(); | 0 | ||||||||||||||||||||||||||||||
1266 | } | - | ||||||||||||||||||||||||||||||
1267 | - | |||||||||||||||||||||||||||||||
1268 | AssemblerLabel jb() | - | ||||||||||||||||||||||||||||||
1269 | { | - | ||||||||||||||||||||||||||||||
1270 | m_formatter.twoByteOp(jccRel32(ConditionB)); | - | ||||||||||||||||||||||||||||||
1271 | return never executed: m_formatter.immediateRel32();return m_formatter.immediateRel32(); never executed: return m_formatter.immediateRel32(); | 0 | ||||||||||||||||||||||||||||||
1272 | } | - | ||||||||||||||||||||||||||||||
1273 | - | |||||||||||||||||||||||||||||||
1274 | AssemblerLabel jle() | - | ||||||||||||||||||||||||||||||
1275 | { | - | ||||||||||||||||||||||||||||||
1276 | m_formatter.twoByteOp(jccRel32(ConditionLE)); | - | ||||||||||||||||||||||||||||||
1277 | return never executed: m_formatter.immediateRel32();return m_formatter.immediateRel32(); never executed: return m_formatter.immediateRel32(); | 0 | ||||||||||||||||||||||||||||||
1278 | } | - | ||||||||||||||||||||||||||||||
1279 | - | |||||||||||||||||||||||||||||||
1280 | AssemblerLabel jbe() | - | ||||||||||||||||||||||||||||||
1281 | { | - | ||||||||||||||||||||||||||||||
1282 | m_formatter.twoByteOp(jccRel32(ConditionBE)); | - | ||||||||||||||||||||||||||||||
1283 | return never executed: m_formatter.immediateRel32();return m_formatter.immediateRel32(); never executed: return m_formatter.immediateRel32(); | 0 | ||||||||||||||||||||||||||||||
1284 | } | - | ||||||||||||||||||||||||||||||
1285 | - | |||||||||||||||||||||||||||||||
1286 | AssemblerLabel jge() | - | ||||||||||||||||||||||||||||||
1287 | { | - | ||||||||||||||||||||||||||||||
1288 | m_formatter.twoByteOp(jccRel32(ConditionGE)); | - | ||||||||||||||||||||||||||||||
1289 | return never executed: m_formatter.immediateRel32();return m_formatter.immediateRel32(); never executed: return m_formatter.immediateRel32(); | 0 | ||||||||||||||||||||||||||||||
1290 | } | - | ||||||||||||||||||||||||||||||
1291 | - | |||||||||||||||||||||||||||||||
1292 | AssemblerLabel jg() | - | ||||||||||||||||||||||||||||||
1293 | { | - | ||||||||||||||||||||||||||||||
1294 | m_formatter.twoByteOp(jccRel32(ConditionG)); | - | ||||||||||||||||||||||||||||||
1295 | return never executed: m_formatter.immediateRel32();return m_formatter.immediateRel32(); never executed: return m_formatter.immediateRel32(); | 0 | ||||||||||||||||||||||||||||||
1296 | } | - | ||||||||||||||||||||||||||||||
1297 | - | |||||||||||||||||||||||||||||||
1298 | AssemblerLabel ja() | - | ||||||||||||||||||||||||||||||
1299 | { | - | ||||||||||||||||||||||||||||||
1300 | m_formatter.twoByteOp(jccRel32(ConditionA)); | - | ||||||||||||||||||||||||||||||
1301 | return never executed: m_formatter.immediateRel32();return m_formatter.immediateRel32(); never executed: return m_formatter.immediateRel32(); | 0 | ||||||||||||||||||||||||||||||
1302 | } | - | ||||||||||||||||||||||||||||||
1303 | - | |||||||||||||||||||||||||||||||
1304 | AssemblerLabel jae() | - | ||||||||||||||||||||||||||||||
1305 | { | - | ||||||||||||||||||||||||||||||
1306 | m_formatter.twoByteOp(jccRel32(ConditionAE)); | - | ||||||||||||||||||||||||||||||
1307 | return never executed: m_formatter.immediateRel32();return m_formatter.immediateRel32(); never executed: return m_formatter.immediateRel32(); | 0 | ||||||||||||||||||||||||||||||
1308 | } | - | ||||||||||||||||||||||||||||||
1309 | - | |||||||||||||||||||||||||||||||
1310 | AssemblerLabel jo() | - | ||||||||||||||||||||||||||||||
1311 | { | - | ||||||||||||||||||||||||||||||
1312 | m_formatter.twoByteOp(jccRel32(ConditionO)); | - | ||||||||||||||||||||||||||||||
1313 | return never executed: m_formatter.immediateRel32();return m_formatter.immediateRel32(); never executed: return m_formatter.immediateRel32(); | 0 | ||||||||||||||||||||||||||||||
1314 | } | - | ||||||||||||||||||||||||||||||
1315 | - | |||||||||||||||||||||||||||||||
1316 | AssemblerLabel jnp() | - | ||||||||||||||||||||||||||||||
1317 | { | - | ||||||||||||||||||||||||||||||
1318 | m_formatter.twoByteOp(jccRel32(ConditionNP)); | - | ||||||||||||||||||||||||||||||
1319 | return never executed: m_formatter.immediateRel32();return m_formatter.immediateRel32(); never executed: return m_formatter.immediateRel32(); | 0 | ||||||||||||||||||||||||||||||
1320 | } | - | ||||||||||||||||||||||||||||||
1321 | - | |||||||||||||||||||||||||||||||
1322 | AssemblerLabel jp() | - | ||||||||||||||||||||||||||||||
1323 | { | - | ||||||||||||||||||||||||||||||
1324 | m_formatter.twoByteOp(jccRel32(ConditionP)); | - | ||||||||||||||||||||||||||||||
1325 | return never executed: m_formatter.immediateRel32();return m_formatter.immediateRel32(); never executed: return m_formatter.immediateRel32(); | 0 | ||||||||||||||||||||||||||||||
1326 | } | - | ||||||||||||||||||||||||||||||
1327 | - | |||||||||||||||||||||||||||||||
1328 | AssemblerLabel js() | - | ||||||||||||||||||||||||||||||
1329 | { | - | ||||||||||||||||||||||||||||||
1330 | m_formatter.twoByteOp(jccRel32(ConditionS)); | - | ||||||||||||||||||||||||||||||
1331 | return never executed: m_formatter.immediateRel32();return m_formatter.immediateRel32(); never executed: return m_formatter.immediateRel32(); | 0 | ||||||||||||||||||||||||||||||
1332 | } | - | ||||||||||||||||||||||||||||||
1333 | - | |||||||||||||||||||||||||||||||
1334 | AssemblerLabel jCC(Condition cond) | - | ||||||||||||||||||||||||||||||
1335 | { | - | ||||||||||||||||||||||||||||||
1336 | m_formatter.twoByteOp(jccRel32(cond)); | - | ||||||||||||||||||||||||||||||
1337 | return executed 6334238 times by 153 tests: m_formatter.immediateRel32();return m_formatter.immediateRel32(); Executed by:
executed 6334238 times by 153 tests: return m_formatter.immediateRel32(); Executed by:
| 6334238 | ||||||||||||||||||||||||||||||
1338 | } | - | ||||||||||||||||||||||||||||||
1339 | - | |||||||||||||||||||||||||||||||
1340 | - | |||||||||||||||||||||||||||||||
1341 | - | |||||||||||||||||||||||||||||||
1342 | void addsd_rr(XMMRegisterID src, XMMRegisterID dst) | - | ||||||||||||||||||||||||||||||
1343 | { | - | ||||||||||||||||||||||||||||||
1344 | m_formatter.prefix(PRE_SSE_F2); | - | ||||||||||||||||||||||||||||||
1345 | m_formatter.twoByteOp(OP2_ADDSD_VsdWsd, (RegisterID)dst, (RegisterID)src); | - | ||||||||||||||||||||||||||||||
1346 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1347 | - | |||||||||||||||||||||||||||||||
1348 | void addsd_mr(int offset, RegisterID base, XMMRegisterID dst) | - | ||||||||||||||||||||||||||||||
1349 | { | - | ||||||||||||||||||||||||||||||
1350 | m_formatter.prefix(PRE_SSE_F2); | - | ||||||||||||||||||||||||||||||
1351 | m_formatter.twoByteOp(OP2_ADDSD_VsdWsd, (RegisterID)dst, base, offset); | - | ||||||||||||||||||||||||||||||
1352 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1353 | void cvtsi2sd_rr(RegisterID src, XMMRegisterID dst) | - | ||||||||||||||||||||||||||||||
1354 | { | - | ||||||||||||||||||||||||||||||
1355 | m_formatter.prefix(PRE_SSE_F2); | - | ||||||||||||||||||||||||||||||
1356 | m_formatter.twoByteOp(OP2_CVTSI2SD_VsdEd, (RegisterID)dst, src); | - | ||||||||||||||||||||||||||||||
1357 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1358 | - | |||||||||||||||||||||||||||||||
1359 | void cvtsi2sd_mr(int offset, RegisterID base, XMMRegisterID dst) | - | ||||||||||||||||||||||||||||||
1360 | { | - | ||||||||||||||||||||||||||||||
1361 | m_formatter.prefix(PRE_SSE_F2); | - | ||||||||||||||||||||||||||||||
1362 | m_formatter.twoByteOp(OP2_CVTSI2SD_VsdEd, (RegisterID)dst, base, offset); | - | ||||||||||||||||||||||||||||||
1363 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1364 | void cvtsiq2sd_rr(RegisterID src, FPRegisterID dst) | - | ||||||||||||||||||||||||||||||
1365 | { | - | ||||||||||||||||||||||||||||||
1366 | m_formatter.prefix(PRE_SSE_F2); | - | ||||||||||||||||||||||||||||||
1367 | m_formatter.twoByteOp64(OP2_CVTSI2SD_VsdEd, (RegisterID)dst, src); | - | ||||||||||||||||||||||||||||||
1368 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1369 | - | |||||||||||||||||||||||||||||||
1370 | - | |||||||||||||||||||||||||||||||
1371 | - | |||||||||||||||||||||||||||||||
1372 | void cvttsd2si_rr(XMMRegisterID src, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1373 | { | - | ||||||||||||||||||||||||||||||
1374 | m_formatter.prefix(PRE_SSE_F2); | - | ||||||||||||||||||||||||||||||
1375 | m_formatter.twoByteOp(OP2_CVTTSD2SI_GdWsd, dst, (RegisterID)src); | - | ||||||||||||||||||||||||||||||
1376 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1377 | - | |||||||||||||||||||||||||||||||
1378 | void cvtsd2ss_rr(XMMRegisterID src, XMMRegisterID dst) | - | ||||||||||||||||||||||||||||||
1379 | { | - | ||||||||||||||||||||||||||||||
1380 | m_formatter.prefix(PRE_SSE_F2); | - | ||||||||||||||||||||||||||||||
1381 | m_formatter.twoByteOp(OP2_CVTSD2SS_VsdWsd, dst, (RegisterID)src); | - | ||||||||||||||||||||||||||||||
1382 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1383 | - | |||||||||||||||||||||||||||||||
1384 | void cvtss2sd_rr(XMMRegisterID src, XMMRegisterID dst) | - | ||||||||||||||||||||||||||||||
1385 | { | - | ||||||||||||||||||||||||||||||
1386 | m_formatter.prefix(PRE_SSE_F3); | - | ||||||||||||||||||||||||||||||
1387 | m_formatter.twoByteOp(OP2_CVTSS2SD_VsdWsd, dst, (RegisterID)src); | - | ||||||||||||||||||||||||||||||
1388 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1389 | - | |||||||||||||||||||||||||||||||
1390 | - | |||||||||||||||||||||||||||||||
1391 | void cvttsd2siq_rr(XMMRegisterID src, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1392 | { | - | ||||||||||||||||||||||||||||||
1393 | m_formatter.prefix(PRE_SSE_F2); | - | ||||||||||||||||||||||||||||||
1394 | m_formatter.twoByteOp64(OP2_CVTTSD2SI_GdWsd, dst, (RegisterID)src); | - | ||||||||||||||||||||||||||||||
1395 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1396 | - | |||||||||||||||||||||||||||||||
1397 | - | |||||||||||||||||||||||||||||||
1398 | void movd_rr(XMMRegisterID src, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1399 | { | - | ||||||||||||||||||||||||||||||
1400 | m_formatter.prefix(PRE_SSE_66); | - | ||||||||||||||||||||||||||||||
1401 | m_formatter.twoByteOp(OP2_MOVD_EdVd, (RegisterID)src, dst); | - | ||||||||||||||||||||||||||||||
1402 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1403 | - | |||||||||||||||||||||||||||||||
1404 | void movd_rr(RegisterID src, XMMRegisterID dst) | - | ||||||||||||||||||||||||||||||
1405 | { | - | ||||||||||||||||||||||||||||||
1406 | m_formatter.prefix(PRE_SSE_66); | - | ||||||||||||||||||||||||||||||
1407 | m_formatter.twoByteOp(OP2_MOVD_VdEd, (RegisterID)dst, src); | - | ||||||||||||||||||||||||||||||
1408 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1409 | - | |||||||||||||||||||||||||||||||
1410 | - | |||||||||||||||||||||||||||||||
1411 | void movq_rr(XMMRegisterID src, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1412 | { | - | ||||||||||||||||||||||||||||||
1413 | m_formatter.prefix(PRE_SSE_66); | - | ||||||||||||||||||||||||||||||
1414 | m_formatter.twoByteOp64(OP2_MOVD_EdVd, (RegisterID)src, dst); | - | ||||||||||||||||||||||||||||||
1415 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1416 | - | |||||||||||||||||||||||||||||||
1417 | void movq_rr(RegisterID src, XMMRegisterID dst) | - | ||||||||||||||||||||||||||||||
1418 | { | - | ||||||||||||||||||||||||||||||
1419 | m_formatter.prefix(PRE_SSE_66); | - | ||||||||||||||||||||||||||||||
1420 | m_formatter.twoByteOp64(OP2_MOVD_VdEd, (RegisterID)dst, src); | - | ||||||||||||||||||||||||||||||
1421 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1422 | - | |||||||||||||||||||||||||||||||
1423 | - | |||||||||||||||||||||||||||||||
1424 | void movsd_rr(XMMRegisterID src, XMMRegisterID dst) | - | ||||||||||||||||||||||||||||||
1425 | { | - | ||||||||||||||||||||||||||||||
1426 | m_formatter.prefix(PRE_SSE_F2); | - | ||||||||||||||||||||||||||||||
1427 | m_formatter.twoByteOp(OP2_MOVSD_VsdWsd, (RegisterID)dst, (RegisterID)src); | - | ||||||||||||||||||||||||||||||
1428 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1429 | - | |||||||||||||||||||||||||||||||
1430 | void movsd_rm(XMMRegisterID src, int offset, RegisterID base) | - | ||||||||||||||||||||||||||||||
1431 | { | - | ||||||||||||||||||||||||||||||
1432 | m_formatter.prefix(PRE_SSE_F2); | - | ||||||||||||||||||||||||||||||
1433 | m_formatter.twoByteOp(OP2_MOVSD_WsdVsd, (RegisterID)src, base, offset); | - | ||||||||||||||||||||||||||||||
1434 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1435 | - | |||||||||||||||||||||||||||||||
1436 | void movsd_rm(XMMRegisterID src, int offset, RegisterID base, RegisterID index, int scale) | - | ||||||||||||||||||||||||||||||
1437 | { | - | ||||||||||||||||||||||||||||||
1438 | m_formatter.prefix(PRE_SSE_F2); | - | ||||||||||||||||||||||||||||||
1439 | m_formatter.twoByteOp(OP2_MOVSD_WsdVsd, (RegisterID)src, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
1440 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1441 | - | |||||||||||||||||||||||||||||||
1442 | void movss_rm(XMMRegisterID src, int offset, RegisterID base, RegisterID index, int scale) | - | ||||||||||||||||||||||||||||||
1443 | { | - | ||||||||||||||||||||||||||||||
1444 | m_formatter.prefix(PRE_SSE_F3); | - | ||||||||||||||||||||||||||||||
1445 | m_formatter.twoByteOp(OP2_MOVSD_WsdVsd, (RegisterID)src, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
1446 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1447 | - | |||||||||||||||||||||||||||||||
1448 | void movsd_mr(int offset, RegisterID base, XMMRegisterID dst) | - | ||||||||||||||||||||||||||||||
1449 | { | - | ||||||||||||||||||||||||||||||
1450 | m_formatter.prefix(PRE_SSE_F2); | - | ||||||||||||||||||||||||||||||
1451 | m_formatter.twoByteOp(OP2_MOVSD_VsdWsd, (RegisterID)dst, base, offset); | - | ||||||||||||||||||||||||||||||
1452 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1453 | - | |||||||||||||||||||||||||||||||
1454 | void movsd_mr(int offset, RegisterID base, RegisterID index, int scale, XMMRegisterID dst) | - | ||||||||||||||||||||||||||||||
1455 | { | - | ||||||||||||||||||||||||||||||
1456 | m_formatter.prefix(PRE_SSE_F2); | - | ||||||||||||||||||||||||||||||
1457 | m_formatter.twoByteOp(OP2_MOVSD_VsdWsd, dst, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
1458 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1459 | - | |||||||||||||||||||||||||||||||
1460 | void movss_mr(int offset, RegisterID base, RegisterID index, int scale, XMMRegisterID dst) | - | ||||||||||||||||||||||||||||||
1461 | { | - | ||||||||||||||||||||||||||||||
1462 | m_formatter.prefix(PRE_SSE_F3); | - | ||||||||||||||||||||||||||||||
1463 | m_formatter.twoByteOp(OP2_MOVSD_VsdWsd, dst, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
1464 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1465 | void mulsd_rr(XMMRegisterID src, XMMRegisterID dst) | - | ||||||||||||||||||||||||||||||
1466 | { | - | ||||||||||||||||||||||||||||||
1467 | m_formatter.prefix(PRE_SSE_F2); | - | ||||||||||||||||||||||||||||||
1468 | m_formatter.twoByteOp(OP2_MULSD_VsdWsd, (RegisterID)dst, (RegisterID)src); | - | ||||||||||||||||||||||||||||||
1469 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1470 | - | |||||||||||||||||||||||||||||||
1471 | void mulsd_mr(int offset, RegisterID base, XMMRegisterID dst) | - | ||||||||||||||||||||||||||||||
1472 | { | - | ||||||||||||||||||||||||||||||
1473 | m_formatter.prefix(PRE_SSE_F2); | - | ||||||||||||||||||||||||||||||
1474 | m_formatter.twoByteOp(OP2_MULSD_VsdWsd, (RegisterID)dst, base, offset); | - | ||||||||||||||||||||||||||||||
1475 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1476 | - | |||||||||||||||||||||||||||||||
1477 | void pextrw_irr(int whichWord, XMMRegisterID src, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1478 | { | - | ||||||||||||||||||||||||||||||
1479 | m_formatter.prefix(PRE_SSE_66); | - | ||||||||||||||||||||||||||||||
1480 | m_formatter.twoByteOp(OP2_PEXTRW_GdUdIb, (RegisterID)dst, (RegisterID)src); | - | ||||||||||||||||||||||||||||||
1481 | m_formatter.immediate8(whichWord); | - | ||||||||||||||||||||||||||||||
1482 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1483 | - | |||||||||||||||||||||||||||||||
1484 | void psllq_i8r(int imm, XMMRegisterID dst) | - | ||||||||||||||||||||||||||||||
1485 | { | - | ||||||||||||||||||||||||||||||
1486 | m_formatter.prefix(PRE_SSE_66); | - | ||||||||||||||||||||||||||||||
1487 | m_formatter.twoByteOp8(OP2_PSLLQ_UdqIb, GROUP14_OP_PSLLQ, (RegisterID)dst); | - | ||||||||||||||||||||||||||||||
1488 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
1489 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1490 | - | |||||||||||||||||||||||||||||||
1491 | void psrlq_i8r(int imm, XMMRegisterID dst) | - | ||||||||||||||||||||||||||||||
1492 | { | - | ||||||||||||||||||||||||||||||
1493 | m_formatter.prefix(PRE_SSE_66); | - | ||||||||||||||||||||||||||||||
1494 | m_formatter.twoByteOp8(OP2_PSRLQ_UdqIb, GROUP14_OP_PSRLQ, (RegisterID)dst); | - | ||||||||||||||||||||||||||||||
1495 | m_formatter.immediate8(imm); | - | ||||||||||||||||||||||||||||||
1496 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1497 | - | |||||||||||||||||||||||||||||||
1498 | void por_rr(XMMRegisterID src, XMMRegisterID dst) | - | ||||||||||||||||||||||||||||||
1499 | { | - | ||||||||||||||||||||||||||||||
1500 | m_formatter.prefix(PRE_SSE_66); | - | ||||||||||||||||||||||||||||||
1501 | m_formatter.twoByteOp(OP2_POR_VdqWdq, (RegisterID)dst, (RegisterID)src); | - | ||||||||||||||||||||||||||||||
1502 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1503 | - | |||||||||||||||||||||||||||||||
1504 | void subsd_rr(XMMRegisterID src, XMMRegisterID dst) | - | ||||||||||||||||||||||||||||||
1505 | { | - | ||||||||||||||||||||||||||||||
1506 | m_formatter.prefix(PRE_SSE_F2); | - | ||||||||||||||||||||||||||||||
1507 | m_formatter.twoByteOp(OP2_SUBSD_VsdWsd, (RegisterID)dst, (RegisterID)src); | - | ||||||||||||||||||||||||||||||
1508 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1509 | - | |||||||||||||||||||||||||||||||
1510 | void subsd_mr(int offset, RegisterID base, XMMRegisterID dst) | - | ||||||||||||||||||||||||||||||
1511 | { | - | ||||||||||||||||||||||||||||||
1512 | m_formatter.prefix(PRE_SSE_F2); | - | ||||||||||||||||||||||||||||||
1513 | m_formatter.twoByteOp(OP2_SUBSD_VsdWsd, (RegisterID)dst, base, offset); | - | ||||||||||||||||||||||||||||||
1514 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1515 | - | |||||||||||||||||||||||||||||||
1516 | void ucomisd_rr(XMMRegisterID src, XMMRegisterID dst) | - | ||||||||||||||||||||||||||||||
1517 | { | - | ||||||||||||||||||||||||||||||
1518 | m_formatter.prefix(PRE_SSE_66); | - | ||||||||||||||||||||||||||||||
1519 | m_formatter.twoByteOp(OP2_UCOMISD_VsdWsd, (RegisterID)dst, (RegisterID)src); | - | ||||||||||||||||||||||||||||||
1520 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1521 | - | |||||||||||||||||||||||||||||||
1522 | void ucomisd_mr(int offset, RegisterID base, XMMRegisterID dst) | - | ||||||||||||||||||||||||||||||
1523 | { | - | ||||||||||||||||||||||||||||||
1524 | m_formatter.prefix(PRE_SSE_66); | - | ||||||||||||||||||||||||||||||
1525 | m_formatter.twoByteOp(OP2_UCOMISD_VsdWsd, (RegisterID)dst, base, offset); | - | ||||||||||||||||||||||||||||||
1526 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1527 | - | |||||||||||||||||||||||||||||||
1528 | void divsd_rr(XMMRegisterID src, XMMRegisterID dst) | - | ||||||||||||||||||||||||||||||
1529 | { | - | ||||||||||||||||||||||||||||||
1530 | m_formatter.prefix(PRE_SSE_F2); | - | ||||||||||||||||||||||||||||||
1531 | m_formatter.twoByteOp(OP2_DIVSD_VsdWsd, (RegisterID)dst, (RegisterID)src); | - | ||||||||||||||||||||||||||||||
1532 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1533 | - | |||||||||||||||||||||||||||||||
1534 | void divsd_mr(int offset, RegisterID base, XMMRegisterID dst) | - | ||||||||||||||||||||||||||||||
1535 | { | - | ||||||||||||||||||||||||||||||
1536 | m_formatter.prefix(PRE_SSE_F2); | - | ||||||||||||||||||||||||||||||
1537 | m_formatter.twoByteOp(OP2_DIVSD_VsdWsd, (RegisterID)dst, base, offset); | - | ||||||||||||||||||||||||||||||
1538 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1539 | - | |||||||||||||||||||||||||||||||
1540 | void xorpd_rr(XMMRegisterID src, XMMRegisterID dst) | - | ||||||||||||||||||||||||||||||
1541 | { | - | ||||||||||||||||||||||||||||||
1542 | m_formatter.prefix(PRE_SSE_66); | - | ||||||||||||||||||||||||||||||
1543 | m_formatter.twoByteOp(OP2_XORPD_VpdWpd, (RegisterID)dst, (RegisterID)src); | - | ||||||||||||||||||||||||||||||
1544 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1545 | - | |||||||||||||||||||||||||||||||
1546 | void andnpd_rr(XMMRegisterID src, XMMRegisterID dst) | - | ||||||||||||||||||||||||||||||
1547 | { | - | ||||||||||||||||||||||||||||||
1548 | m_formatter.prefix(PRE_SSE_66); | - | ||||||||||||||||||||||||||||||
1549 | m_formatter.twoByteOp(OP2_ANDNPD_VpdWpd, (RegisterID)dst, (RegisterID)src); | - | ||||||||||||||||||||||||||||||
1550 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1551 | - | |||||||||||||||||||||||||||||||
1552 | void sqrtsd_rr(XMMRegisterID src, XMMRegisterID dst) | - | ||||||||||||||||||||||||||||||
1553 | { | - | ||||||||||||||||||||||||||||||
1554 | m_formatter.prefix(PRE_SSE_F2); | - | ||||||||||||||||||||||||||||||
1555 | m_formatter.twoByteOp(OP2_SQRTSD_VsdWsd, (RegisterID)dst, (RegisterID)src); | - | ||||||||||||||||||||||||||||||
1556 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1557 | - | |||||||||||||||||||||||||||||||
1558 | - | |||||||||||||||||||||||||||||||
1559 | - | |||||||||||||||||||||||||||||||
1560 | void int3() | - | ||||||||||||||||||||||||||||||
1561 | { | - | ||||||||||||||||||||||||||||||
1562 | m_formatter.oneByteOp(OP_INT3); | - | ||||||||||||||||||||||||||||||
1563 | } executed 12 times by 1 test: end of block Executed by:
| 12 | ||||||||||||||||||||||||||||||
1564 | - | |||||||||||||||||||||||||||||||
1565 | void ret() | - | ||||||||||||||||||||||||||||||
1566 | { | - | ||||||||||||||||||||||||||||||
1567 | m_formatter.oneByteOp(OP_RET); | - | ||||||||||||||||||||||||||||||
1568 | } executed 3463187 times by 153 tests: end of block Executed by:
| 3463187 | ||||||||||||||||||||||||||||||
1569 | - | |||||||||||||||||||||||||||||||
1570 | void predictNotTaken() | - | ||||||||||||||||||||||||||||||
1571 | { | - | ||||||||||||||||||||||||||||||
1572 | m_formatter.prefix(PRE_PREDICT_BRANCH_NOT_TAKEN); | - | ||||||||||||||||||||||||||||||
1573 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1574 | - | |||||||||||||||||||||||||||||||
1575 | - | |||||||||||||||||||||||||||||||
1576 | - | |||||||||||||||||||||||||||||||
1577 | size_t codeSize() const | - | ||||||||||||||||||||||||||||||
1578 | { | - | ||||||||||||||||||||||||||||||
1579 | return executed 1164428 times by 153 tests: m_formatter.codeSize();return m_formatter.codeSize(); Executed by:
executed 1164428 times by 153 tests: return m_formatter.codeSize(); Executed by:
| 1164428 | ||||||||||||||||||||||||||||||
1580 | } | - | ||||||||||||||||||||||||||||||
1581 | - | |||||||||||||||||||||||||||||||
1582 | AssemblerLabel labelForWatchpoint() | - | ||||||||||||||||||||||||||||||
1583 | { | - | ||||||||||||||||||||||||||||||
1584 | AssemblerLabel result = m_formatter.label(); | - | ||||||||||||||||||||||||||||||
1585 | if (static_cast<
| 0 | ||||||||||||||||||||||||||||||
1586 | result = label(); never executed: result = label(); | 0 | ||||||||||||||||||||||||||||||
1587 | m_indexOfLastWatchpoint = result.m_offset; | - | ||||||||||||||||||||||||||||||
1588 | m_indexOfTailOfLastWatchpoint = result.m_offset + maxJumpReplacementSize(); | - | ||||||||||||||||||||||||||||||
1589 | return never executed: result;return result; never executed: return result; | 0 | ||||||||||||||||||||||||||||||
1590 | } | - | ||||||||||||||||||||||||||||||
1591 | - | |||||||||||||||||||||||||||||||
1592 | AssemblerLabel labelIgnoringWatchpoints() | - | ||||||||||||||||||||||||||||||
1593 | { | - | ||||||||||||||||||||||||||||||
1594 | return never executed: m_formatter.label();return m_formatter.label(); never executed: return m_formatter.label(); | 0 | ||||||||||||||||||||||||||||||
1595 | } | - | ||||||||||||||||||||||||||||||
1596 | - | |||||||||||||||||||||||||||||||
1597 | AssemblerLabel label() | - | ||||||||||||||||||||||||||||||
1598 | { | - | ||||||||||||||||||||||||||||||
1599 | AssemblerLabel result = m_formatter.label(); | - | ||||||||||||||||||||||||||||||
1600 | while (__builtin_expect((static_cast<int>(result.m_offset) < m_indexOfTailOfLastWatchpoint), 0)
| 0-7513521 | ||||||||||||||||||||||||||||||
1601 | nop(); | - | ||||||||||||||||||||||||||||||
1602 | result = m_formatter.label(); | - | ||||||||||||||||||||||||||||||
1603 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1604 | return executed 7514318 times by 153 tests: result;return result; Executed by:
executed 7514318 times by 153 tests: return result; Executed by:
| 7514318 | ||||||||||||||||||||||||||||||
1605 | } | - | ||||||||||||||||||||||||||||||
1606 | - | |||||||||||||||||||||||||||||||
1607 | AssemblerLabel align(int alignment) | - | ||||||||||||||||||||||||||||||
1608 | { | - | ||||||||||||||||||||||||||||||
1609 | while (!m_formatter.isAligned(alignment)
| 0 | ||||||||||||||||||||||||||||||
1610 | m_formatter.oneByteOp(OP_HLT); never executed: m_formatter.oneByteOp(OP_HLT); | 0 | ||||||||||||||||||||||||||||||
1611 | - | |||||||||||||||||||||||||||||||
1612 | return never executed: label();return label(); never executed: return label(); | 0 | ||||||||||||||||||||||||||||||
1613 | } | - | ||||||||||||||||||||||||||||||
1614 | void linkJump(AssemblerLabel from, AssemblerLabel to) | - | ||||||||||||||||||||||||||||||
1615 | { | - | ||||||||||||||||||||||||||||||
1616 | (!(from.isSet()) ? (qmlWTFReportAssertionFailure(__FILE__, 1891, __PRETTY_FUNCTION__, "from.isSet()"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0); | - | ||||||||||||||||||||||||||||||
1617 | (!(to.isSet()) ? (qmlWTFReportAssertionFailure(__FILE__, 1892, __PRETTY_FUNCTION__, "to.isSet()"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0); | - | ||||||||||||||||||||||||||||||
1618 | - | |||||||||||||||||||||||||||||||
1619 | char* code = reinterpret_cast<char*>(m_formatter.data()); | - | ||||||||||||||||||||||||||||||
1620 | (!(!loadPossiblyUnaligned<int32_t>(code, from.m_offset, -1)) ? (qmlWTFReportAssertionFailure(__FILE__, 1895, __PRETTY_FUNCTION__, "!loadPossiblyUnaligned<int32_t>(code, from.m_offset, -1)"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0); | - | ||||||||||||||||||||||||||||||
1621 | setRel32(code + from.m_offset, code + to.m_offset); | - | ||||||||||||||||||||||||||||||
1622 | } executed 7524269 times by 153 tests: end of block Executed by:
| 7524269 | ||||||||||||||||||||||||||||||
1623 | - | |||||||||||||||||||||||||||||||
1624 | template<typename T> | - | ||||||||||||||||||||||||||||||
1625 | T loadPossiblyUnaligned(char *ptr, size_t offset, int idx) | - | ||||||||||||||||||||||||||||||
1626 | { | - | ||||||||||||||||||||||||||||||
1627 | T *t_ptr = &reinterpret_cast<T*>(ptr + offset)[idx]; | - | ||||||||||||||||||||||||||||||
1628 | T val; | - | ||||||||||||||||||||||||||||||
1629 | memcpy(&val, t_ptr, sizeof(T)); | - | ||||||||||||||||||||||||||||||
1630 | return executed 7524860 times by 153 tests: val;return val; Executed by:
executed 7524860 times by 153 tests: return val; Executed by:
| 7524860 | ||||||||||||||||||||||||||||||
1631 | } | - | ||||||||||||||||||||||||||||||
1632 | - | |||||||||||||||||||||||||||||||
1633 | static void linkJump(void* code, AssemblerLabel from, void* to) | - | ||||||||||||||||||||||||||||||
1634 | { | - | ||||||||||||||||||||||||||||||
1635 | (!(from.isSet()) ? (qmlWTFReportAssertionFailure(__FILE__, 1910, __PRETTY_FUNCTION__, "from.isSet()"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0); | - | ||||||||||||||||||||||||||||||
1636 | - | |||||||||||||||||||||||||||||||
1637 | setRel32(reinterpret_cast<char*>(code) + from.m_offset, to); | - | ||||||||||||||||||||||||||||||
1638 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1639 | - | |||||||||||||||||||||||||||||||
1640 | static void linkCall(void* code, AssemblerLabel from, void* to) | - | ||||||||||||||||||||||||||||||
1641 | { | - | ||||||||||||||||||||||||||||||
1642 | (!(from.isSet()) ? (qmlWTFReportAssertionFailure(__FILE__, 1917, __PRETTY_FUNCTION__, "from.isSet()"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0); | - | ||||||||||||||||||||||||||||||
1643 | - | |||||||||||||||||||||||||||||||
1644 | setRel32(reinterpret_cast<char*>(code) + from.m_offset, to); | - | ||||||||||||||||||||||||||||||
1645 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1646 | - | |||||||||||||||||||||||||||||||
1647 | static void linkPointer(void* code, AssemblerLabel where, void* value) | - | ||||||||||||||||||||||||||||||
1648 | { | - | ||||||||||||||||||||||||||||||
1649 | (!(where.isSet()) ? (qmlWTFReportAssertionFailure(__FILE__, 1924, __PRETTY_FUNCTION__, "where.isSet()"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0); | - | ||||||||||||||||||||||||||||||
1650 | - | |||||||||||||||||||||||||||||||
1651 | setPointer(reinterpret_cast<char*>(code) + where.m_offset, value); | - | ||||||||||||||||||||||||||||||
1652 | } executed 612 times by 10 tests: end of block Executed by:
| 612 | ||||||||||||||||||||||||||||||
1653 | - | |||||||||||||||||||||||||||||||
1654 | static void relinkJump(void* from, void* to) | - | ||||||||||||||||||||||||||||||
1655 | { | - | ||||||||||||||||||||||||||||||
1656 | setRel32(from, to); | - | ||||||||||||||||||||||||||||||
1657 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1658 | - | |||||||||||||||||||||||||||||||
1659 | static void relinkCall(void* from, void* to) | - | ||||||||||||||||||||||||||||||
1660 | { | - | ||||||||||||||||||||||||||||||
1661 | setRel32(from, to); | - | ||||||||||||||||||||||||||||||
1662 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1663 | - | |||||||||||||||||||||||||||||||
1664 | static void repatchCompact(void* where, int32_t value) | - | ||||||||||||||||||||||||||||||
1665 | { | - | ||||||||||||||||||||||||||||||
1666 | (!(value >= std::numeric_limits<int8_t>::min()) ? (qmlWTFReportAssertionFailure(__FILE__, 1941, __PRETTY_FUNCTION__, "value >= std::numeric_limits<int8_t>::min()"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0); | - | ||||||||||||||||||||||||||||||
1667 | (!(value <= std::numeric_limits<int8_t>::max()) ? (qmlWTFReportAssertionFailure(__FILE__, 1942, __PRETTY_FUNCTION__, "value <= std::numeric_limits<int8_t>::max()"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0); | - | ||||||||||||||||||||||||||||||
1668 | setInt8(where, value); | - | ||||||||||||||||||||||||||||||
1669 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1670 | - | |||||||||||||||||||||||||||||||
1671 | static void repatchInt32(void* where, int32_t value) | - | ||||||||||||||||||||||||||||||
1672 | { | - | ||||||||||||||||||||||||||||||
1673 | setInt32(where, value); | - | ||||||||||||||||||||||||||||||
1674 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1675 | - | |||||||||||||||||||||||||||||||
1676 | static void repatchPointer(void* where, void* value) | - | ||||||||||||||||||||||||||||||
1677 | { | - | ||||||||||||||||||||||||||||||
1678 | setPointer(where, value); | - | ||||||||||||||||||||||||||||||
1679 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1680 | - | |||||||||||||||||||||||||||||||
1681 | static void* readPointer(void* where) | - | ||||||||||||||||||||||||||||||
1682 | { | - | ||||||||||||||||||||||||||||||
1683 | return never executed: reinterpret_cast<void**>(where)[-1];return reinterpret_cast<void**>(where)[-1]; never executed: return reinterpret_cast<void**>(where)[-1]; | 0 | ||||||||||||||||||||||||||||||
1684 | } | - | ||||||||||||||||||||||||||||||
1685 | - | |||||||||||||||||||||||||||||||
1686 | static void replaceWithJump(void* instructionStart, void* to) | - | ||||||||||||||||||||||||||||||
1687 | { | - | ||||||||||||||||||||||||||||||
1688 | uint8_t* ptr = reinterpret_cast<uint8_t*>(instructionStart); | - | ||||||||||||||||||||||||||||||
1689 | uint8_t* dstPtr = reinterpret_cast<uint8_t*>(to); | - | ||||||||||||||||||||||||||||||
1690 | intptr_t distance = (intptr_t)(dstPtr - (ptr + 5)); | - | ||||||||||||||||||||||||||||||
1691 | ptr[0] = static_cast<uint8_t>(OP_JMP_rel32); | - | ||||||||||||||||||||||||||||||
1692 | *reinterpret_cast<int32_t*>(ptr + 1) = static_cast<int32_t>(distance); | - | ||||||||||||||||||||||||||||||
1693 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1694 | - | |||||||||||||||||||||||||||||||
1695 | static ptrdiff_t maxJumpReplacementSize() | - | ||||||||||||||||||||||||||||||
1696 | { | - | ||||||||||||||||||||||||||||||
1697 | return never executed: 5;return 5; never executed: return 5; | 0 | ||||||||||||||||||||||||||||||
1698 | } | - | ||||||||||||||||||||||||||||||
1699 | - | |||||||||||||||||||||||||||||||
1700 | - | |||||||||||||||||||||||||||||||
1701 | static void revertJumpTo_movq_i64r(void* instructionStart, int64_t imm, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1702 | { | - | ||||||||||||||||||||||||||||||
1703 | const int rexBytes = 1; | - | ||||||||||||||||||||||||||||||
1704 | const int opcodeBytes = 1; | - | ||||||||||||||||||||||||||||||
1705 | (!(rexBytes + opcodeBytes <= maxJumpReplacementSize()) ? (qmlWTFReportAssertionFailure(__FILE__, 1980, __PRETTY_FUNCTION__, "rexBytes + opcodeBytes <= maxJumpReplacementSize()"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0); | - | ||||||||||||||||||||||||||||||
1706 | uint8_t* ptr = reinterpret_cast<uint8_t*>(instructionStart); | - | ||||||||||||||||||||||||||||||
1707 | ptr[0] = PRE_REX | (1 << 3) | (dst >> 3); | - | ||||||||||||||||||||||||||||||
1708 | ptr[1] = OP_MOV_EAXIv | (dst & 7); | - | ||||||||||||||||||||||||||||||
1709 | - | |||||||||||||||||||||||||||||||
1710 | union { | - | ||||||||||||||||||||||||||||||
1711 | uint64_t asWord; | - | ||||||||||||||||||||||||||||||
1712 | uint8_t asBytes[8]; | - | ||||||||||||||||||||||||||||||
1713 | } u; | - | ||||||||||||||||||||||||||||||
1714 | u.asWord = imm; | - | ||||||||||||||||||||||||||||||
1715 | for (unsigned i = rexBytes + opcodeBytes; i < static_cast<unsigned>(maxJumpReplacementSize())
| 0 | ||||||||||||||||||||||||||||||
1716 | ptr[i] = u.asBytes[i - rexBytes - opcodeBytes]; never executed: ptr[i] = u.asBytes[i - rexBytes - opcodeBytes]; | 0 | ||||||||||||||||||||||||||||||
1717 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1718 | - | |||||||||||||||||||||||||||||||
1719 | - | |||||||||||||||||||||||||||||||
1720 | static void revertJumpTo_cmpl_ir_force32(void* instructionStart, int32_t imm, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1721 | { | - | ||||||||||||||||||||||||||||||
1722 | const int opcodeBytes = 1; | - | ||||||||||||||||||||||||||||||
1723 | const int modRMBytes = 1; | - | ||||||||||||||||||||||||||||||
1724 | (!(opcodeBytes + modRMBytes <= maxJumpReplacementSize()) ? (qmlWTFReportAssertionFailure(__FILE__, 1999, __PRETTY_FUNCTION__, "opcodeBytes + modRMBytes <= maxJumpReplacementSize()"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0); | - | ||||||||||||||||||||||||||||||
1725 | uint8_t* ptr = reinterpret_cast<uint8_t*>(instructionStart); | - | ||||||||||||||||||||||||||||||
1726 | ptr[0] = OP_GROUP1_EvIz; | - | ||||||||||||||||||||||||||||||
1727 | ptr[1] = (X86InstructionFormatter::ModRmRegister << 6) | (GROUP1_OP_CMP << 3) | dst; | - | ||||||||||||||||||||||||||||||
1728 | union { | - | ||||||||||||||||||||||||||||||
1729 | uint32_t asWord; | - | ||||||||||||||||||||||||||||||
1730 | uint8_t asBytes[4]; | - | ||||||||||||||||||||||||||||||
1731 | } u; | - | ||||||||||||||||||||||||||||||
1732 | u.asWord = imm; | - | ||||||||||||||||||||||||||||||
1733 | for (unsigned i = opcodeBytes + modRMBytes; i < static_cast<unsigned>(maxJumpReplacementSize())
| 0 | ||||||||||||||||||||||||||||||
1734 | ptr[i] = u.asBytes[i - opcodeBytes - modRMBytes]; never executed: ptr[i] = u.asBytes[i - opcodeBytes - modRMBytes]; | 0 | ||||||||||||||||||||||||||||||
1735 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1736 | - | |||||||||||||||||||||||||||||||
1737 | static void revertJumpTo_cmpl_im_force32(void* instructionStart, int32_t imm, int offset, RegisterID dst) | - | ||||||||||||||||||||||||||||||
1738 | { | - | ||||||||||||||||||||||||||||||
1739 | (!(!offset) ? (qmlWTFReportAssertionFailure(__FILE__, 2014, __PRETTY_FUNCTION__, "!offset"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0); | - | ||||||||||||||||||||||||||||||
1740 | const int opcodeBytes = 1; | - | ||||||||||||||||||||||||||||||
1741 | const int modRMBytes = 1; | - | ||||||||||||||||||||||||||||||
1742 | (!(opcodeBytes + modRMBytes <= maxJumpReplacementSize()) ? (qmlWTFReportAssertionFailure(__FILE__, 2017, __PRETTY_FUNCTION__, "opcodeBytes + modRMBytes <= maxJumpReplacementSize()"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0); | - | ||||||||||||||||||||||||||||||
1743 | uint8_t* ptr = reinterpret_cast<uint8_t*>(instructionStart); | - | ||||||||||||||||||||||||||||||
1744 | ptr[0] = OP_GROUP1_EvIz; | - | ||||||||||||||||||||||||||||||
1745 | ptr[1] = (X86InstructionFormatter::ModRmMemoryNoDisp << 6) | (GROUP1_OP_CMP << 3) | dst; | - | ||||||||||||||||||||||||||||||
1746 | union { | - | ||||||||||||||||||||||||||||||
1747 | uint32_t asWord; | - | ||||||||||||||||||||||||||||||
1748 | uint8_t asBytes[4]; | - | ||||||||||||||||||||||||||||||
1749 | } u; | - | ||||||||||||||||||||||||||||||
1750 | u.asWord = imm; | - | ||||||||||||||||||||||||||||||
1751 | for (unsigned i = opcodeBytes + modRMBytes; i < static_cast<unsigned>(maxJumpReplacementSize())
| 0 | ||||||||||||||||||||||||||||||
1752 | ptr[i] = u.asBytes[i - opcodeBytes - modRMBytes]; never executed: ptr[i] = u.asBytes[i - opcodeBytes - modRMBytes]; | 0 | ||||||||||||||||||||||||||||||
1753 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1754 | - | |||||||||||||||||||||||||||||||
1755 | static void replaceWithLoad(void* instructionStart) | - | ||||||||||||||||||||||||||||||
1756 | { | - | ||||||||||||||||||||||||||||||
1757 | uint8_t* ptr = reinterpret_cast<uint8_t*>(instructionStart); | - | ||||||||||||||||||||||||||||||
1758 | - | |||||||||||||||||||||||||||||||
1759 | if ((*
| 0 | ||||||||||||||||||||||||||||||
1760 | ptr++; never executed: ptr++; | 0 | ||||||||||||||||||||||||||||||
1761 | - | |||||||||||||||||||||||||||||||
1762 | switch (*ptr) { | - | ||||||||||||||||||||||||||||||
1763 | case never executed: OP_MOV_GvEv:case OP_MOV_GvEv: never executed: case OP_MOV_GvEv: | 0 | ||||||||||||||||||||||||||||||
1764 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
1765 | case never executed: OP_LEA:case OP_LEA: never executed: case OP_LEA: | 0 | ||||||||||||||||||||||||||||||
1766 | *ptr = OP_MOV_GvEv; | - | ||||||||||||||||||||||||||||||
1767 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
1768 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||||||||||||||
1769 | do { qmlWTFReportAssertionFailure(__FILE__, 2044, __PRETTY_FUNCTION__, 0); (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap()); } while (0); | - | ||||||||||||||||||||||||||||||
1770 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1771 | } | - | ||||||||||||||||||||||||||||||
1772 | - | |||||||||||||||||||||||||||||||
1773 | static void replaceWithAddressComputation(void* instructionStart) | - | ||||||||||||||||||||||||||||||
1774 | { | - | ||||||||||||||||||||||||||||||
1775 | uint8_t* ptr = reinterpret_cast<uint8_t*>(instructionStart); | - | ||||||||||||||||||||||||||||||
1776 | - | |||||||||||||||||||||||||||||||
1777 | if ((*
| 0 | ||||||||||||||||||||||||||||||
1778 | ptr++; never executed: ptr++; | 0 | ||||||||||||||||||||||||||||||
1779 | - | |||||||||||||||||||||||||||||||
1780 | switch (*ptr) { | - | ||||||||||||||||||||||||||||||
1781 | case never executed: OP_MOV_GvEv:case OP_MOV_GvEv: never executed: case OP_MOV_GvEv: | 0 | ||||||||||||||||||||||||||||||
1782 | *ptr = OP_LEA; | - | ||||||||||||||||||||||||||||||
1783 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
1784 | case never executed: OP_LEA:case OP_LEA: never executed: case OP_LEA: | 0 | ||||||||||||||||||||||||||||||
1785 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||
1786 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||||||||||||||
1787 | do { qmlWTFReportAssertionFailure(__FILE__, 2062, __PRETTY_FUNCTION__, 0); (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap()); } while (0); | - | ||||||||||||||||||||||||||||||
1788 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1789 | } | - | ||||||||||||||||||||||||||||||
1790 | - | |||||||||||||||||||||||||||||||
1791 | static unsigned getCallReturnOffset(AssemblerLabel call) | - | ||||||||||||||||||||||||||||||
1792 | { | - | ||||||||||||||||||||||||||||||
1793 | (!(call.isSet()) ? (qmlWTFReportAssertionFailure(__FILE__, 2068, __PRETTY_FUNCTION__, "call.isSet()"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0); | - | ||||||||||||||||||||||||||||||
1794 | return never executed: call.m_offset;return call.m_offset; never executed: return call.m_offset; | 0 | ||||||||||||||||||||||||||||||
1795 | } | - | ||||||||||||||||||||||||||||||
1796 | - | |||||||||||||||||||||||||||||||
1797 | static void* getRelocatedAddress(void* code, AssemblerLabel label) | - | ||||||||||||||||||||||||||||||
1798 | { | - | ||||||||||||||||||||||||||||||
1799 | (!(label.isSet()) ? (qmlWTFReportAssertionFailure(__FILE__, 2074, __PRETTY_FUNCTION__, "label.isSet()"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0); | - | ||||||||||||||||||||||||||||||
1800 | return executed 612 times by 10 tests: reinterpret_cast<void*>(reinterpret_cast<ptrdiff_t>(code) + label.m_offset);return reinterpret_cast<void*>(reinterpret_cast<ptrdiff_t>(code) + label.m_offset); Executed by:
executed 612 times by 10 tests: return reinterpret_cast<void*>(reinterpret_cast<ptrdiff_t>(code) + label.m_offset); Executed by:
| 612 | ||||||||||||||||||||||||||||||
1801 | } | - | ||||||||||||||||||||||||||||||
1802 | - | |||||||||||||||||||||||||||||||
1803 | static int getDifferenceBetweenLabels(AssemblerLabel a, AssemblerLabel b) | - | ||||||||||||||||||||||||||||||
1804 | { | - | ||||||||||||||||||||||||||||||
1805 | return never executed: b.m_offset - a.m_offset;return b.m_offset - a.m_offset; never executed: return b.m_offset - a.m_offset; | 0 | ||||||||||||||||||||||||||||||
1806 | } | - | ||||||||||||||||||||||||||||||
1807 | - | |||||||||||||||||||||||||||||||
1808 | PassRefPtr<ExecutableMemoryHandle> executableCopy(JSGlobalData& globalData, void* ownerUID, JITCompilationEffort effort) | - | ||||||||||||||||||||||||||||||
1809 | { | - | ||||||||||||||||||||||||||||||
1810 | return executed 1162035 times by 153 tests: m_formatter.executableCopy(globalData, ownerUID, effort);return m_formatter.executableCopy(globalData, ownerUID, effort); Executed by:
executed 1162035 times by 153 tests: return m_formatter.executableCopy(globalData, ownerUID, effort); Executed by:
| 1162035 | ||||||||||||||||||||||||||||||
1811 | } | - | ||||||||||||||||||||||||||||||
1812 | - | |||||||||||||||||||||||||||||||
1813 | unsigned debugOffset() { return never executed: m_formatter.debugOffset();return m_formatter.debugOffset(); never executed: }return m_formatter.debugOffset(); | 0 | ||||||||||||||||||||||||||||||
1814 | - | |||||||||||||||||||||||||||||||
1815 | void nop() | - | ||||||||||||||||||||||||||||||
1816 | { | - | ||||||||||||||||||||||||||||||
1817 | m_formatter.oneByteOp(OP_NOP); | - | ||||||||||||||||||||||||||||||
1818 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1819 | - | |||||||||||||||||||||||||||||||
1820 | - | |||||||||||||||||||||||||||||||
1821 | inline static void cacheFlush(void*, size_t) { } | - | ||||||||||||||||||||||||||||||
1822 | - | |||||||||||||||||||||||||||||||
1823 | private: | - | ||||||||||||||||||||||||||||||
1824 | - | |||||||||||||||||||||||||||||||
1825 | static void setPointer(void* where, void* value) | - | ||||||||||||||||||||||||||||||
1826 | { | - | ||||||||||||||||||||||||||||||
1827 | reinterpret_cast<void**>(where)[-1] = value; | - | ||||||||||||||||||||||||||||||
1828 | } executed 612 times by 10 tests: end of block Executed by:
| 612 | ||||||||||||||||||||||||||||||
1829 | - | |||||||||||||||||||||||||||||||
1830 | static void setInt32(void* where, int32_t value) | - | ||||||||||||||||||||||||||||||
1831 | { | - | ||||||||||||||||||||||||||||||
1832 | storePossiblyUnaligned<int32_t>(where, -1, value); | - | ||||||||||||||||||||||||||||||
1833 | } executed 7526539 times by 153 tests: end of block Executed by:
| 7526539 | ||||||||||||||||||||||||||||||
1834 | - | |||||||||||||||||||||||||||||||
1835 | template <typename T> | - | ||||||||||||||||||||||||||||||
1836 | static void storePossiblyUnaligned(void *where, int idx, T value) | - | ||||||||||||||||||||||||||||||
1837 | { | - | ||||||||||||||||||||||||||||||
1838 | T *ptr = &reinterpret_cast<T*>(where)[idx]; | - | ||||||||||||||||||||||||||||||
1839 | memcpy(ptr, &value, sizeof(T)); | - | ||||||||||||||||||||||||||||||
1840 | } executed 7524745 times by 153 tests: end of block Executed by:
| 7524745 | ||||||||||||||||||||||||||||||
1841 | - | |||||||||||||||||||||||||||||||
1842 | static void setInt8(void* where, int8_t value) | - | ||||||||||||||||||||||||||||||
1843 | { | - | ||||||||||||||||||||||||||||||
1844 | reinterpret_cast<int8_t*>(where)[-1] = value; | - | ||||||||||||||||||||||||||||||
1845 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1846 | - | |||||||||||||||||||||||||||||||
1847 | static void setRel32(void* from, void* to) | - | ||||||||||||||||||||||||||||||
1848 | { | - | ||||||||||||||||||||||||||||||
1849 | intptr_t offset = reinterpret_cast<intptr_t>(to) - reinterpret_cast<intptr_t>(from); | - | ||||||||||||||||||||||||||||||
1850 | (!(offset == static_cast<int32_t>(offset)) ? (qmlWTFReportAssertionFailure(__FILE__, 2125, __PRETTY_FUNCTION__, "offset == static_cast<int32_t>(offset)"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0); | - | ||||||||||||||||||||||||||||||
1851 | - | |||||||||||||||||||||||||||||||
1852 | setInt32(from, offset); | - | ||||||||||||||||||||||||||||||
1853 | } executed 7527014 times by 153 tests: end of block Executed by:
| 7527014 | ||||||||||||||||||||||||||||||
1854 | - | |||||||||||||||||||||||||||||||
1855 | class X86InstructionFormatter { | - | ||||||||||||||||||||||||||||||
1856 | - | |||||||||||||||||||||||||||||||
1857 | static const int maxInstructionSize = 16; | - | ||||||||||||||||||||||||||||||
1858 | - | |||||||||||||||||||||||||||||||
1859 | public: | - | ||||||||||||||||||||||||||||||
1860 | - | |||||||||||||||||||||||||||||||
1861 | enum ModRmMode { | - | ||||||||||||||||||||||||||||||
1862 | ModRmMemoryNoDisp, | - | ||||||||||||||||||||||||||||||
1863 | ModRmMemoryDisp8, | - | ||||||||||||||||||||||||||||||
1864 | ModRmMemoryDisp32, | - | ||||||||||||||||||||||||||||||
1865 | ModRmRegister, | - | ||||||||||||||||||||||||||||||
1866 | }; | - | ||||||||||||||||||||||||||||||
1867 | - | |||||||||||||||||||||||||||||||
1868 | - | |||||||||||||||||||||||||||||||
1869 | - | |||||||||||||||||||||||||||||||
1870 | - | |||||||||||||||||||||||||||||||
1871 | - | |||||||||||||||||||||||||||||||
1872 | void prefix(OneByteOpcodeID pre) | - | ||||||||||||||||||||||||||||||
1873 | { | - | ||||||||||||||||||||||||||||||
1874 | m_buffer.putByte(pre); | - | ||||||||||||||||||||||||||||||
1875 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1876 | void oneByteOp(OneByteOpcodeID opcode) | - | ||||||||||||||||||||||||||||||
1877 | { | - | ||||||||||||||||||||||||||||||
1878 | m_buffer.ensureSpace(maxInstructionSize); | - | ||||||||||||||||||||||||||||||
1879 | m_buffer.putByteUnchecked(opcode); | - | ||||||||||||||||||||||||||||||
1880 | } executed 4652047 times by 153 tests: end of block Executed by:
| 4652047 | ||||||||||||||||||||||||||||||
1881 | - | |||||||||||||||||||||||||||||||
1882 | void oneByteOp(OneByteOpcodeID opcode, RegisterID reg) | - | ||||||||||||||||||||||||||||||
1883 | { | - | ||||||||||||||||||||||||||||||
1884 | m_buffer.ensureSpace(maxInstructionSize); | - | ||||||||||||||||||||||||||||||
1885 | emitRexIfNeeded(0, 0, reg); | - | ||||||||||||||||||||||||||||||
1886 | m_buffer.putByteUnchecked(opcode + (reg & 7)); | - | ||||||||||||||||||||||||||||||
1887 | } executed 9379993 times by 153 tests: end of block Executed by:
| 9379993 | ||||||||||||||||||||||||||||||
1888 | - | |||||||||||||||||||||||||||||||
1889 | void oneByteOp(OneByteOpcodeID opcode, int reg, RegisterID rm) | - | ||||||||||||||||||||||||||||||
1890 | { | - | ||||||||||||||||||||||||||||||
1891 | m_buffer.ensureSpace(maxInstructionSize); | - | ||||||||||||||||||||||||||||||
1892 | emitRexIfNeeded(reg, 0, rm); | - | ||||||||||||||||||||||||||||||
1893 | m_buffer.putByteUnchecked(opcode); | - | ||||||||||||||||||||||||||||||
1894 | registerModRM(reg, rm); | - | ||||||||||||||||||||||||||||||
1895 | } executed 15387540 times by 153 tests: end of block Executed by:
| 15387540 | ||||||||||||||||||||||||||||||
1896 | - | |||||||||||||||||||||||||||||||
1897 | void oneByteOp(OneByteOpcodeID opcode, int reg, RegisterID base, int offset) | - | ||||||||||||||||||||||||||||||
1898 | { | - | ||||||||||||||||||||||||||||||
1899 | m_buffer.ensureSpace(maxInstructionSize); | - | ||||||||||||||||||||||||||||||
1900 | emitRexIfNeeded(reg, 0, base); | - | ||||||||||||||||||||||||||||||
1901 | m_buffer.putByteUnchecked(opcode); | - | ||||||||||||||||||||||||||||||
1902 | memoryModRM(reg, base, offset); | - | ||||||||||||||||||||||||||||||
1903 | } executed 3560084 times by 153 tests: end of block Executed by:
| 3560084 | ||||||||||||||||||||||||||||||
1904 | - | |||||||||||||||||||||||||||||||
1905 | void oneByteOp_disp32(OneByteOpcodeID opcode, int reg, RegisterID base, int offset) | - | ||||||||||||||||||||||||||||||
1906 | { | - | ||||||||||||||||||||||||||||||
1907 | m_buffer.ensureSpace(maxInstructionSize); | - | ||||||||||||||||||||||||||||||
1908 | emitRexIfNeeded(reg, 0, base); | - | ||||||||||||||||||||||||||||||
1909 | m_buffer.putByteUnchecked(opcode); | - | ||||||||||||||||||||||||||||||
1910 | memoryModRM_disp32(reg, base, offset); | - | ||||||||||||||||||||||||||||||
1911 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1912 | - | |||||||||||||||||||||||||||||||
1913 | void oneByteOp_disp8(OneByteOpcodeID opcode, int reg, RegisterID base, int offset) | - | ||||||||||||||||||||||||||||||
1914 | { | - | ||||||||||||||||||||||||||||||
1915 | m_buffer.ensureSpace(maxInstructionSize); | - | ||||||||||||||||||||||||||||||
1916 | emitRexIfNeeded(reg, 0, base); | - | ||||||||||||||||||||||||||||||
1917 | m_buffer.putByteUnchecked(opcode); | - | ||||||||||||||||||||||||||||||
1918 | memoryModRM_disp8(reg, base, offset); | - | ||||||||||||||||||||||||||||||
1919 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1920 | - | |||||||||||||||||||||||||||||||
1921 | void oneByteOp(OneByteOpcodeID opcode, int reg, RegisterID base, RegisterID index, int scale, int offset) | - | ||||||||||||||||||||||||||||||
1922 | { | - | ||||||||||||||||||||||||||||||
1923 | m_buffer.ensureSpace(maxInstructionSize); | - | ||||||||||||||||||||||||||||||
1924 | emitRexIfNeeded(reg, index, base); | - | ||||||||||||||||||||||||||||||
1925 | m_buffer.putByteUnchecked(opcode); | - | ||||||||||||||||||||||||||||||
1926 | memoryModRM(reg, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
1927 | } executed 792686 times by 6 tests: end of block Executed by:
| 792686 | ||||||||||||||||||||||||||||||
1928 | void twoByteOp(TwoByteOpcodeID opcode) | - | ||||||||||||||||||||||||||||||
1929 | { | - | ||||||||||||||||||||||||||||||
1930 | m_buffer.ensureSpace(maxInstructionSize); | - | ||||||||||||||||||||||||||||||
1931 | m_buffer.putByteUnchecked(OP_2BYTE_ESCAPE); | - | ||||||||||||||||||||||||||||||
1932 | m_buffer.putByteUnchecked(opcode); | - | ||||||||||||||||||||||||||||||
1933 | } executed 6335785 times by 153 tests: end of block Executed by:
| 6335785 | ||||||||||||||||||||||||||||||
1934 | - | |||||||||||||||||||||||||||||||
1935 | void twoByteOp(TwoByteOpcodeID opcode, int reg, RegisterID rm) | - | ||||||||||||||||||||||||||||||
1936 | { | - | ||||||||||||||||||||||||||||||
1937 | m_buffer.ensureSpace(maxInstructionSize); | - | ||||||||||||||||||||||||||||||
1938 | emitRexIfNeeded(reg, 0, rm); | - | ||||||||||||||||||||||||||||||
1939 | m_buffer.putByteUnchecked(OP_2BYTE_ESCAPE); | - | ||||||||||||||||||||||||||||||
1940 | m_buffer.putByteUnchecked(opcode); | - | ||||||||||||||||||||||||||||||
1941 | registerModRM(reg, rm); | - | ||||||||||||||||||||||||||||||
1942 | } executed 896 times by 13 tests: end of block Executed by:
| 896 | ||||||||||||||||||||||||||||||
1943 | - | |||||||||||||||||||||||||||||||
1944 | void twoByteOp(TwoByteOpcodeID opcode, int reg, RegisterID base, int offset) | - | ||||||||||||||||||||||||||||||
1945 | { | - | ||||||||||||||||||||||||||||||
1946 | m_buffer.ensureSpace(maxInstructionSize); | - | ||||||||||||||||||||||||||||||
1947 | emitRexIfNeeded(reg, 0, base); | - | ||||||||||||||||||||||||||||||
1948 | m_buffer.putByteUnchecked(OP_2BYTE_ESCAPE); | - | ||||||||||||||||||||||||||||||
1949 | m_buffer.putByteUnchecked(opcode); | - | ||||||||||||||||||||||||||||||
1950 | memoryModRM(reg, base, offset); | - | ||||||||||||||||||||||||||||||
1951 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1952 | - | |||||||||||||||||||||||||||||||
1953 | void twoByteOp(TwoByteOpcodeID opcode, int reg, RegisterID base, RegisterID index, int scale, int offset) | - | ||||||||||||||||||||||||||||||
1954 | { | - | ||||||||||||||||||||||||||||||
1955 | m_buffer.ensureSpace(maxInstructionSize); | - | ||||||||||||||||||||||||||||||
1956 | emitRexIfNeeded(reg, index, base); | - | ||||||||||||||||||||||||||||||
1957 | m_buffer.putByteUnchecked(OP_2BYTE_ESCAPE); | - | ||||||||||||||||||||||||||||||
1958 | m_buffer.putByteUnchecked(opcode); | - | ||||||||||||||||||||||||||||||
1959 | memoryModRM(reg, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
1960 | } executed 796940 times by 9 tests: end of block Executed by:
| 796940 | ||||||||||||||||||||||||||||||
1961 | void oneByteOp64(OneByteOpcodeID opcode) | - | ||||||||||||||||||||||||||||||
1962 | { | - | ||||||||||||||||||||||||||||||
1963 | m_buffer.ensureSpace(maxInstructionSize); | - | ||||||||||||||||||||||||||||||
1964 | emitRexW(0, 0, 0); | - | ||||||||||||||||||||||||||||||
1965 | m_buffer.putByteUnchecked(opcode); | - | ||||||||||||||||||||||||||||||
1966 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1967 | - | |||||||||||||||||||||||||||||||
1968 | void oneByteOp64(OneByteOpcodeID opcode, RegisterID reg) | - | ||||||||||||||||||||||||||||||
1969 | { | - | ||||||||||||||||||||||||||||||
1970 | m_buffer.ensureSpace(maxInstructionSize); | - | ||||||||||||||||||||||||||||||
1971 | emitRexW(0, 0, reg); | - | ||||||||||||||||||||||||||||||
1972 | m_buffer.putByteUnchecked(opcode + (reg & 7)); | - | ||||||||||||||||||||||||||||||
1973 | } executed 2429819 times by 153 tests: end of block Executed by:
| 2429819 | ||||||||||||||||||||||||||||||
1974 | - | |||||||||||||||||||||||||||||||
1975 | void oneByteOp64(OneByteOpcodeID opcode, int reg, RegisterID rm) | - | ||||||||||||||||||||||||||||||
1976 | { | - | ||||||||||||||||||||||||||||||
1977 | m_buffer.ensureSpace(maxInstructionSize); | - | ||||||||||||||||||||||||||||||
1978 | emitRexW(reg, 0, rm); | - | ||||||||||||||||||||||||||||||
1979 | m_buffer.putByteUnchecked(opcode); | - | ||||||||||||||||||||||||||||||
1980 | registerModRM(reg, rm); | - | ||||||||||||||||||||||||||||||
1981 | } executed 3652121 times by 153 tests: end of block Executed by:
| 3652121 | ||||||||||||||||||||||||||||||
1982 | - | |||||||||||||||||||||||||||||||
1983 | void oneByteOp64(OneByteOpcodeID opcode, int reg, RegisterID base, int offset) | - | ||||||||||||||||||||||||||||||
1984 | { | - | ||||||||||||||||||||||||||||||
1985 | m_buffer.ensureSpace(maxInstructionSize); | - | ||||||||||||||||||||||||||||||
1986 | emitRexW(reg, 0, base); | - | ||||||||||||||||||||||||||||||
1987 | m_buffer.putByteUnchecked(opcode); | - | ||||||||||||||||||||||||||||||
1988 | memoryModRM(reg, base, offset); | - | ||||||||||||||||||||||||||||||
1989 | } executed 197748 times by 65 tests: end of block Executed by:
| 197748 | ||||||||||||||||||||||||||||||
1990 | - | |||||||||||||||||||||||||||||||
1991 | void oneByteOp64_disp32(OneByteOpcodeID opcode, int reg, RegisterID base, int offset) | - | ||||||||||||||||||||||||||||||
1992 | { | - | ||||||||||||||||||||||||||||||
1993 | m_buffer.ensureSpace(maxInstructionSize); | - | ||||||||||||||||||||||||||||||
1994 | emitRexW(reg, 0, base); | - | ||||||||||||||||||||||||||||||
1995 | m_buffer.putByteUnchecked(opcode); | - | ||||||||||||||||||||||||||||||
1996 | memoryModRM_disp32(reg, base, offset); | - | ||||||||||||||||||||||||||||||
1997 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
1998 | - | |||||||||||||||||||||||||||||||
1999 | void oneByteOp64_disp8(OneByteOpcodeID opcode, int reg, RegisterID base, int offset) | - | ||||||||||||||||||||||||||||||
2000 | { | - | ||||||||||||||||||||||||||||||
2001 | m_buffer.ensureSpace(maxInstructionSize); | - | ||||||||||||||||||||||||||||||
2002 | emitRexW(reg, 0, base); | - | ||||||||||||||||||||||||||||||
2003 | m_buffer.putByteUnchecked(opcode); | - | ||||||||||||||||||||||||||||||
2004 | memoryModRM_disp8(reg, base, offset); | - | ||||||||||||||||||||||||||||||
2005 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
2006 | - | |||||||||||||||||||||||||||||||
2007 | void oneByteOp64(OneByteOpcodeID opcode, int reg, RegisterID base, RegisterID index, int scale, int offset) | - | ||||||||||||||||||||||||||||||
2008 | { | - | ||||||||||||||||||||||||||||||
2009 | m_buffer.ensureSpace(maxInstructionSize); | - | ||||||||||||||||||||||||||||||
2010 | emitRexW(reg, index, base); | - | ||||||||||||||||||||||||||||||
2011 | m_buffer.putByteUnchecked(opcode); | - | ||||||||||||||||||||||||||||||
2012 | memoryModRM(reg, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
2013 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
2014 | - | |||||||||||||||||||||||||||||||
2015 | void twoByteOp64(TwoByteOpcodeID opcode, int reg, RegisterID rm) | - | ||||||||||||||||||||||||||||||
2016 | { | - | ||||||||||||||||||||||||||||||
2017 | m_buffer.ensureSpace(maxInstructionSize); | - | ||||||||||||||||||||||||||||||
2018 | emitRexW(reg, 0, rm); | - | ||||||||||||||||||||||||||||||
2019 | m_buffer.putByteUnchecked(OP_2BYTE_ESCAPE); | - | ||||||||||||||||||||||||||||||
2020 | m_buffer.putByteUnchecked(opcode); | - | ||||||||||||||||||||||||||||||
2021 | registerModRM(reg, rm); | - | ||||||||||||||||||||||||||||||
2022 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
2023 | void oneByteOp8(OneByteOpcodeID opcode, GroupOpcodeID groupOp, RegisterID rm) | - | ||||||||||||||||||||||||||||||
2024 | { | - | ||||||||||||||||||||||||||||||
2025 | m_buffer.ensureSpace(maxInstructionSize); | - | ||||||||||||||||||||||||||||||
2026 | emitRexIf(byteRegRequiresRex(rm), 0, 0, rm); | - | ||||||||||||||||||||||||||||||
2027 | m_buffer.putByteUnchecked(opcode); | - | ||||||||||||||||||||||||||||||
2028 | registerModRM(groupOp, rm); | - | ||||||||||||||||||||||||||||||
2029 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
2030 | - | |||||||||||||||||||||||||||||||
2031 | void oneByteOp8(OneByteOpcodeID opcode, int reg, RegisterID rm) | - | ||||||||||||||||||||||||||||||
2032 | { | - | ||||||||||||||||||||||||||||||
2033 | m_buffer.ensureSpace(maxInstructionSize); | - | ||||||||||||||||||||||||||||||
2034 | emitRexIf(byteRegRequiresRex(reg) || byteRegRequiresRex(rm), reg, 0, rm); | - | ||||||||||||||||||||||||||||||
2035 | m_buffer.putByteUnchecked(opcode); | - | ||||||||||||||||||||||||||||||
2036 | registerModRM(reg, rm); | - | ||||||||||||||||||||||||||||||
2037 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
2038 | - | |||||||||||||||||||||||||||||||
2039 | void oneByteOp8(OneByteOpcodeID opcode, int reg, RegisterID base, RegisterID index, int scale, int offset) | - | ||||||||||||||||||||||||||||||
2040 | { | - | ||||||||||||||||||||||||||||||
2041 | m_buffer.ensureSpace(maxInstructionSize); | - | ||||||||||||||||||||||||||||||
2042 | emitRexIf(byteRegRequiresRex(reg) || regRequiresRex(index) || regRequiresRex(base), reg, index, base); | - | ||||||||||||||||||||||||||||||
2043 | m_buffer.putByteUnchecked(opcode); | - | ||||||||||||||||||||||||||||||
2044 | memoryModRM(reg, base, index, scale, offset); | - | ||||||||||||||||||||||||||||||
2045 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
2046 | - | |||||||||||||||||||||||||||||||
2047 | void twoByteOp8(TwoByteOpcodeID opcode, RegisterID reg, RegisterID rm) | - | ||||||||||||||||||||||||||||||
2048 | { | - | ||||||||||||||||||||||||||||||
2049 | m_buffer.ensureSpace(maxInstructionSize); | - | ||||||||||||||||||||||||||||||
2050 | emitRexIf(byteRegRequiresRex(reg)|byteRegRequiresRex(rm), reg, 0, rm); | - | ||||||||||||||||||||||||||||||
2051 | m_buffer.putByteUnchecked(OP_2BYTE_ESCAPE); | - | ||||||||||||||||||||||||||||||
2052 | m_buffer.putByteUnchecked(opcode); | - | ||||||||||||||||||||||||||||||
2053 | registerModRM(reg, rm); | - | ||||||||||||||||||||||||||||||
2054 | } executed 2610 times by 34 tests: end of block Executed by:
| 2610 | ||||||||||||||||||||||||||||||
2055 | - | |||||||||||||||||||||||||||||||
2056 | void twoByteOp8(TwoByteOpcodeID opcode, GroupOpcodeID groupOp, RegisterID rm) | - | ||||||||||||||||||||||||||||||
2057 | { | - | ||||||||||||||||||||||||||||||
2058 | m_buffer.ensureSpace(maxInstructionSize); | - | ||||||||||||||||||||||||||||||
2059 | emitRexIf(byteRegRequiresRex(rm), 0, 0, rm); | - | ||||||||||||||||||||||||||||||
2060 | m_buffer.putByteUnchecked(OP_2BYTE_ESCAPE); | - | ||||||||||||||||||||||||||||||
2061 | m_buffer.putByteUnchecked(opcode); | - | ||||||||||||||||||||||||||||||
2062 | registerModRM(groupOp, rm); | - | ||||||||||||||||||||||||||||||
2063 | } executed 2610 times by 34 tests: end of block Executed by:
| 2610 | ||||||||||||||||||||||||||||||
2064 | - | |||||||||||||||||||||||||||||||
2065 | - | |||||||||||||||||||||||||||||||
2066 | - | |||||||||||||||||||||||||||||||
2067 | - | |||||||||||||||||||||||||||||||
2068 | - | |||||||||||||||||||||||||||||||
2069 | - | |||||||||||||||||||||||||||||||
2070 | void immediate8(int imm) | - | ||||||||||||||||||||||||||||||
2071 | { | - | ||||||||||||||||||||||||||||||
2072 | m_buffer.putByteUnchecked(imm); | - | ||||||||||||||||||||||||||||||
2073 | } executed 4534654 times by 153 tests: end of block Executed by:
| 4534654 | ||||||||||||||||||||||||||||||
2074 | - | |||||||||||||||||||||||||||||||
2075 | void immediate16(int imm) | - | ||||||||||||||||||||||||||||||
2076 | { | - | ||||||||||||||||||||||||||||||
2077 | m_buffer.putShortUnchecked(imm); | - | ||||||||||||||||||||||||||||||
2078 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
2079 | - | |||||||||||||||||||||||||||||||
2080 | void immediate32(int imm) | - | ||||||||||||||||||||||||||||||
2081 | { | - | ||||||||||||||||||||||||||||||
2082 | m_buffer.putIntUnchecked(imm); | - | ||||||||||||||||||||||||||||||
2083 | } executed 2875968 times by 153 tests: end of block Executed by:
| 2875968 | ||||||||||||||||||||||||||||||
2084 | - | |||||||||||||||||||||||||||||||
2085 | void immediate64(int64_t imm) | - | ||||||||||||||||||||||||||||||
2086 | { | - | ||||||||||||||||||||||||||||||
2087 | m_buffer.putInt64Unchecked(imm); | - | ||||||||||||||||||||||||||||||
2088 | } executed 2429581 times by 153 tests: end of block Executed by:
| 2429581 | ||||||||||||||||||||||||||||||
2089 | - | |||||||||||||||||||||||||||||||
2090 | AssemblerLabel immediateRel32() | - | ||||||||||||||||||||||||||||||
2091 | { | - | ||||||||||||||||||||||||||||||
2092 | m_buffer.putIntUnchecked(0); | - | ||||||||||||||||||||||||||||||
2093 | return executed 7522664 times by 153 tests: label();return label(); Executed by:
executed 7522664 times by 153 tests: return label(); Executed by:
| 7522664 | ||||||||||||||||||||||||||||||
2094 | } | - | ||||||||||||||||||||||||||||||
2095 | - | |||||||||||||||||||||||||||||||
2096 | - | |||||||||||||||||||||||||||||||
2097 | - | |||||||||||||||||||||||||||||||
2098 | size_t codeSize() const { return executed 1164435 times by 153 tests: m_buffer.codeSize();return m_buffer.codeSize(); Executed by:
executed 1164435 times by 153 tests: }return m_buffer.codeSize(); Executed by:
| 1164435 | ||||||||||||||||||||||||||||||
2099 | AssemblerLabel label() const { return executed 15128037 times by 153 tests: m_buffer.label();return m_buffer.label(); Executed by:
executed 15128037 times by 153 tests: }return m_buffer.label(); Executed by:
| 15128037 | ||||||||||||||||||||||||||||||
2100 | bool isAligned(int alignment) const { return never executed: m_buffer.isAligned(alignment);return m_buffer.isAligned(alignment); never executed: }return m_buffer.isAligned(alignment); | 0 | ||||||||||||||||||||||||||||||
2101 | void* data() const { return executed 7521853 times by 153 tests: m_buffer.data();return m_buffer.data(); Executed by:
executed 7521853 times by 153 tests: }return m_buffer.data(); Executed by:
| 7521853 | ||||||||||||||||||||||||||||||
2102 | - | |||||||||||||||||||||||||||||||
2103 | PassRefPtr<ExecutableMemoryHandle> executableCopy(JSGlobalData& globalData, void* ownerUID, JITCompilationEffort effort) | - | ||||||||||||||||||||||||||||||
2104 | { | - | ||||||||||||||||||||||||||||||
2105 | return executed 1162049 times by 153 tests: m_buffer.executableCopy(globalData, ownerUID, effort);return m_buffer.executableCopy(globalData, ownerUID, effort); Executed by:
executed 1162049 times by 153 tests: return m_buffer.executableCopy(globalData, ownerUID, effort); Executed by:
| 1162049 | ||||||||||||||||||||||||||||||
2106 | } | - | ||||||||||||||||||||||||||||||
2107 | - | |||||||||||||||||||||||||||||||
2108 | unsigned debugOffset() { return never executed: m_buffer.debugOffset();return m_buffer.debugOffset(); never executed: }return m_buffer.debugOffset(); | 0 | ||||||||||||||||||||||||||||||
2109 | - | |||||||||||||||||||||||||||||||
2110 | private: | - | ||||||||||||||||||||||||||||||
2111 | - | |||||||||||||||||||||||||||||||
2112 | - | |||||||||||||||||||||||||||||||
2113 | - | |||||||||||||||||||||||||||||||
2114 | static const RegisterID noBase = X86Registers::ebp; | - | ||||||||||||||||||||||||||||||
2115 | static const RegisterID hasSib = X86Registers::esp; | - | ||||||||||||||||||||||||||||||
2116 | static const RegisterID noIndex = X86Registers::esp; | - | ||||||||||||||||||||||||||||||
2117 | - | |||||||||||||||||||||||||||||||
2118 | static const RegisterID noBase2 = X86Registers::r13; | - | ||||||||||||||||||||||||||||||
2119 | static const RegisterID hasSib2 = X86Registers::r12; | - | ||||||||||||||||||||||||||||||
2120 | - | |||||||||||||||||||||||||||||||
2121 | - | |||||||||||||||||||||||||||||||
2122 | inline bool regRequiresRex(int reg) | - | ||||||||||||||||||||||||||||||
2123 | { | - | ||||||||||||||||||||||||||||||
2124 | return executed 89638275 times by 153 tests: (reg >= X86Registers::r8);return (reg >= X86Registers::r8); Executed by:
executed 89638275 times by 153 tests: return (reg >= X86Registers::r8); Executed by:
| 89638275 | ||||||||||||||||||||||||||||||
2125 | } | - | ||||||||||||||||||||||||||||||
2126 | - | |||||||||||||||||||||||||||||||
2127 | - | |||||||||||||||||||||||||||||||
2128 | inline bool byteRegRequiresRex(int reg) | - | ||||||||||||||||||||||||||||||
2129 | { | - | ||||||||||||||||||||||||||||||
2130 | return executed 7830 times by 34 tests: (reg >= X86Registers::esp);return (reg >= X86Registers::esp); Executed by:
executed 7830 times by 34 tests: return (reg >= X86Registers::esp); Executed by:
| 7830 | ||||||||||||||||||||||||||||||
2131 | } | - | ||||||||||||||||||||||||||||||
2132 | - | |||||||||||||||||||||||||||||||
2133 | - | |||||||||||||||||||||||||||||||
2134 | inline void emitRex(bool w, int r, int x, int b) | - | ||||||||||||||||||||||||||||||
2135 | { | - | ||||||||||||||||||||||||||||||
2136 | (!(r >= 0) ? (qmlWTFReportAssertionFailure(__FILE__, 2481, __PRETTY_FUNCTION__, "r >= 0"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0); | - | ||||||||||||||||||||||||||||||
2137 | (!(x >= 0) ? (qmlWTFReportAssertionFailure(__FILE__, 2482, __PRETTY_FUNCTION__, "x >= 0"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0); | - | ||||||||||||||||||||||||||||||
2138 | (!(b >= 0) ? (qmlWTFReportAssertionFailure(__FILE__, 2483, __PRETTY_FUNCTION__, "b >= 0"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0); | - | ||||||||||||||||||||||||||||||
2139 | m_buffer.putByteUnchecked(PRE_REX | ((int)w << 3) | ((r>>3)<<2) | ((x>>3)<<1) | (b>>3)); | - | ||||||||||||||||||||||||||||||
2140 | } executed 6592078 times by 153 tests: end of block Executed by:
| 6592078 | ||||||||||||||||||||||||||||||
2141 | - | |||||||||||||||||||||||||||||||
2142 | - | |||||||||||||||||||||||||||||||
2143 | inline void emitRexW(int r, int x, int b) | - | ||||||||||||||||||||||||||||||
2144 | { | - | ||||||||||||||||||||||||||||||
2145 | emitRex(true, r, x, b); | - | ||||||||||||||||||||||||||||||
2146 | } executed 6280367 times by 153 tests: end of block Executed by:
| 6280367 | ||||||||||||||||||||||||||||||
2147 | - | |||||||||||||||||||||||||||||||
2148 | - | |||||||||||||||||||||||||||||||
2149 | - | |||||||||||||||||||||||||||||||
2150 | inline void emitRexIf(bool condition, int r, int x, int b) | - | ||||||||||||||||||||||||||||||
2151 | { | - | ||||||||||||||||||||||||||||||
2152 | if (condition
executed 312232 times by 65 tests: emitRex(false, r, x, b); Executed by:
| 312232-29590430 | ||||||||||||||||||||||||||||||
2153 | } executed 29902564 times by 153 tests: end of block Executed by:
| 29902564 | ||||||||||||||||||||||||||||||
2154 | - | |||||||||||||||||||||||||||||||
2155 | - | |||||||||||||||||||||||||||||||
2156 | inline void emitRexIfNeeded(int r, int x, int b) | - | ||||||||||||||||||||||||||||||
2157 | { | - | ||||||||||||||||||||||||||||||
2158 | emitRexIf(regRequiresRex(r) || regRequiresRex(x) || regRequiresRex(b), r, x, b); | - | ||||||||||||||||||||||||||||||
2159 | } executed 29902453 times by 153 tests: end of block Executed by:
| 29902453 | ||||||||||||||||||||||||||||||
2160 | void putModRm(ModRmMode mode, int reg, RegisterID rm) | - | ||||||||||||||||||||||||||||||
2161 | { | - | ||||||||||||||||||||||||||||||
2162 | m_buffer.putByteUnchecked((mode << 6) | ((reg & 7) << 3) | (rm & 7)); | - | ||||||||||||||||||||||||||||||
2163 | } executed 24382634 times by 153 tests: end of block Executed by:
| 24382634 | ||||||||||||||||||||||||||||||
2164 | - | |||||||||||||||||||||||||||||||
2165 | void putModRmSib(ModRmMode mode, int reg, RegisterID base, RegisterID index, int scale) | - | ||||||||||||||||||||||||||||||
2166 | { | - | ||||||||||||||||||||||||||||||
2167 | (!(mode != ModRmRegister) ? (qmlWTFReportAssertionFailure(__FILE__, 2520, __PRETTY_FUNCTION__, "mode != ModRmRegister"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0); | - | ||||||||||||||||||||||||||||||
2168 | - | |||||||||||||||||||||||||||||||
2169 | putModRm(mode, reg, hasSib); | - | ||||||||||||||||||||||||||||||
2170 | m_buffer.putByteUnchecked((scale << 6) | ((index & 7) << 3) | (base & 7)); | - | ||||||||||||||||||||||||||||||
2171 | } executed 1743401 times by 65 tests: end of block Executed by:
| 1743401 | ||||||||||||||||||||||||||||||
2172 | - | |||||||||||||||||||||||||||||||
2173 | void registerModRM(int reg, RegisterID rm) | - | ||||||||||||||||||||||||||||||
2174 | { | - | ||||||||||||||||||||||||||||||
2175 | putModRm(ModRmRegister, reg, rm); | - | ||||||||||||||||||||||||||||||
2176 | } executed 19044002 times by 153 tests: end of block Executed by:
| 19044002 | ||||||||||||||||||||||||||||||
2177 | - | |||||||||||||||||||||||||||||||
2178 | void memoryModRM(int reg, RegisterID base, int offset) | - | ||||||||||||||||||||||||||||||
2179 | { | - | ||||||||||||||||||||||||||||||
2180 | - | |||||||||||||||||||||||||||||||
2181 | - | |||||||||||||||||||||||||||||||
2182 | if ((
| 5637-3748599 | ||||||||||||||||||||||||||||||
2183 | - | |||||||||||||||||||||||||||||||
2184 | - | |||||||||||||||||||||||||||||||
2185 | - | |||||||||||||||||||||||||||||||
2186 | if (!offset
| 3111-150359 | ||||||||||||||||||||||||||||||
2187 | putModRmSib(ModRmMemoryNoDisp, reg, base, noIndex, 0); executed 3111 times by 29 tests: putModRmSib(ModRmMemoryNoDisp, reg, base, noIndex, 0); Executed by:
| 3111 | ||||||||||||||||||||||||||||||
2188 | else if (CAN_SIGN_EXTEND_8_32(offset)
| 6930-143428 | ||||||||||||||||||||||||||||||
2189 | putModRmSib(ModRmMemoryDisp8, reg, base, noIndex, 0); | - | ||||||||||||||||||||||||||||||
2190 | m_buffer.putByteUnchecked(offset); | - | ||||||||||||||||||||||||||||||
2191 | } executed 143425 times by 65 tests: else {end of block Executed by:
| 143425 | ||||||||||||||||||||||||||||||
2192 | putModRmSib(ModRmMemoryDisp32, reg, base, noIndex, 0); | - | ||||||||||||||||||||||||||||||
2193 | m_buffer.putIntUnchecked(offset); | - | ||||||||||||||||||||||||||||||
2194 | } executed 6930 times by 15 tests: end of block Executed by:
| 6930 | ||||||||||||||||||||||||||||||
2195 | } else { | - | ||||||||||||||||||||||||||||||
2196 | - | |||||||||||||||||||||||||||||||
2197 | if (!offset
| 0-2306886 | ||||||||||||||||||||||||||||||
2198 | - | |||||||||||||||||||||||||||||||
2199 | - | |||||||||||||||||||||||||||||||
2200 | - | |||||||||||||||||||||||||||||||
2201 | putModRm(ModRmMemoryNoDisp, reg, base); executed 2305375 times by 153 tests: putModRm(ModRmMemoryNoDisp, reg, base); Executed by:
| 2305375 | ||||||||||||||||||||||||||||||
2202 | else if (CAN_SIGN_EXTEND_8_32(offset)
| 5874-1288416 | ||||||||||||||||||||||||||||||
2203 | putModRm(ModRmMemoryDisp8, reg, base); | - | ||||||||||||||||||||||||||||||
2204 | m_buffer.putByteUnchecked(offset); | - | ||||||||||||||||||||||||||||||
2205 | } executed 1289764 times by 153 tests: else {end of block Executed by:
| 1289764 | ||||||||||||||||||||||||||||||
2206 | putModRm(ModRmMemoryDisp32, reg, base); | - | ||||||||||||||||||||||||||||||
2207 | m_buffer.putIntUnchecked(offset); | - | ||||||||||||||||||||||||||||||
2208 | } executed 5874 times by 25 tests: end of block Executed by:
| 5874 | ||||||||||||||||||||||||||||||
2209 | } | - | ||||||||||||||||||||||||||||||
2210 | } | - | ||||||||||||||||||||||||||||||
2211 | - | |||||||||||||||||||||||||||||||
2212 | void memoryModRM_disp8(int reg, RegisterID base, int offset) | - | ||||||||||||||||||||||||||||||
2213 | { | - | ||||||||||||||||||||||||||||||
2214 | - | |||||||||||||||||||||||||||||||
2215 | (!(CAN_SIGN_EXTEND_8_32(offset)) ? (qmlWTFReportAssertionFailure(__FILE__, 2568, __PRETTY_FUNCTION__, "CAN_SIGN_EXTEND_8_32(offset)"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0); | - | ||||||||||||||||||||||||||||||
2216 | - | |||||||||||||||||||||||||||||||
2217 | if ((
| 0 | ||||||||||||||||||||||||||||||
2218 | - | |||||||||||||||||||||||||||||||
2219 | - | |||||||||||||||||||||||||||||||
2220 | - | |||||||||||||||||||||||||||||||
2221 | putModRmSib(ModRmMemoryDisp8, reg, base, noIndex, 0); | - | ||||||||||||||||||||||||||||||
2222 | m_buffer.putByteUnchecked(offset); | - | ||||||||||||||||||||||||||||||
2223 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||||||||
2224 | putModRm(ModRmMemoryDisp8, reg, base); | - | ||||||||||||||||||||||||||||||
2225 | m_buffer.putByteUnchecked(offset); | - | ||||||||||||||||||||||||||||||
2226 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
2227 | } | - | ||||||||||||||||||||||||||||||
2228 | - | |||||||||||||||||||||||||||||||
2229 | void memoryModRM_disp32(int reg, RegisterID base, int offset) | - | ||||||||||||||||||||||||||||||
2230 | { | - | ||||||||||||||||||||||||||||||
2231 | - | |||||||||||||||||||||||||||||||
2232 | - | |||||||||||||||||||||||||||||||
2233 | if ((
| 0 | ||||||||||||||||||||||||||||||
2234 | - | |||||||||||||||||||||||||||||||
2235 | - | |||||||||||||||||||||||||||||||
2236 | - | |||||||||||||||||||||||||||||||
2237 | putModRmSib(ModRmMemoryDisp32, reg, base, noIndex, 0); | - | ||||||||||||||||||||||||||||||
2238 | m_buffer.putIntUnchecked(offset); | - | ||||||||||||||||||||||||||||||
2239 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||||||||
2240 | putModRm(ModRmMemoryDisp32, reg, base); | - | ||||||||||||||||||||||||||||||
2241 | m_buffer.putIntUnchecked(offset); | - | ||||||||||||||||||||||||||||||
2242 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
2243 | } | - | ||||||||||||||||||||||||||||||
2244 | - | |||||||||||||||||||||||||||||||
2245 | void memoryModRM(int reg, RegisterID base, RegisterID index, int scale, int offset) | - | ||||||||||||||||||||||||||||||
2246 | { | - | ||||||||||||||||||||||||||||||
2247 | (!(index != noIndex) ? (qmlWTFReportAssertionFailure(__FILE__, 2600, __PRETTY_FUNCTION__, "index != noIndex"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0); | - | ||||||||||||||||||||||||||||||
2248 | - | |||||||||||||||||||||||||||||||
2249 | - | |||||||||||||||||||||||||||||||
2250 | if (!offset
| 0-1583861 | ||||||||||||||||||||||||||||||
2251 | - | |||||||||||||||||||||||||||||||
2252 | - | |||||||||||||||||||||||||||||||
2253 | - | |||||||||||||||||||||||||||||||
2254 | putModRmSib(ModRmMemoryNoDisp, reg, base, index, scale); executed 4875 times by 8 tests: putModRmSib(ModRmMemoryNoDisp, reg, base, index, scale); Executed by:
| 4875 | ||||||||||||||||||||||||||||||
2255 | else if (CAN_SIGN_EXTEND_8_32(offset)
| 0-1582752 | ||||||||||||||||||||||||||||||
2256 | putModRmSib(ModRmMemoryDisp8, reg, base, index, scale); | - | ||||||||||||||||||||||||||||||
2257 | m_buffer.putByteUnchecked(offset); | - | ||||||||||||||||||||||||||||||
2258 | } executed 1583984 times by 9 tests: else {end of block Executed by:
| 1583984 | ||||||||||||||||||||||||||||||
2259 | putModRmSib(ModRmMemoryDisp32, reg, base, index, scale); | - | ||||||||||||||||||||||||||||||
2260 | m_buffer.putIntUnchecked(offset); | - | ||||||||||||||||||||||||||||||
2261 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||
2262 | } | - | ||||||||||||||||||||||||||||||
2263 | AssemblerBuffer m_buffer; | - | ||||||||||||||||||||||||||||||
2264 | } m_formatter; | - | ||||||||||||||||||||||||||||||
2265 | int m_indexOfLastWatchpoint; | - | ||||||||||||||||||||||||||||||
2266 | int m_indexOfTailOfLastWatchpoint; | - | ||||||||||||||||||||||||||||||
2267 | }; | - | ||||||||||||||||||||||||||||||
2268 | - | |||||||||||||||||||||||||||||||
2269 | } | - | ||||||||||||||||||||||||||||||
Switch to Source code | Preprocessed file |