../3rdparty/pcre/sljit/sljitNativeX86_64.c

Switch to Source codePreprocessed file
LineSource CodeCoverage
1static int emit_load_imm64(struct sljit_compiler *compiler, int reg, sljit_w imm) -
2{ -
3 sljit_ub *buf; -
4 -
5 buf = (sljit_ub*)ensure_buf(compiler, 1 + 2 + sizeof(sljit_w)); -
6 do { if (__builtin_expect((!buf), 0)) return compiler->error; } while (0);
never executed: return compiler->error;
executed: }
Execution Count:2
partially evaluated: __builtin_expect((!buf), 0)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:2
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:2
0-2
7 (*buf++ = (2 + sizeof(sljit_w)), compiler->size += (2 + sizeof(sljit_w))); -
8 *buf++ = 0x48 | ((reg_map[reg] <= 7) ? 0 : 0x41); -
9 *buf++ = 0xb8 + (reg_map[reg] & 0x7); -
10 *(sljit_w*)buf = imm; -
11 return 0;
executed: return 0;
Execution Count:2
2
12} -
13 -
14static sljit_ub* generate_far_jump_code(struct sljit_jump *jump, sljit_ub *code_ptr, int type) -
15{ -
16 if (type < 22) {
never evaluated: type < 22
0
17 *code_ptr++ = get_jump_code(type ^ 0x1) - 0x10; -
18 *code_ptr++ = 10 + 3; -
19 }
never executed: }
0
20 -
21 do { } while (0);
never evaluated: 0
never executed: }
0
22 *code_ptr++ = 0x48 | 0x41; -
23 *code_ptr++ = 0xb8 + 1; -
24 jump->addr = (sljit_uw)code_ptr; -
25 -
26 if (jump->flags & 0x1)
never evaluated: jump->flags & 0x1
0
27 jump->flags |= 0x10;
never executed: jump->flags |= 0x10;
0
28 else -
29 *(sljit_w*)code_ptr = jump->u.target;
never executed: *(sljit_w*)code_ptr = jump->u.target;
0
30 -
31 code_ptr += sizeof(sljit_w); -
32 *code_ptr++ = 0x41; -
33 *code_ptr++ = 0xff; -
34 *code_ptr++ = (type >= 23) ? 0xd1 : 0xe1 ;
never evaluated: (type >= 23)
0
35 -
36 return code_ptr;
never executed: return code_ptr;
0
37} -
38 -
39static sljit_ub* generate_fixed_jump(sljit_ub *code_ptr, sljit_w addr, int type) -
40{ -
41 sljit_w delta = addr - ((sljit_w)code_ptr + 1 + sizeof(sljit_hw)); -
42 -
43 if (delta <= (0x7fffffffll) && delta >= (-0x80000000ll)) {
never evaluated: delta <= (0x7fffffffll)
never evaluated: delta >= (-0x80000000ll)
0
44 *code_ptr++ = (type == 2) ? 0xe8 : 0xe9 ;
never evaluated: (type == 2)
0
45 *(sljit_w*)code_ptr = delta; -
46 }
never executed: }
0
47 else { -
48 do { } while (0);
never evaluated: 0
never executed: }
0
49 *code_ptr++ = 0x48 | 0x41; -
50 *code_ptr++ = 0xb8 + 1; -
51 *(sljit_w*)code_ptr = addr; -
52 code_ptr += sizeof(sljit_w); -
53 *code_ptr++ = 0x41; -
54 *code_ptr++ = 0xff; -
55 *code_ptr++ = (type == 2) ? 0xd1 : 0xe1 ;
never evaluated: (type == 2)
0
56 }
never executed: }
0
57 -
58 return code_ptr;
never executed: return code_ptr;
0
59} -
60 -
61static __attribute__((unused)) int sljit_emit_enter(struct sljit_compiler *compiler, int args, int temporaries, int saveds, int local_size) -
62{ -
63 int size, pushed_size; -
64 sljit_ub *buf; -
65 -
66 do { if (__builtin_expect((compiler->error), 0)) return compiler->error; } while (0);
never executed: return compiler->error;
executed: }
Execution Count:15
partially evaluated: __builtin_expect((compiler->error), 0)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:15
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:15
0-15
67 check_sljit_emit_enter(compiler, args, temporaries, saveds, local_size); -
68 -
69 compiler->temporaries = temporaries; -
70 compiler->saveds = saveds; -
71 compiler->flags_saved = 0; -
72 -
73 size = saveds; -
74 -
75 pushed_size = (saveds + 1) * sizeof(sljit_w); -
76 -
77 if (saveds >= 2)
partially evaluated: saveds >= 2
TRUEFALSE
yes
Evaluation Count:15
no
Evaluation Count:0
0-15
78 size += saveds - 1;
executed: size += saveds - 1;
Execution Count:15
15
79 size += args * 3; -
80 if (size > 0) {
partially evaluated: size > 0
TRUEFALSE
yes
Evaluation Count:15
no
Evaluation Count:0
0-15
81 buf = (sljit_ub*)ensure_buf(compiler, 1 + size); -
82 do { if (__builtin_expect((!buf), 0)) return compiler->error; } while (0);
never executed: return compiler->error;
executed: }
Execution Count:15
partially evaluated: __builtin_expect((!buf), 0)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:15
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:15
0-15
83 -
84 (*buf++ = (size), compiler->size += (size)); -
85 if (saveds >= 5) {
partially evaluated: saveds >= 5
TRUEFALSE
yes
Evaluation Count:15
no
Evaluation Count:0
0-15
86 do { } while (0);
executed: }
Execution Count:15
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:15
0-15
87 *buf++ = 0x41; -
88 (*buf++ = (0x50 + (reg_lmap[10]))); -
89 }
executed: }
Execution Count:15
15
90 if (saveds >= 4) {
partially evaluated: saveds >= 4
TRUEFALSE
yes
Evaluation Count:15
no
Evaluation Count:0
0-15
91 do { } while (0);
executed: }
Execution Count:15
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:15
0-15
92 *buf++ = 0x41; -
93 (*buf++ = (0x50 + (reg_lmap[9]))); -
94 }
executed: }
Execution Count:15
15
95 if (saveds >= 3) {
partially evaluated: saveds >= 3
TRUEFALSE
yes
Evaluation Count:15
no
Evaluation Count:0
0-15
96 -
97 do { } while (0);
executed: }
Execution Count:15
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:15
0-15
98 *buf++ = 0x41; -
99 -
100 -
101 -
102 (*buf++ = (0x50 + (reg_lmap[8]))); -
103 }
executed: }
Execution Count:15
15
104 if (saveds >= 2) {
partially evaluated: saveds >= 2
TRUEFALSE
yes
Evaluation Count:15
no
Evaluation Count:0
0-15
105 -
106 do { } while (0);
executed: }
Execution Count:15
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:15
0-15
107 *buf++ = 0x41; -
108 -
109 -
110 -
111 (*buf++ = (0x50 + (reg_lmap[7]))); -
112 }
executed: }
Execution Count:15
15
113 if (saveds >= 1) {
partially evaluated: saveds >= 1
TRUEFALSE
yes
Evaluation Count:15
no
Evaluation Count:0
0-15
114 do { } while (0);
executed: }
Execution Count:15
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:15
0-15
115 (*buf++ = (0x50 + (reg_lmap[6]))); -
116 }
executed: }
Execution Count:15
15
117 if (args > 0) {
partially evaluated: args > 0
TRUEFALSE
yes
Evaluation Count:15
no
Evaluation Count:0
0-15
118 *buf++ = 0x48; -
119 *buf++ = 0x8b; -
120 *buf++ = 0xc0 | (reg_map[6] << 3) | 0x7; -
121 }
executed: }
Execution Count:15
15
122 if (args > 1) {
partially evaluated: args > 1
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:15
0-15
123 *buf++ = 0x48 | 0x44; -
124 *buf++ = 0x8b; -
125 *buf++ = 0xc0 | (reg_lmap[7] << 3) | 0x6; -
126 }
never executed: }
0
127 if (args > 2) {
partially evaluated: args > 2
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:15
0-15
128 *buf++ = 0x48 | 0x44; -
129 *buf++ = 0x8b; -
130 *buf++ = 0xc0 | (reg_lmap[8] << 3) | 0x2; -
131 }
never executed: }
0
132 }
executed: }
Execution Count:15
15
133 -
134 local_size = ((local_size + pushed_size + 16 - 1) & ~(16 - 1)) - pushed_size; -
135 compiler->local_size = local_size; -
136 if (local_size > 0) {
partially evaluated: local_size > 0
TRUEFALSE
yes
Evaluation Count:15
no
Evaluation Count:0
0-15
137 -
138 -
139 if (local_size <= 127) {
partially evaluated: local_size <= 127
TRUEFALSE
yes
Evaluation Count:15
no
Evaluation Count:0
0-15
140 buf = (sljit_ub*)ensure_buf(compiler, 1 + 4); -
141 do { if (__builtin_expect((!buf), 0)) return compiler->error; } while (0);
partially evaluated: __builtin_expect((!buf), 0)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:15
never executed: return compiler->error;
executed: }
Execution Count:15
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:15
0-15
142 (*buf++ = (4), compiler->size += (4)); -
143 *buf++ = 0x48; -
144 *buf++ = 0x83; -
145 *buf++ = 0xc0 | (5 << 3) | 4; -
146 *buf++ = local_size; -
147 }
executed: }
Execution Count:15
15
148 else { -
149 buf = (sljit_ub*)ensure_buf(compiler, 1 + 7); -
150 do { if (__builtin_expect((!buf), 0)) return compiler->error; } while (0);
never evaluated: __builtin_expect((!buf), 0)
never evaluated: 0
never executed: return compiler->error;
never executed: }
0
151 (*buf++ = (7), compiler->size += (7)); -
152 *buf++ = 0x48; -
153 *buf++ = 0x81; -
154 *buf++ = 0xc0 | (5 << 3) | 4; -
155 *(sljit_hw*)buf = local_size; -
156 buf += sizeof(sljit_hw); -
157 }
never executed: }
0
158 -
159 } -
160 return 0;
executed: return 0;
Execution Count:15
15
161} -
162 -
163static __attribute__((unused)) void sljit_set_context(struct sljit_compiler *compiler, int args, int temporaries, int saveds, int local_size) -
164{ -
165 int pushed_size; -
166 -
167 do { if (__builtin_expect((compiler->error), 0)) return; } while (0);
never evaluated: __builtin_expect((compiler->error), 0)
never evaluated: 0
never executed: return;
never executed: }
0
168 check_sljit_set_context(compiler, args, temporaries, saveds, local_size); -
169 -
170 compiler->temporaries = temporaries; -
171 compiler->saveds = saveds; -
172 -
173 pushed_size = (saveds + 1) * sizeof(sljit_w); -
174 -
175 -
176 -
177 -
178 -
179 -
180 -
181 compiler->local_size = ((local_size + pushed_size + 16 - 1) & ~(16 - 1)) - pushed_size; -
182 -
183 -
184 -
185}
never executed: }
0
186 -
187static __attribute__((unused)) int sljit_emit_return(struct sljit_compiler *compiler, int op, int src, sljit_w srcw) -
188{ -
189 int size; -
190 sljit_ub *buf; -
191 -
192 do { if (__builtin_expect((compiler->error), 0)) return compiler->error; } while (0);
partially evaluated: __builtin_expect((compiler->error), 0)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:15
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:15
never executed: return compiler->error;
executed: }
Execution Count:15
0-15
193 check_sljit_emit_return(compiler, op, src, srcw); -
194 -
195 compiler->flags_saved = 0; -
196 do { if (__builtin_expect((emit_mov_before_return(compiler, op, src, srcw)), 0)) return compiler->error; } while (0);
partially evaluated: __builtin_expect((emit_mov_before_return(compiler, op, src, srcw)), 0)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:15
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:15
never executed: return compiler->error;
executed: }
Execution Count:15
0-15
197 -
198 if (compiler->local_size > 0) {
partially evaluated: compiler->local_size > 0
TRUEFALSE
yes
Evaluation Count:15
no
Evaluation Count:0
0-15
199 if (compiler->local_size <= 127) {
partially evaluated: compiler->local_size <= 127
TRUEFALSE
yes
Evaluation Count:15
no
Evaluation Count:0
0-15
200 buf = (sljit_ub*)ensure_buf(compiler, 1 + 4); -
201 do { if (__builtin_expect((!buf), 0)) return compiler->error; } while (0);
partially evaluated: __builtin_expect((!buf), 0)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:15
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:15
never executed: return compiler->error;
executed: }
Execution Count:15
0-15
202 (*buf++ = (4), compiler->size += (4)); -
203 *buf++ = 0x48; -
204 *buf++ = 0x83; -
205 *buf++ = 0xc0 | (0 << 3) | 4; -
206 *buf = compiler->local_size; -
207 }
executed: }
Execution Count:15
15
208 else { -
209 buf = (sljit_ub*)ensure_buf(compiler, 1 + 7); -
210 do { if (__builtin_expect((!buf), 0)) return compiler->error; } while (0);
never evaluated: __builtin_expect((!buf), 0)
never evaluated: 0
never executed: return compiler->error;
never executed: }
0
211 (*buf++ = (7), compiler->size += (7)); -
212 *buf++ = 0x48; -
213 *buf++ = 0x81; -
214 *buf++ = 0xc0 | (0 << 3) | 4; -
215 *(sljit_hw*)buf = compiler->local_size; -
216 }
never executed: }
0
217 } -
218 -
219 size = 1 + compiler->saveds; -
220 -
221 if (compiler->saveds >= 2)
partially evaluated: compiler->saveds >= 2
TRUEFALSE
yes
Evaluation Count:15
no
Evaluation Count:0
0-15
222 size += compiler->saveds - 1;
executed: size += compiler->saveds - 1;
Execution Count:15
15
223 buf = (sljit_ub*)ensure_buf(compiler, 1 + size); -
224 do { if (__builtin_expect((!buf), 0)) return compiler->error; } while (0);
partially evaluated: __builtin_expect((!buf), 0)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:15
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:15
never executed: return compiler->error;
executed: }
Execution Count:15
0-15
225 -
226 (*buf++ = (size), compiler->size += (size)); -
227 if (compiler->saveds >= 1)
partially evaluated: compiler->saveds >= 1
TRUEFALSE
yes
Evaluation Count:15
no
Evaluation Count:0
0-15
228 (*buf++ = (0x58 + (reg_map[6])));
executed: (*buf++ = (0x58 + (reg_map[6])));
Execution Count:15
15
229 if (compiler->saveds >= 2) {
partially evaluated: compiler->saveds >= 2
TRUEFALSE
yes
Evaluation Count:15
no
Evaluation Count:0
0-15
230 -
231 *buf++ = 0x41; -
232 -
233 (*buf++ = (0x58 + (reg_lmap[7]))); -
234 }
executed: }
Execution Count:15
15
235 if (compiler->saveds >= 3) {
partially evaluated: compiler->saveds >= 3
TRUEFALSE
yes
Evaluation Count:15
no
Evaluation Count:0
0-15
236 -
237 *buf++ = 0x41; -
238 -
239 (*buf++ = (0x58 + (reg_lmap[8]))); -
240 }
executed: }
Execution Count:15
15
241 if (compiler->saveds >= 4) {
partially evaluated: compiler->saveds >= 4
TRUEFALSE
yes
Evaluation Count:15
no
Evaluation Count:0
0-15
242 *buf++ = 0x41; -
243 (*buf++ = (0x58 + (reg_lmap[9]))); -
244 }
executed: }
Execution Count:15
15
245 if (compiler->saveds >= 5) {
partially evaluated: compiler->saveds >= 5
TRUEFALSE
yes
Evaluation Count:15
no
Evaluation Count:0
0-15
246 *buf++ = 0x41; -
247 (*buf++ = (0x58 + (reg_lmap[10]))); -
248 }
executed: }
Execution Count:15
15
249 -
250 (*buf++ = (0xc3)); -
251 return 0;
executed: return 0;
Execution Count:15
15
252} -
253 -
254 -
255 -
256 -
257 -
258static int emit_do_imm32(struct sljit_compiler *compiler, sljit_ub rex, sljit_ub opcode, sljit_w imm) -
259{ -
260 sljit_ub *buf; -
261 -
262 if (rex != 0) {
partially evaluated: rex != 0
TRUEFALSE
yes
Evaluation Count:122
no
Evaluation Count:0
0-122
263 buf = (sljit_ub*)ensure_buf(compiler, 1 + 2 + sizeof(sljit_hw)); -
264 do { if (__builtin_expect((!buf), 0)) return compiler->error; } while (0);
partially evaluated: __builtin_expect((!buf), 0)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:122
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:122
never executed: return compiler->error;
executed: }
Execution Count:122
0-122
265 (*buf++ = (2 + sizeof(sljit_hw)), compiler->size += (2 + sizeof(sljit_hw))); -
266 *buf++ = rex; -
267 *buf++ = opcode; -
268 *(sljit_hw*)buf = imm; -
269 }
executed: }
Execution Count:122
122
270 else { -
271 buf = (sljit_ub*)ensure_buf(compiler, 1 + 1 + sizeof(sljit_hw)); -
272 do { if (__builtin_expect((!buf), 0)) return compiler->error; } while (0);
never evaluated: __builtin_expect((!buf), 0)
never evaluated: 0
never executed: return compiler->error;
never executed: }
0
273 (*buf++ = (1 + sizeof(sljit_hw)), compiler->size += (1 + sizeof(sljit_hw))); -
274 *buf++ = opcode; -
275 *(sljit_hw*)buf = imm; -
276 }
never executed: }
0
277 return 0;
executed: return 0;
Execution Count:122
122
278} -
279 -
280static sljit_ub* emit_x86_instruction(struct sljit_compiler *compiler, int size, -
281 -
282 int a, sljit_w imma, -
283 -
284 int b, sljit_w immb) -
285{ -
286 sljit_ub *buf; -
287 sljit_ub *buf_ptr; -
288 sljit_ub rex = 0; -
289 int flags = size & ~0xf; -
290 int inst_size; -
291 -
292 -
293 do { } while (0);
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:1388
executed: }
Execution Count:1388
0-1388
294 -
295 do { } while (0);
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:1388
executed: }
Execution Count:1388
0-1388
296 -
297 do { } while (0);
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:1388
executed: }
Execution Count:1388
0-1388
298 -
299 do { } while (0);
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:1388
executed: }
Execution Count:1388
0-1388
300 -
301 -
302 do { } while (0);
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:1388
executed: }
Execution Count:1388
0-1388
303 -
304 -
305 size &= 0xf; -
306 inst_size = size; -
307 -
308 if ((b & 0x100) && !(b & 0xf0) && ((immb) > 0x7fffffffll || (immb) < -0x80000000ll)) {
evaluated: (b & 0x100)
TRUEFALSE
yes
Evaluation Count:732
yes
Evaluation Count:656
partially evaluated: !(b & 0xf0)
TRUEFALSE
yes
Evaluation Count:732
no
Evaluation Count:0
evaluated: (immb) > 0x7fffffffll
TRUEFALSE
yes
Evaluation Count:2
yes
Evaluation Count:730
partially evaluated: (immb) < -0x80000000ll
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:730
0-732
309 if (emit_load_imm64(compiler, (11 + 3), immb))
partially evaluated: emit_load_imm64(compiler, (11 + 3), immb)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:2
0-2
310 return ((void *)0);
never executed: return ((void *)0);
0
311 immb = 0; -
312 if (b & 0xf)
partially evaluated: b & 0xf
TRUEFALSE
yes
Evaluation Count:2
no
Evaluation Count:0
0-2
313 b |= (11 + 3) << 4;
executed: b |= (11 + 3) << 4;
Execution Count:2
2
314 else -
315 b |= (11 + 3);
never executed: b |= (11 + 3);
0
316 } -
317 -
318 if (!compiler->mode32 && !(flags & 0x0080))
evaluated: !compiler->mode32
TRUEFALSE
yes
Evaluation Count:1341
yes
Evaluation Count:47
partially evaluated: !(flags & 0x0080)
TRUEFALSE
yes
Evaluation Count:1341
no
Evaluation Count:0
0-1341
319 rex |= 0x48;
executed: rex |= 0x48;
Execution Count:1341
1341
320 else if (flags & 0x0040)
partially evaluated: flags & 0x0040
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:47
0-47
321 rex |= 0x40;
never executed: rex |= 0x40;
0
322 -
323 -
324 if (flags & 0x0800)
partially evaluated: flags & 0x0800
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:1388
0-1388
325 inst_size++;
never executed: inst_size++;
0
326 -
327 if (flags & 0x0400)
partially evaluated: flags & 0x0400
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:1388
0-1388
328 inst_size++;
never executed: inst_size++;
0
329 -
330 -
331 inst_size += 1; -
332 if (b & 0x100) {
evaluated: b & 0x100
TRUEFALSE
yes
Evaluation Count:732
yes
Evaluation Count:656
656-732
333 if ((b & 0x0f) == 0)
partially evaluated: (b & 0x0f) == 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:732
0-732
334 inst_size += 1 + sizeof(sljit_hw);
never executed: inst_size += 1 + sizeof(sljit_hw);
0
335 else { -
336 if (reg_map[b & 0x0f] >= 8)
partially evaluated: reg_map[b & 0x0f] >= 8
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:732
0-732
337 rex |= 0x41;
never executed: rex |= 0x41;
0
338 if (immb != 0 && !(b & 0xf0)) {
evaluated: immb != 0
TRUEFALSE
yes
Evaluation Count:570
yes
Evaluation Count:162
partially evaluated: !(b & 0xf0)
TRUEFALSE
yes
Evaluation Count:570
no
Evaluation Count:0
0-570
339 -
340 if (immb <= 127 && immb >= -128)
partially evaluated: immb <= 127
TRUEFALSE
yes
Evaluation Count:570
no
Evaluation Count:0
partially evaluated: immb >= -128
TRUEFALSE
yes
Evaluation Count:570
no
Evaluation Count:0
0-570
341 inst_size += sizeof(sljit_b);
executed: inst_size += sizeof(sljit_b);
Execution Count:570
570
342 else -
343 inst_size += sizeof(sljit_hw);
never executed: inst_size += sizeof(sljit_hw);
0
344 } -
345 }
executed: }
Execution Count:732
732
346 -
347 -
348 if ((b & 0xf) == 11 && (b & 0xf0) == 0)
evaluated: (b & 0xf) == 11
TRUEFALSE
yes
Evaluation Count:245
yes
Evaluation Count:487
partially evaluated: (b & 0xf0) == 0
TRUEFALSE
yes
Evaluation Count:245
no
Evaluation Count:0
0-487
349 b |= 11 << 4;
executed: b |= 11 << 4;
Execution Count:245
245
350 -
351 -
352 if ((b & 0xf0) != 0) {
evaluated: (b & 0xf0) != 0
TRUEFALSE
yes
Evaluation Count:247
yes
Evaluation Count:485
247-485
353 inst_size += 1; -
354 if (reg_map[(b >> 4) & 0x0f] >= 8)
evaluated: reg_map[(b >> 4) & 0x0f] >= 8
TRUEFALSE
yes
Evaluation Count:2
yes
Evaluation Count:245
2-245
355 rex |= 0x42;
executed: rex |= 0x42;
Execution Count:2
2
356 }
executed: }
Execution Count:247
247
357 }
executed: }
Execution Count:732
732
358 -
359 else if (!(flags & 0x1000) && reg_map[b] >= 8)
partially evaluated: !(flags & 0x1000)
TRUEFALSE
yes
Evaluation Count:656
no
Evaluation Count:0
evaluated: reg_map[b] >= 8
TRUEFALSE
yes
Evaluation Count:99
yes
Evaluation Count:557
0-656
360 rex |= 0x41;
executed: rex |= 0x41;
Execution Count:99
99
361 -
362 -
363 -
364 -
365 -
366 if (a & 0x200) {
evaluated: a & 0x200
TRUEFALSE
yes
Evaluation Count:446
yes
Evaluation Count:942
446-942
367 if (flags & 0x0010) {
evaluated: flags & 0x0010
TRUEFALSE
yes
Evaluation Count:303
yes
Evaluation Count:143
143-303
368 if (imma <= 127 && imma >= -128) {
evaluated: imma <= 127
TRUEFALSE
yes
Evaluation Count:281
yes
Evaluation Count:22
partially evaluated: imma >= -128
TRUEFALSE
yes
Evaluation Count:281
no
Evaluation Count:0
0-281
369 inst_size += 1; -
370 flags |= 0x0100; -
371 } else
executed: }
Execution Count:281
281
372 inst_size += 4;
executed: inst_size += 4;
Execution Count:22
22
373 } -
374 else if (flags & 0x0020) {
evaluated: flags & 0x0020
TRUEFALSE
yes
Evaluation Count:63
yes
Evaluation Count:80
63-80
375 imma &= compiler->mode32 ? 0x1f : 0x3f;
partially evaluated: compiler->mode32
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:63
0-63
376 if (imma != 1) {
evaluated: imma != 1
TRUEFALSE
yes
Evaluation Count:9
yes
Evaluation Count:54
9-54
377 inst_size ++; -
378 flags |= 0x0100; -
379 }
executed: }
Execution Count:9
9
380 } else if (flags & 0x0100)
partially evaluated: flags & 0x0100
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:80
executed: }
Execution Count:63
0-80
381 inst_size++;
never executed: inst_size++;
0
382 else if (flags & 0x0200)
partially evaluated: flags & 0x0200
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:80
0-80
383 inst_size += sizeof(short);
never executed: inst_size += sizeof(short);
0
384 else -
385 inst_size += sizeof(sljit_hw);
executed: inst_size += sizeof(sljit_hw);
Execution Count:80
80
386 } -
387 else { -
388 do { } while (0);
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:942
executed: }
Execution Count:942
0-942
389 -
390 -
391 if (!(flags & 0x1000) && reg_map[a] >= 8)
partially evaluated: !(flags & 0x1000)
TRUEFALSE
yes
Evaluation Count:942
no
Evaluation Count:0
evaluated: reg_map[a] >= 8
TRUEFALSE
yes
Evaluation Count:186
yes
Evaluation Count:756
0-942
392 rex |= 0x44;
executed: rex |= 0x44;
Execution Count:186
186
393 -
394 -
395 -
396 -
397 }
executed: }
Execution Count:942
942
398 -
399 if (rex)
evaluated: rex
TRUEFALSE
yes
Evaluation Count:1356
yes
Evaluation Count:32
32-1356
400 inst_size++;
executed: inst_size++;
Execution Count:1356
1356
401 -
402 buf = (sljit_ub*)ensure_buf(compiler, 1 + inst_size); -
403 do { if (__builtin_expect((!buf), 0)) return ((void *)0); } while (0);
never executed: return ((void *)0);
executed: }
Execution Count:1388
partially evaluated: __builtin_expect((!buf), 0)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:1388
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:1388
0-1388
404 -
405 -
406 (*buf++ = (inst_size), compiler->size += (inst_size)); -
407 -
408 if (flags & 0x0800)
partially evaluated: flags & 0x0800
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:1388
0-1388
409 *buf++ = 0xf2;
never executed: *buf++ = 0xf2;
0
410 -
411 if (flags & 0x0400)
partially evaluated: flags & 0x0400
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:1388
0-1388
412 *buf++ = 0x66;
never executed: *buf++ = 0x66;
0
413 if (rex)
evaluated: rex
TRUEFALSE
yes
Evaluation Count:1356
yes
Evaluation Count:32
32-1356
414 *buf++ = rex;
executed: *buf++ = rex;
Execution Count:1356
1356
415 buf_ptr = buf + size; -
416 -
417 -
418 if (!(flags & 0x0020)) {
evaluated: !(flags & 0x0020)
TRUEFALSE
yes
Evaluation Count:1325
yes
Evaluation Count:63
63-1325
419 if ((flags & 0x0010) && (a & 0x200))
evaluated: (flags & 0x0010)
TRUEFALSE
yes
Evaluation Count:303
yes
Evaluation Count:1022
partially evaluated: (a & 0x200)
TRUEFALSE
yes
Evaluation Count:303
no
Evaluation Count:0
0-1022
420 *buf = (flags & 0x0100) ? 0x83 : 0x81;
executed: *buf = (flags & 0x0100) ? 0x83 : 0x81;
Execution Count:303
evaluated: (flags & 0x0100)
TRUEFALSE
yes
Evaluation Count:281
yes
Evaluation Count:22
22-303
421 -
422 if ((a & 0x200) || (a == 0))
evaluated: (a & 0x200)
TRUEFALSE
yes
Evaluation Count:383
yes
Evaluation Count:942
evaluated: (a == 0)
TRUEFALSE
yes
Evaluation Count:32
yes
Evaluation Count:910
32-942
423 *buf_ptr = 0;
executed: *buf_ptr = 0;
Execution Count:415
415
424 -
425 else if (!(flags & 0x1000))
partially evaluated: !(flags & 0x1000)
TRUEFALSE
yes
Evaluation Count:910
no
Evaluation Count:0
0-910
426 *buf_ptr = reg_lmap[a] << 3;
executed: *buf_ptr = reg_lmap[a] << 3;
Execution Count:910
910
427 else -
428 *buf_ptr = a << 3;
never executed: *buf_ptr = a << 3;
0
429 -
430 -
431 -
432 -
433 } -
434 else { -
435 if (a & 0x200) {
partially evaluated: a & 0x200
TRUEFALSE
yes
Evaluation Count:63
no
Evaluation Count:0
0-63
436 if (imma == 1)
evaluated: imma == 1
TRUEFALSE
yes
Evaluation Count:54
yes
Evaluation Count:9
9-54
437 *buf = 0xd1;
executed: *buf = 0xd1;
Execution Count:54
54
438 else -
439 *buf = 0xc1;
executed: *buf = 0xc1;
Execution Count:9
9
440 } else -
441 *buf = 0xd3;
never executed: *buf = 0xd3;
0
442 *buf_ptr = 0; -
443 }
executed: }
Execution Count:63
63
444 -
445 if (!(b & 0x100))
evaluated: !(b & 0x100)
TRUEFALSE
yes
Evaluation Count:656
yes
Evaluation Count:732
656-732
446 -
447 *buf_ptr++ |= 0xc0 + ((!(flags & 0x1000)) ? reg_lmap[b] : b);
executed: *buf_ptr++ |= 0xc0 + ((!(flags & 0x1000)) ? reg_lmap[b] : b);
Execution Count:656
partially evaluated: (!(flags & 0x1000))
TRUEFALSE
yes
Evaluation Count:656
no
Evaluation Count:0
0-656
448 -
449 -
450 -
451 else if ((b & 0x0f) != 0) {
partially evaluated: (b & 0x0f) != 0
TRUEFALSE
yes
Evaluation Count:732
no
Evaluation Count:0
0-732
452 -
453 -
454 -
455 if ((b & 0xf0) == 0 || (b & 0xf0) == (11 << 4)) {
evaluated: (b & 0xf0) == 0
TRUEFALSE
yes
Evaluation Count:485
yes
Evaluation Count:247
evaluated: (b & 0xf0) == (11 << 4)
TRUEFALSE
yes
Evaluation Count:245
yes
Evaluation Count:2
2-485
456 if (immb != 0) {
evaluated: immb != 0
TRUEFALSE
yes
Evaluation Count:570
yes
Evaluation Count:160
160-570
457 if (immb <= 127 && immb >= -128)
partially evaluated: immb <= 127
TRUEFALSE
yes
Evaluation Count:570
no
Evaluation Count:0
partially evaluated: immb >= -128
TRUEFALSE
yes
Evaluation Count:570
no
Evaluation Count:0
0-570
458 *buf_ptr |= 0x40;
executed: *buf_ptr |= 0x40;
Execution Count:570
570
459 else -
460 *buf_ptr |= 0x80;
never executed: *buf_ptr |= 0x80;
0
461 } -
462 -
463 if ((b & 0xf0) == 0)
evaluated: (b & 0xf0) == 0
TRUEFALSE
yes
Evaluation Count:485
yes
Evaluation Count:245
245-485
464 *buf_ptr++ |= reg_lmap[b & 0x0f];
executed: *buf_ptr++ |= reg_lmap[b & 0x0f];
Execution Count:485
485
465 else { -
466 *buf_ptr++ |= 0x04; -
467 *buf_ptr++ = reg_lmap[b & 0x0f] | (reg_lmap[(b >> 4) & 0x0f] << 3); -
468 }
executed: }
Execution Count:245
245
469 -
470 if (immb != 0) {
evaluated: immb != 0
TRUEFALSE
yes
Evaluation Count:570
yes
Evaluation Count:160
160-570
471 if (immb <= 127 && immb >= -128)
partially evaluated: immb <= 127
TRUEFALSE
yes
Evaluation Count:570
no
Evaluation Count:0
partially evaluated: immb >= -128
TRUEFALSE
yes
Evaluation Count:570
no
Evaluation Count:0
0-570
472 *buf_ptr++ = immb;
executed: *buf_ptr++ = immb;
Execution Count:570
570
473 else { -
474 *(sljit_hw*)buf_ptr = immb; -
475 buf_ptr += sizeof(sljit_hw); -
476 }
never executed: }
0
477 } -
478 }
executed: }
Execution Count:730
730
479 else { -
480 *buf_ptr++ |= 0x04; -
481 *buf_ptr++ = reg_lmap[b & 0x0f] | (reg_lmap[(b >> 4) & 0x0f] << 3) | (immb << 6); -
482 }
executed: }
Execution Count:2
2
483 } -
484 else { -
485 *buf_ptr++ |= 0x04; -
486 *buf_ptr++ = 0x25; -
487 *(sljit_hw*)buf_ptr = immb; -
488 buf_ptr += sizeof(sljit_hw); -
489 }
never executed: }
0
490 -
491 if (a & 0x200) {
evaluated: a & 0x200
TRUEFALSE
yes
Evaluation Count:446
yes
Evaluation Count:942
446-942
492 if (flags & 0x0100)
evaluated: flags & 0x0100
TRUEFALSE
yes
Evaluation Count:290
yes
Evaluation Count:156
156-290
493 *buf_ptr = imma;
executed: *buf_ptr = imma;
Execution Count:290
290
494 else if (flags & 0x0200)
partially evaluated: flags & 0x0200
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:156
0-156
495 *(short*)buf_ptr = imma;
never executed: *(short*)buf_ptr = imma;
0
496 else if (!(flags & 0x0020))
evaluated: !(flags & 0x0020)
TRUEFALSE
yes
Evaluation Count:102
yes
Evaluation Count:54
54-102
497 *(sljit_hw*)buf_ptr = imma;
executed: *(sljit_hw*)buf_ptr = imma;
Execution Count:102
102
498 } -
499 -
500 return !(flags & 0x0020) ? buf : (buf + 1);
executed: return !(flags & 0x0020) ? buf : (buf + 1);
Execution Count:1388
1388
501} -
502 -
503 -
504 -
505 -
506 -
507static __inline int call_with_args(struct sljit_compiler *compiler, int type) -
508{ -
509 sljit_ub *buf; -
510 -
511 -
512 do { } while (0);
executed: }
Execution Count:15
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:15
0-15
513 -
514 buf = (sljit_ub*)ensure_buf(compiler, 1 + ((type < 27) ? 3 : 6)); -
515 do { if (__builtin_expect((!buf), 0)) return compiler->error; } while (0);
never executed: return compiler->error;
executed: }
Execution Count:15
partially evaluated: __builtin_expect((!buf), 0)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:15
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:15
0-15
516 (*buf++ = ((type < 27) ? 3 : 6), compiler->size += ((type < 27) ? 3 : 6)); -
517 if (type >= 27) {
partially evaluated: type >= 27
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:15
0-15
518 *buf++ = 0x48; -
519 *buf++ = 0x8b; -
520 *buf++ = 0xc0 | (0x2 << 3) | reg_lmap[3]; -
521 }
never executed: }
0
522 *buf++ = 0x48; -
523 *buf++ = 0x8b; -
524 *buf++ = 0xc0 | (0x7 << 3) | reg_lmap[1]; -
525 return 0;
executed: return 0;
Execution Count:15
15
526} -
527 -
528static __attribute__((unused)) int sljit_emit_fast_enter(struct sljit_compiler *compiler, int dst, sljit_w dstw, int args, int temporaries, int saveds, int local_size) -
529{ -
530 sljit_ub *buf; -
531 -
532 do { if (__builtin_expect((compiler->error), 0)) return compiler->error; } while (0);
never executed: return compiler->error;
executed: }
Execution Count:23
partially evaluated: __builtin_expect((compiler->error), 0)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:23
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:23
0-23
533 check_sljit_emit_fast_enter(compiler, dst, dstw, args, temporaries, saveds, local_size); -
534 -
535 compiler->temporaries = temporaries; -
536 compiler->saveds = saveds; -
537 compiler->local_size = (local_size + sizeof(sljit_uw) - 1) & ~(sizeof(sljit_uw) - 1); -
538 -
539 -
540 -
541 -
542 -
543 if (dst == 0)
partially evaluated: dst == 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:23
0-23
544 dst = (11 + 1);
never executed: dst = (11 + 1);
0
545 -
546 if (dst >= 1 && dst <= (11 + 1)) {
partially evaluated: dst >= 1
TRUEFALSE
yes
Evaluation Count:23
no
Evaluation Count:0
evaluated: dst <= (11 + 1)
TRUEFALSE
yes
Evaluation Count:7
yes
Evaluation Count:16
0-23
547 if (reg_map[dst] < 8) {
partially evaluated: reg_map[dst] < 8
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:7
0-7
548 buf = (sljit_ub*)ensure_buf(compiler, 1 + 1); -
549 do { if (__builtin_expect((!buf), 0)) return compiler->error; } while (0);
never executed: return compiler->error;
never executed: }
never evaluated: __builtin_expect((!buf), 0)
never evaluated: 0
0
550 -
551 (*buf++ = (1), compiler->size += (1)); -
552 (*buf++ = (0x58 + (reg_lmap[dst]))); -
553 }
never executed: }
0
554 else { -
555 buf = (sljit_ub*)ensure_buf(compiler, 1 + 2); -
556 do { if (__builtin_expect((!buf), 0)) return compiler->error; } while (0);
never executed: return compiler->error;
executed: }
Execution Count:7
partially evaluated: __builtin_expect((!buf), 0)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:7
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:7
0-7
557 -
558 (*buf++ = (2), compiler->size += (2)); -
559 *buf++ = 0x41; -
560 (*buf++ = (0x58 + (reg_lmap[dst]))); -
561 }
executed: }
Execution Count:7
7
562 } -
563 else if (dst & 0x100) {
partially evaluated: dst & 0x100
TRUEFALSE
yes
Evaluation Count:16
no
Evaluation Count:0
0-16
564 -
565 -
566 compiler->mode32 = 1; -
567 -
568 buf = emit_x86_instruction(compiler, 1, 0, 0, dst, dstw); -
569 do { if (__builtin_expect((!buf), 0)) return compiler->error; } while (0);
never executed: return compiler->error;
executed: }
Execution Count:16
partially evaluated: __builtin_expect((!buf), 0)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:16
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:16
0-16
570 *buf++ = 0x8f; -
571 }
executed: }
Execution Count:16
16
572 return 0;
executed: return 0;
Execution Count:23
23
573} -
574 -
575static __attribute__((unused)) int sljit_emit_fast_return(struct sljit_compiler *compiler, int src, sljit_w srcw) -
576{ -
577 sljit_ub *buf; -
578 -
579 do { if (__builtin_expect((compiler->error), 0)) return compiler->error; } while (0);
never executed: return compiler->error;
executed: }
Execution Count:30
partially evaluated: __builtin_expect((compiler->error), 0)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:30
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:30
0-30
580 check_sljit_emit_fast_return(compiler, src, srcw); -
581 -
582 ; -
583 -
584 if ((src & 0x200) && ((srcw) > 0x7fffffffll || (srcw) < -0x80000000ll)) {
partially evaluated: (src & 0x200)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:30
never evaluated: (srcw) > 0x7fffffffll
never evaluated: (srcw) < -0x80000000ll
0-30
585 do { if (__builtin_expect((emit_load_imm64(compiler, (11 + 1), srcw)), 0)) return compiler->error; } while (0);
never executed: return compiler->error;
never executed: }
never evaluated: __builtin_expect((emit_load_imm64(compiler, (11 + 1), srcw)), 0)
never evaluated: 0
0
586 src = (11 + 1); -
587 }
never executed: }
0
588 -
589 if (src >= 1 && src <= (11 + 1)) {
partially evaluated: src >= 1
TRUEFALSE
yes
Evaluation Count:30
no
Evaluation Count:0
evaluated: src <= (11 + 1)
TRUEFALSE
yes
Evaluation Count:14
yes
Evaluation Count:16
0-30
590 if (reg_map[src] < 8) {
partially evaluated: reg_map[src] < 8
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:14
0-14
591 buf = (sljit_ub*)ensure_buf(compiler, 1 + 1 + 1); -
592 do { if (__builtin_expect((!buf), 0)) return compiler->error; } while (0);
never executed: return compiler->error;
never executed: }
never evaluated: __builtin_expect((!buf), 0)
never evaluated: 0
0
593 -
594 (*buf++ = (1 + 1), compiler->size += (1 + 1)); -
595 (*buf++ = (0x50 + (reg_lmap[src]))); -
596 }
never executed: }
0
597 else { -
598 buf = (sljit_ub*)ensure_buf(compiler, 1 + 2 + 1); -
599 do { if (__builtin_expect((!buf), 0)) return compiler->error; } while (0);
never executed: return compiler->error;
executed: }
Execution Count:14
partially evaluated: __builtin_expect((!buf), 0)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:14
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:14
0-14
600 -
601 (*buf++ = (2 + 1), compiler->size += (2 + 1)); -
602 *buf++ = 0x41; -
603 (*buf++ = (0x50 + (reg_lmap[src]))); -
604 }
executed: }
Execution Count:14
14
605 } -
606 else if (src & 0x100) {
partially evaluated: src & 0x100
TRUEFALSE
yes
Evaluation Count:16
no
Evaluation Count:0
0-16
607 -
608 -
609 compiler->mode32 = 1; -
610 -
611 buf = emit_x86_instruction(compiler, 1, 0, 0, src, srcw); -
612 do { if (__builtin_expect((!buf), 0)) return compiler->error; } while (0);
never executed: return compiler->error;
executed: }
Execution Count:16
partially evaluated: __builtin_expect((!buf), 0)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:16
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:16
0-16
613 *buf++ = 0xff; -
614 *buf |= 6 << 3; -
615 -
616 buf = (sljit_ub*)ensure_buf(compiler, 1 + 1); -
617 do { if (__builtin_expect((!buf), 0)) return compiler->error; } while (0);
never executed: return compiler->error;
executed: }
Execution Count:16
partially evaluated: __builtin_expect((!buf), 0)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:16
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:16
0-16
618 (*buf++ = (1), compiler->size += (1)); -
619 }
executed: }
Execution Count:16
16
620 else { -
621 do { } while (0);
never executed: }
never evaluated: 0
0
622 -
623 buf = (sljit_ub*)ensure_buf(compiler, 1 + 5 + 1); -
624 do { if (__builtin_expect((!buf), 0)) return compiler->error; } while (0);
never executed: return compiler->error;
never executed: }
never evaluated: __builtin_expect((!buf), 0)
never evaluated: 0
0
625 -
626 (*buf++ = (5 + 1), compiler->size += (5 + 1)); -
627 *buf++ = 0x68; -
628 *(sljit_hw*)buf = srcw; -
629 buf += sizeof(sljit_hw); -
630 }
never executed: }
0
631 -
632 (*buf++ = (0xc3)); -
633 return 0;
executed: return 0;
Execution Count:30
30
634} -
635 -
636 -
637 -
638 -
639 -
640 -
641static int emit_mov_int(struct sljit_compiler *compiler, int sign, -
642 int dst, sljit_w dstw, -
643 int src, sljit_w srcw) -
644{ -
645 sljit_ub* code; -
646 int dst_r; -
647 -
648 compiler->mode32 = 0; -
649 -
650 if (dst == 0 && !(src & 0x100))
partially evaluated: dst == 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:45
never evaluated: !(src & 0x100)
0-45
651 return 0;
never executed: return 0;
0
652 -
653 if (src & 0x200) {
partially evaluated: src & 0x200
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:45
0-45
654 if (dst >= 1 && dst <= 11) {
never evaluated: dst >= 1
never evaluated: dst <= 11
0
655 if (sign || ((sljit_uw)srcw <= 0x7fffffff)) {
never evaluated: sign
never evaluated: ((sljit_uw)srcw <= 0x7fffffff)
0
656 code = emit_x86_instruction(compiler, 1, 0x200, (sljit_w)(sljit_i)srcw, dst, dstw); -
657 do { if (__builtin_expect((!code), 0)) return compiler->error; } while (0);
never executed: return compiler->error;
never executed: }
never evaluated: __builtin_expect((!code), 0)
never evaluated: 0
0
658 *code = 0xc7; -
659 return 0;
never executed: return 0;
0
660 } -
661 return emit_load_imm64(compiler, dst, srcw);
never executed: return emit_load_imm64(compiler, dst, srcw);
0
662 } -
663 compiler->mode32 = 1; -
664 code = emit_x86_instruction(compiler, 1, 0x200, (sljit_w)(sljit_i)srcw, dst, dstw); -
665 do { if (__builtin_expect((!code), 0)) return compiler->error; } while (0);
never executed: return compiler->error;
never executed: }
never evaluated: __builtin_expect((!code), 0)
never evaluated: 0
0
666 *code = 0xc7; -
667 compiler->mode32 = 0; -
668 return 0;
never executed: return 0;
0
669 } -
670 -
671 dst_r = (dst >= 1 && dst <= 8) ? dst : (11 + 1);
partially evaluated: dst >= 1
TRUEFALSE
yes
Evaluation Count:45
no
Evaluation Count:0
evaluated: dst <= 8
TRUEFALSE
yes
Evaluation Count:30
yes
Evaluation Count:15
0-45
672 -
673 if ((dst & 0x100) && (src >= 1 && src <= 8))
evaluated: (dst & 0x100)
TRUEFALSE
yes
Evaluation Count:15
yes
Evaluation Count:30
partially evaluated: src >= 1
TRUEFALSE
yes
Evaluation Count:15
no
Evaluation Count:0
partially evaluated: src <= 8
TRUEFALSE
yes
Evaluation Count:15
no
Evaluation Count:0
0-30
674 dst_r = src;
executed: dst_r = src;
Execution Count:15
15
675 else { -
676 if (sign) {
partially evaluated: sign
TRUEFALSE
yes
Evaluation Count:30
no
Evaluation Count:0
0-30
677 code = emit_x86_instruction(compiler, 1, dst_r, 0, src, srcw); -
678 do { if (__builtin_expect((!code), 0)) return compiler->error; } while (0);
never executed: return compiler->error;
executed: }
Execution Count:30
partially evaluated: __builtin_expect((!code), 0)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:30
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:30
0-30
679 *code++ = 0x63; -
680 } else {
executed: }
Execution Count:30
30
681 compiler->mode32 = 1; -
682 do { if (__builtin_expect((emit_mov(compiler, dst_r, 0, src, srcw)), 0)) return compiler->error; } while (0);
never executed: return compiler->error;
never executed: }
never evaluated: __builtin_expect((emit_mov(compiler, dst_r, 0, src, srcw)), 0)
never evaluated: 0
0
683 compiler->mode32 = 0; -
684 }
never executed: }
0
685 } -
686 -
687 if (dst & 0x100) {
evaluated: dst & 0x100
TRUEFALSE
yes
Evaluation Count:15
yes
Evaluation Count:30
15-30
688 compiler->mode32 = 1; -
689 code = emit_x86_instruction(compiler, 1, dst_r, 0, dst, dstw); -
690 do { if (__builtin_expect((!code), 0)) return compiler->error; } while (0);
never executed: return compiler->error;
executed: }
Execution Count:15
partially evaluated: __builtin_expect((!code), 0)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:15
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:15
0-15
691 *code = 0x89; -
692 compiler->mode32 = 0; -
693 }
executed: }
Execution Count:15
15
694 -
695 return 0;
executed: return 0;
Execution Count:45
45
696} -
697 -
Switch to Source codePreprocessed file

Generated by Squish Coco Non-Commercial