| Line | Source Code | Coverage |
|---|
| 1 | | - |
| 2 | | - |
| 3 | | - |
| 4 | | - |
| 5 | static int compiler_initialized = 0; | - |
| 6 | | - |
| 7 | static void init_compiler(void); | - |
| 8 | | - |
| 9 | | - |
| 10 | | - |
| 11 | static __attribute__((unused)) struct sljit_compiler* sljit_create_compiler(void) | - |
| 12 | { | - |
| 13 | struct sljit_compiler *compiler = (struct sljit_compiler*)(pcre16_malloc)(sizeof(struct sljit_compiler)); | - |
| 14 | if (!compiler) partially evaluated: !compiler| no Evaluation Count:0 | yes Evaluation Count:15 |
| 0-15 |
| 15 | return ((void *)0); never executed: return ((void *)0); | 0 |
| 16 | memset(compiler, 0, sizeof(struct sljit_compiler)); | - |
| 17 | | - |
| 18 | do { } while (0); executed: }Execution Count:15 partially evaluated: 0| no Evaluation Count:0 | yes Evaluation Count:15 |
| 0-15 |
| 19 | | - |
| 20 | | - |
| 21 | | - |
| 22 | | - |
| 23 | | - |
| 24 | | - |
| 25 | | - |
| 26 | compiler->error = 0; | - |
| 27 | | - |
| 28 | compiler->buf = (struct sljit_memory_fragment*)(pcre16_malloc)(4096); | - |
| 29 | compiler->abuf = (struct sljit_memory_fragment*)(pcre16_malloc)(4096); | - |
| 30 | | - |
| 31 | if (!compiler->buf || !compiler->abuf) { partially evaluated: !compiler->buf| no Evaluation Count:0 | yes Evaluation Count:15 |
partially evaluated: !compiler->abuf| no Evaluation Count:0 | yes Evaluation Count:15 |
| 0-15 |
| 32 | if (compiler->buf) never evaluated: compiler->buf | 0 |
| 33 | (pcre16_free)(compiler->buf); never executed: (pcre16_free)(compiler->buf); | 0 |
| 34 | if (compiler->abuf) never evaluated: compiler->abuf | 0 |
| 35 | (pcre16_free)(compiler->abuf); never executed: (pcre16_free)(compiler->abuf); | 0 |
| 36 | (pcre16_free)(compiler); | - |
| 37 | return ((void *)0); never executed: return ((void *)0); | 0 |
| 38 | } | - |
| 39 | | - |
| 40 | compiler->buf->next = ((void *)0); | - |
| 41 | compiler->buf->used_size = 0; | - |
| 42 | compiler->abuf->next = ((void *)0); | - |
| 43 | compiler->abuf->used_size = 0; | - |
| 44 | | - |
| 45 | compiler->temporaries = -1; | - |
| 46 | compiler->saveds = -1; | - |
| 47 | if (!compiler_initialized) { evaluated: !compiler_initialized| yes Evaluation Count:2 | yes Evaluation Count:13 |
| 2-13 |
| 48 | init_compiler(); | - |
| 49 | compiler_initialized = 1; | - |
| 50 | } executed: }Execution Count:2 | 2 |
| 51 | | - |
| 52 | | - |
| 53 | return compiler; executed: return compiler;Execution Count:15 | 15 |
| 54 | } | - |
| 55 | | - |
| 56 | static __attribute__((unused)) void sljit_free_compiler(struct sljit_compiler *compiler) | - |
| 57 | { | - |
| 58 | struct sljit_memory_fragment *buf; | - |
| 59 | struct sljit_memory_fragment *curr; | - |
| 60 | | - |
| 61 | buf = compiler->buf; | - |
| 62 | while (buf) { evaluated: buf| yes Evaluation Count:15 | yes Evaluation Count:15 |
| 15 |
| 63 | curr = buf; | - |
| 64 | buf = buf->next; | - |
| 65 | (pcre16_free)(curr); | - |
| 66 | } executed: }Execution Count:15 | 15 |
| 67 | | - |
| 68 | buf = compiler->abuf; | - |
| 69 | while (buf) { evaluated: buf| yes Evaluation Count:15 | yes Evaluation Count:15 |
| 15 |
| 70 | curr = buf; | - |
| 71 | buf = buf->next; | - |
| 72 | (pcre16_free)(curr); | - |
| 73 | } executed: }Execution Count:15 | 15 |
| 74 | | - |
| 75 | | - |
| 76 | | - |
| 77 | | - |
| 78 | (pcre16_free)(compiler); | - |
| 79 | } executed: }Execution Count:15 | 15 |
| 80 | static __attribute__((unused)) void sljit_free_code(void* code) | - |
| 81 | { | - |
| 82 | sljit_free_exec(code); | - |
| 83 | } executed: }Execution Count:15 | 15 |
| 84 | | - |
| 85 | | - |
| 86 | static __attribute__((unused)) void sljit_set_label(struct sljit_jump *jump, struct sljit_label* label) | - |
| 87 | { | - |
| 88 | if (__builtin_expect((!!jump), 1) && __builtin_expect((!!label), 1)) { partially evaluated: __builtin_expect((!!jump), 1)| yes Evaluation Count:401 | no Evaluation Count:0 |
partially evaluated: __builtin_expect((!!label), 1)| yes Evaluation Count:401 | no Evaluation Count:0 |
| 0-401 |
| 89 | jump->flags &= ~0x2; | - |
| 90 | jump->flags |= 0x1; | - |
| 91 | jump->u.label = label; | - |
| 92 | } executed: }Execution Count:401 | 401 |
| 93 | } executed: }Execution Count:401 | 401 |
| 94 | | - |
| 95 | static __attribute__((unused)) void sljit_set_target(struct sljit_jump *jump, sljit_uw target) | - |
| 96 | { | - |
| 97 | if (__builtin_expect((!!jump), 1)) { never evaluated: __builtin_expect((!!jump), 1) | 0 |
| 98 | do { } while (0); | 0 |
| 99 | | - |
| 100 | jump->flags &= ~0x1; | - |
| 101 | jump->flags |= 0x2; | - |
| 102 | jump->u.target = target; | - |
| 103 | } | 0 |
| 104 | } | 0 |
| 105 | | - |
| 106 | | - |
| 107 | | - |
| 108 | | - |
| 109 | | - |
| 110 | static void* ensure_buf(struct sljit_compiler *compiler, int size) | - |
| 111 | { | - |
| 112 | sljit_ub *ret; | - |
| 113 | struct sljit_memory_fragment *new_frag; | - |
| 114 | | - |
| 115 | if (compiler->buf->used_size + size <= (int)(4096 - sizeof(sljit_uw) - sizeof(void*))) { partially evaluated: compiler->buf->used_size + size <= (int)(4096 - sizeof(sljit_uw) - sizeof(void*))| yes Evaluation Count:2354 | no Evaluation Count:0 |
| 0-2354 |
| 116 | ret = compiler->buf->memory + compiler->buf->used_size; | - |
| 117 | compiler->buf->used_size += size; | - |
| 118 | return ret; executed: return ret;Execution Count:2354 | 2354 |
| 119 | } | - |
| 120 | new_frag = (struct sljit_memory_fragment*)(pcre16_malloc)(4096); | - |
| 121 | do { if (__builtin_expect((!(new_frag)), 0)) { compiler->error = 2; return ((void *)0); } } while (0); never evaluated: __builtin_expect((!(new_frag)), 0) never executed: return ((void *)0); | 0 |
| 122 | new_frag->next = compiler->buf; | - |
| 123 | compiler->buf = new_frag; | - |
| 124 | new_frag->used_size = size; | - |
| 125 | return new_frag->memory; never executed: return new_frag->memory; | 0 |
| 126 | } | - |
| 127 | | - |
| 128 | static void* ensure_abuf(struct sljit_compiler *compiler, int size) | - |
| 129 | { | - |
| 130 | sljit_ub *ret; | - |
| 131 | struct sljit_memory_fragment *new_frag; | - |
| 132 | | - |
| 133 | if (compiler->abuf->used_size + size <= (int)(4096 - sizeof(sljit_uw) - sizeof(void*))) { partially evaluated: compiler->abuf->used_size + size <= (int)(4096 - sizeof(sljit_uw) - sizeof(void*))| yes Evaluation Count:787 | no Evaluation Count:0 |
| 0-787 |
| 134 | ret = compiler->abuf->memory + compiler->abuf->used_size; | - |
| 135 | compiler->abuf->used_size += size; | - |
| 136 | return ret; executed: return ret;Execution Count:787 | 787 |
| 137 | } | - |
| 138 | new_frag = (struct sljit_memory_fragment*)(pcre16_malloc)(4096); | - |
| 139 | do { if (__builtin_expect((!(new_frag)), 0)) { compiler->error = 2; return ((void *)0); } } while (0); never evaluated: __builtin_expect((!(new_frag)), 0) never executed: return ((void *)0); | 0 |
| 140 | new_frag->next = compiler->abuf; | - |
| 141 | compiler->abuf = new_frag; | - |
| 142 | new_frag->used_size = size; | - |
| 143 | return new_frag->memory; never executed: return new_frag->memory; | 0 |
| 144 | } | - |
| 145 | | - |
| 146 | static __attribute__((unused)) void* sljit_alloc_memory(struct sljit_compiler *compiler, int size) | - |
| 147 | { | - |
| 148 | do { if (__builtin_expect((compiler->error), 0)) return ((void *)0); } while (0); partially evaluated: __builtin_expect((compiler->error), 0)| no Evaluation Count:0 | yes Evaluation Count:100 |
partially evaluated: 0| no Evaluation Count:0 | yes Evaluation Count:100 |
never executed: return ((void *)0); executed: }Execution Count:100 | 0-100 |
| 149 | | - |
| 150 | | - |
| 151 | if (size <= 0 || size > 128) partially evaluated: size <= 0| no Evaluation Count:0 | yes Evaluation Count:100 |
partially evaluated: size > 128| no Evaluation Count:0 | yes Evaluation Count:100 |
| 0-100 |
| 152 | return ((void *)0); never executed: return ((void *)0); | 0 |
| 153 | size = (size + 7) & ~7; | - |
| 154 | | - |
| 155 | | - |
| 156 | | - |
| 157 | | - |
| 158 | | - |
| 159 | return ensure_abuf(compiler, size); executed: return ensure_abuf(compiler, size);Execution Count:100 | 100 |
| 160 | } | - |
| 161 | | - |
| 162 | static __inline void reverse_buf(struct sljit_compiler *compiler) | - |
| 163 | { | - |
| 164 | struct sljit_memory_fragment *buf = compiler->buf; | - |
| 165 | struct sljit_memory_fragment *prev = ((void *)0); | - |
| 166 | struct sljit_memory_fragment *tmp; | - |
| 167 | | - |
| 168 | do { | - |
| 169 | tmp = buf->next; | - |
| 170 | buf->next = prev; | - |
| 171 | prev = buf; | - |
| 172 | buf = tmp; | - |
| 173 | } while (buf != ((void *)0)); partially evaluated: buf != ((void *)0)| no Evaluation Count:0 | yes Evaluation Count:15 |
executed: }Execution Count:15 | 0-15 |
| 174 | | - |
| 175 | compiler->buf = prev; | - |
| 176 | } executed: }Execution Count:15 | 15 |
| 177 | | - |
| 178 | static __inline void set_label(struct sljit_label *label, struct sljit_compiler *compiler) | - |
| 179 | { | - |
| 180 | label->next = ((void *)0); | - |
| 181 | label->size = compiler->size; | - |
| 182 | if (compiler->last_label) evaluated: compiler->last_label| yes Evaluation Count:256 | yes Evaluation Count:15 |
| 15-256 |
| 183 | compiler->last_label->next = label; executed: compiler->last_label->next = label;Execution Count:256 | 256 |
| 184 | else | - |
| 185 | compiler->labels = label; executed: compiler->labels = label;Execution Count:15 | 15 |
| 186 | compiler->last_label = label; | - |
| 187 | } executed: }Execution Count:271 | 271 |
| 188 | | - |
| 189 | static __inline void set_jump(struct sljit_jump *jump, struct sljit_compiler *compiler, int flags) | - |
| 190 | { | - |
| 191 | jump->next = ((void *)0); | - |
| 192 | jump->flags = flags; | - |
| 193 | if (compiler->last_jump) evaluated: compiler->last_jump| yes Evaluation Count:401 | yes Evaluation Count:15 |
| 15-401 |
| 194 | compiler->last_jump->next = jump; executed: compiler->last_jump->next = jump;Execution Count:401 | 401 |
| 195 | else | - |
| 196 | compiler->jumps = jump; executed: compiler->jumps = jump;Execution Count:15 | 15 |
| 197 | compiler->last_jump = jump; | - |
| 198 | } executed: }Execution Count:416 | 416 |
| 199 | | - |
| 200 | static __inline void set_const(struct sljit_const *const_, struct sljit_compiler *compiler) | - |
| 201 | { | - |
| 202 | const_->next = ((void *)0); | - |
| 203 | const_->addr = compiler->size; | - |
| 204 | if (compiler->last_const) never evaluated: compiler->last_const | 0 |
| 205 | compiler->last_const->next = const_; never executed: compiler->last_const->next = const_; | 0 |
| 206 | else | - |
| 207 | compiler->consts = const_; never executed: compiler->consts = const_; | 0 |
| 208 | compiler->last_const = const_; | - |
| 209 | } | 0 |
| 210 | static __inline void check_sljit_generate_code(struct sljit_compiler *compiler) | - |
| 211 | { | - |
| 212 | | - |
| 213 | | - |
| 214 | | - |
| 215 | | - |
| 216 | (void)compiler; | - |
| 217 | | - |
| 218 | do { } while (0); partially evaluated: 0| no Evaluation Count:0 | yes Evaluation Count:15 |
executed: }Execution Count:15 | 0-15 |
| 219 | } executed: }Execution Count:15 | 15 |
| 220 | | - |
| 221 | static __inline void check_sljit_emit_enter(struct sljit_compiler *compiler, int args, int temporaries, int saveds, int local_size) | - |
| 222 | { | - |
| 223 | | - |
| 224 | (void)compiler; | - |
| 225 | (void)args; | - |
| 226 | (void)temporaries; | - |
| 227 | (void)saveds; | - |
| 228 | (void)local_size; | - |
| 229 | | - |
| 230 | do { } while (0); partially evaluated: 0| no Evaluation Count:0 | yes Evaluation Count:15 |
executed: }Execution Count:15 | 0-15 |
| 231 | do { } while (0); partially evaluated: 0| no Evaluation Count:0 | yes Evaluation Count:15 |
executed: }Execution Count:15 | 0-15 |
| 232 | do { } while (0); partially evaluated: 0| no Evaluation Count:0 | yes Evaluation Count:15 |
executed: }Execution Count:15 | 0-15 |
| 233 | do { } while (0); partially evaluated: 0| no Evaluation Count:0 | yes Evaluation Count:15 |
executed: }Execution Count:15 | 0-15 |
| 234 | do { } while (0); partially evaluated: 0| no Evaluation Count:0 | yes Evaluation Count:15 |
executed: }Execution Count:15 | 0-15 |
| 235 | | - |
| 236 | | - |
| 237 | | - |
| 238 | | - |
| 239 | } executed: }Execution Count:15 | 15 |
| 240 | | - |
| 241 | static __inline void check_sljit_set_context(struct sljit_compiler *compiler, int args, int temporaries, int saveds, int local_size) | - |
| 242 | { | - |
| 243 | | - |
| 244 | (void)compiler; | - |
| 245 | (void)args; | - |
| 246 | (void)temporaries; | - |
| 247 | (void)saveds; | - |
| 248 | (void)local_size; | - |
| 249 | | - |
| 250 | do { } while (0); | 0 |
| 251 | do { } while (0); | 0 |
| 252 | do { } while (0); | 0 |
| 253 | do { } while (0); | 0 |
| 254 | do { } while (0); | 0 |
| 255 | | - |
| 256 | | - |
| 257 | | - |
| 258 | | - |
| 259 | } | 0 |
| 260 | | - |
| 261 | static __inline void check_sljit_emit_return(struct sljit_compiler *compiler, int op, int src, sljit_w srcw) | - |
| 262 | { | - |
| 263 | | - |
| 264 | (void)compiler; | - |
| 265 | (void)op; | - |
| 266 | (void)src; | - |
| 267 | (void)srcw; | - |
| 268 | } executed: }Execution Count:15 | 15 |
| 269 | | - |
| 270 | static __inline void check_sljit_emit_fast_enter(struct sljit_compiler *compiler, int dst, sljit_w dstw, int args, int temporaries, int saveds, int local_size) | - |
| 271 | { | - |
| 272 | | - |
| 273 | (void)compiler; | - |
| 274 | (void)dst; | - |
| 275 | (void)dstw; | - |
| 276 | (void)args; | - |
| 277 | (void)temporaries; | - |
| 278 | (void)saveds; | - |
| 279 | (void)local_size; | - |
| 280 | | - |
| 281 | do { } while (0); partially evaluated: 0| no Evaluation Count:0 | yes Evaluation Count:23 |
executed: }Execution Count:23 | 0-23 |
| 282 | do { } while (0); partially evaluated: 0| no Evaluation Count:0 | yes Evaluation Count:23 |
executed: }Execution Count:23 | 0-23 |
| 283 | do { } while (0); partially evaluated: 0| no Evaluation Count:0 | yes Evaluation Count:23 |
executed: }Execution Count:23 | 0-23 |
| 284 | do { } while (0); partially evaluated: 0| no Evaluation Count:0 | yes Evaluation Count:23 |
executed: }Execution Count:23 | 0-23 |
| 285 | do { } while (0); partially evaluated: 0| no Evaluation Count:0 | yes Evaluation Count:23 |
executed: }Execution Count:23 | 0-23 |
| 286 | } executed: }Execution Count:23 | 23 |
| 287 | | - |
| 288 | static __inline void check_sljit_emit_fast_return(struct sljit_compiler *compiler, int src, sljit_w srcw) | - |
| 289 | { | - |
| 290 | | - |
| 291 | (void)compiler; | - |
| 292 | (void)src; | - |
| 293 | (void)srcw; | - |
| 294 | } executed: }Execution Count:30 | 30 |
| 295 | | - |
| 296 | static __inline void check_sljit_emit_op0(struct sljit_compiler *compiler, int op) | - |
| 297 | { | - |
| 298 | | - |
| 299 | (void)compiler; | - |
| 300 | (void)op; | - |
| 301 | | - |
| 302 | do { } while (0); | 0 |
| 303 | | - |
| 304 | | - |
| 305 | | - |
| 306 | | - |
| 307 | | - |
| 308 | } | 0 |
| 309 | | - |
| 310 | static __inline void check_sljit_emit_op1(struct sljit_compiler *compiler, int op, | - |
| 311 | int dst, sljit_w dstw, | - |
| 312 | int src, sljit_w srcw) | - |
| 313 | { | - |
| 314 | | - |
| 315 | (void)compiler; | - |
| 316 | (void)op; | - |
| 317 | (void)dst; | - |
| 318 | (void)dstw; | - |
| 319 | (void)src; | - |
| 320 | (void)srcw; | - |
| 321 | do { } while (0); partially evaluated: 0| no Evaluation Count:0 | yes Evaluation Count:720 |
executed: }Execution Count:720 | 0-720 |
| 322 | } executed: }Execution Count:720 | 720 |
| 323 | | - |
| 324 | static __inline void check_sljit_emit_op2(struct sljit_compiler *compiler, int op, | - |
| 325 | int dst, sljit_w dstw, | - |
| 326 | int src1, sljit_w src1w, | - |
| 327 | int src2, sljit_w src2w) | - |
| 328 | { | - |
| 329 | | - |
| 330 | (void)compiler; | - |
| 331 | (void)op; | - |
| 332 | (void)dst; | - |
| 333 | (void)dstw; | - |
| 334 | (void)src1; | - |
| 335 | (void)src1w; | - |
| 336 | (void)src2; | - |
| 337 | (void)src2w; | - |
| 338 | do { } while (0); partially evaluated: 0| no Evaluation Count:0 | yes Evaluation Count:667 |
executed: }Execution Count:667 | 0-667 |
| 339 | } executed: }Execution Count:667 | 667 |
| 340 | | - |
| 341 | static __inline void check_sljit_get_register_index(int reg) | - |
| 342 | { | - |
| 343 | (void)reg; | - |
| 344 | do { } while (0); | 0 |
| 345 | } | 0 |
| 346 | | - |
| 347 | static __inline void check_sljit_emit_op_custom(struct sljit_compiler *compiler, | - |
| 348 | void *instruction, int size) | - |
| 349 | { | - |
| 350 | (void)compiler; | - |
| 351 | (void)instruction; | - |
| 352 | (void)size; | - |
| 353 | do { } while (0); | 0 |
| 354 | } | 0 |
| 355 | | - |
| 356 | static __inline void check_sljit_emit_fop1(struct sljit_compiler *compiler, int op, | - |
| 357 | int dst, sljit_w dstw, | - |
| 358 | int src, sljit_w srcw) | - |
| 359 | { | - |
| 360 | | - |
| 361 | (void)compiler; | - |
| 362 | (void)op; | - |
| 363 | (void)dst; | - |
| 364 | (void)dstw; | - |
| 365 | (void)src; | - |
| 366 | (void)srcw; | - |
| 367 | do { } while (0); | 0 |
| 368 | do { } while (0); | 0 |
| 369 | } | 0 |
| 370 | | - |
| 371 | static __inline void check_sljit_emit_fop2(struct sljit_compiler *compiler, int op, | - |
| 372 | int dst, sljit_w dstw, | - |
| 373 | int src1, sljit_w src1w, | - |
| 374 | int src2, sljit_w src2w) | - |
| 375 | { | - |
| 376 | | - |
| 377 | (void)compiler; | - |
| 378 | (void)op; | - |
| 379 | (void)dst; | - |
| 380 | (void)dstw; | - |
| 381 | (void)src1; | - |
| 382 | (void)src1w; | - |
| 383 | (void)src2; | - |
| 384 | (void)src2w; | - |
| 385 | | - |
| 386 | do { } while (0); | 0 |
| 387 | do { } while (0); | 0 |
| 388 | } | 0 |
| 389 | | - |
| 390 | static __inline void check_sljit_emit_label(struct sljit_compiler *compiler) | - |
| 391 | { | - |
| 392 | | - |
| 393 | (void)compiler; | - |
| 394 | | - |
| 395 | | - |
| 396 | | - |
| 397 | | - |
| 398 | | - |
| 399 | } executed: }Execution Count:340 | 340 |
| 400 | | - |
| 401 | static __inline void check_sljit_emit_jump(struct sljit_compiler *compiler, int type) | - |
| 402 | { | - |
| 403 | | - |
| 404 | (void)compiler; | - |
| 405 | (void)type; | - |
| 406 | do { } while (0); partially evaluated: 0| no Evaluation Count:0 | yes Evaluation Count:401 |
executed: }Execution Count:401 | 0-401 |
| 407 | do { } while (0); partially evaluated: 0| no Evaluation Count:0 | yes Evaluation Count:401 |
executed: }Execution Count:401 | 0-401 |
| 408 | | - |
| 409 | | - |
| 410 | | - |
| 411 | | - |
| 412 | } executed: }Execution Count:401 | 401 |
| 413 | | - |
| 414 | static __inline void check_sljit_emit_cmp(struct sljit_compiler *compiler, int type, | - |
| 415 | int src1, sljit_w src1w, | - |
| 416 | int src2, sljit_w src2w) | - |
| 417 | { | - |
| 418 | (void)compiler; | - |
| 419 | (void)type; | - |
| 420 | (void)src1; | - |
| 421 | (void)src1w; | - |
| 422 | (void)src2; | - |
| 423 | (void)src2w; | - |
| 424 | | - |
| 425 | do { } while (0); partially evaluated: 0| no Evaluation Count:0 | yes Evaluation Count:239 |
executed: }Execution Count:239 | 0-239 |
| 426 | do { } while (0); partially evaluated: 0| no Evaluation Count:0 | yes Evaluation Count:239 |
executed: }Execution Count:239 | 0-239 |
| 427 | } executed: }Execution Count:239 | 239 |
| 428 | | - |
| 429 | static __inline void check_sljit_emit_fcmp(struct sljit_compiler *compiler, int type, | - |
| 430 | int src1, sljit_w src1w, | - |
| 431 | int src2, sljit_w src2w) | - |
| 432 | { | - |
| 433 | (void)compiler; | - |
| 434 | (void)type; | - |
| 435 | (void)src1; | - |
| 436 | (void)src1w; | - |
| 437 | (void)src2; | - |
| 438 | (void)src2w; | - |
| 439 | | - |
| 440 | do { } while (0); | 0 |
| 441 | do { } while (0); | 0 |
| 442 | do { } while (0); | 0 |
| 443 | } | 0 |
| 444 | | - |
| 445 | static __inline void check_sljit_emit_ijump(struct sljit_compiler *compiler, int type, int src, sljit_w srcw) | - |
| 446 | { | - |
| 447 | | - |
| 448 | (void)compiler; | - |
| 449 | (void)type; | - |
| 450 | (void)src; | - |
| 451 | (void)srcw; | - |
| 452 | | - |
| 453 | do { } while (0); partially evaluated: 0| no Evaluation Count:0 | yes Evaluation Count:15 |
executed: }Execution Count:15 | 0-15 |
| 454 | } executed: }Execution Count:15 | 15 |
| 455 | | - |
| 456 | static __inline void check_sljit_emit_cond_value(struct sljit_compiler *compiler, int op, int dst, sljit_w dstw, int type) | - |
| 457 | { | - |
| 458 | | - |
| 459 | (void)compiler; | - |
| 460 | (void)op; | - |
| 461 | (void)dst; | - |
| 462 | (void)dstw; | - |
| 463 | (void)type; | - |
| 464 | | - |
| 465 | do { } while (0); partially evaluated: 0| no Evaluation Count:0 | yes Evaluation Count:43 |
executed: }Execution Count:43 | 0-43 |
| 466 | do { } while (0); partially evaluated: 0| no Evaluation Count:0 | yes Evaluation Count:43 |
executed: }Execution Count:43 | 0-43 |
| 467 | do { } while (0); partially evaluated: 0| no Evaluation Count:0 | yes Evaluation Count:43 |
executed: }Execution Count:43 | 0-43 |
| 468 | } executed: }Execution Count:43 | 43 |
| 469 | | - |
| 470 | static __inline void check_sljit_emit_const(struct sljit_compiler *compiler, int dst, sljit_w dstw, sljit_w init_value) | - |
| 471 | { | - |
| 472 | | - |
| 473 | (void)compiler; | - |
| 474 | (void)dst; | - |
| 475 | (void)dstw; | - |
| 476 | (void)init_value; | - |
| 477 | } | 0 |
| 478 | | - |
| 479 | static __inline int emit_mov_before_return(struct sljit_compiler *compiler, int op, int src, sljit_w srcw) | - |
| 480 | { | - |
| 481 | | - |
| 482 | if (op == 0) partially evaluated: op == 0| no Evaluation Count:0 | yes Evaluation Count:15 |
| 0-15 |
| 483 | return 0; never executed: return 0; | 0 |
| 484 | | - |
| 485 | | - |
| 486 | if (src == 1 && op == 6) partially evaluated: src == 1| yes Evaluation Count:15 | no Evaluation Count:0 |
partially evaluated: op == 6| yes Evaluation Count:15 | no Evaluation Count:0 |
| 0-15 |
| 487 | return 0; executed: return 0;Execution Count:15 | 15 |
| 488 | return sljit_emit_op1(compiler, op, 1, 0, src, srcw); never executed: return sljit_emit_op1(compiler, op, 1, 0, src, srcw); | 0 |
| 489 | } | - |
| 490 | static __attribute__((unused)) struct sljit_jump* sljit_emit_cmp(struct sljit_compiler *compiler, int type, | - |
| 491 | int src1, sljit_w src1w, | - |
| 492 | int src2, sljit_w src2w) | - |
| 493 | { | - |
| 494 | | - |
| 495 | int flags, tmp_src, condition; | - |
| 496 | sljit_w tmp_srcw; | - |
| 497 | | - |
| 498 | do { if (__builtin_expect((compiler->error), 0)) return ((void *)0); } while (0); partially evaluated: __builtin_expect((compiler->error), 0)| no Evaluation Count:0 | yes Evaluation Count:239 |
partially evaluated: 0| no Evaluation Count:0 | yes Evaluation Count:239 |
never executed: return ((void *)0); executed: }Execution Count:239 | 0-239 |
| 499 | check_sljit_emit_cmp(compiler, type, src1, src1w, src2, src2w); | - |
| 500 | | - |
| 501 | condition = type & 0xff; | - |
| 502 | if (__builtin_expect(((src1 & 0x200) && !(src2 & 0x200)), 0)) { partially evaluated: __builtin_expect(((src1 & 0x200) && !(src2 & 0x200)), 0)| no Evaluation Count:0 | yes Evaluation Count:239 |
| 0-239 |
| 503 | | - |
| 504 | switch (condition) { | - |
| 505 | case 2: | - |
| 506 | condition = 4; | - |
| 507 | break; | 0 |
| 508 | case 3: | - |
| 509 | condition = 5; | - |
| 510 | break; | 0 |
| 511 | case 4: | - |
| 512 | condition = 2; | - |
| 513 | break; | 0 |
| 514 | case 5: | - |
| 515 | condition = 3; | - |
| 516 | break; | 0 |
| 517 | case 6: | - |
| 518 | condition = 8; | - |
| 519 | break; | 0 |
| 520 | case 7: | - |
| 521 | condition = 9; | - |
| 522 | break; | 0 |
| 523 | case 8: | - |
| 524 | condition = 6; | - |
| 525 | break; | 0 |
| 526 | case 9: | - |
| 527 | condition = 7; | - |
| 528 | break; | 0 |
| 529 | } | - |
| 530 | type = condition | (type & (0x100 | 0x1000)); | - |
| 531 | tmp_src = src1; | - |
| 532 | src1 = src2; | - |
| 533 | src2 = tmp_src; | - |
| 534 | tmp_srcw = src1w; | - |
| 535 | src1w = src2w; | - |
| 536 | src2w = tmp_srcw; | - |
| 537 | } | 0 |
| 538 | | - |
| 539 | if (condition <= 1) evaluated: condition <= 1| yes Evaluation Count:122 | yes Evaluation Count:117 |
| 117-122 |
| 540 | flags = 0x0200; executed: flags = 0x0200;Execution Count:122 | 122 |
| 541 | else if (condition <= 5) partially evaluated: condition <= 5| yes Evaluation Count:117 | no Evaluation Count:0 |
| 0-117 |
| 542 | flags = 0x0800; executed: flags = 0x0800;Execution Count:117 | 117 |
| 543 | else | - |
| 544 | flags = 0x0400; never executed: flags = 0x0400; | 0 |
| 545 | | - |
| 546 | | - |
| 547 | | - |
| 548 | | - |
| 549 | do { if (__builtin_expect((sljit_emit_op2(compiler, 25 | flags | (type & 0x100), 0, 0, src1, src1w, src2, src2w)), 0)) return ((void *)0); } while (0); never executed: return ((void *)0); executed: }Execution Count:239 partially evaluated: __builtin_expect((sljit_emit_op2(compiler, 25 | flags | (type & 0x100), 0, 0, src1, src1w, src2, src2w)), 0)| no Evaluation Count:0 | yes Evaluation Count:239 |
partially evaluated: 0| no Evaluation Count:0 | yes Evaluation Count:239 |
| 0-239 |
| 550 | | - |
| 551 | | - |
| 552 | | - |
| 553 | | - |
| 554 | return sljit_emit_jump(compiler, condition | (type & 0x1000)); executed: return sljit_emit_jump(compiler, condition | (type & 0x1000));Execution Count:239 | 239 |
| 555 | } | - |
| 556 | | - |
| 557 | static __attribute__((unused)) struct sljit_jump* sljit_emit_fcmp(struct sljit_compiler *compiler, int type, | - |
| 558 | int src1, sljit_w src1w, | - |
| 559 | int src2, sljit_w src2w) | - |
| 560 | { | - |
| 561 | int flags, condition; | - |
| 562 | | - |
| 563 | check_sljit_emit_fcmp(compiler, type, src1, src1w, src2, src2w); | - |
| 564 | | - |
| 565 | condition = type & 0xff; | - |
| 566 | if (condition <= 15) never evaluated: condition <= 15 | 0 |
| 567 | flags = 0x0200; never executed: flags = 0x0200; | 0 |
| 568 | else | - |
| 569 | flags = 0x0400; never executed: flags = 0x0400; | 0 |
| 570 | | - |
| 571 | | - |
| 572 | | - |
| 573 | | - |
| 574 | sljit_emit_fop1(compiler, 34 | flags, src1, src1w, src2, src2w); | - |
| 575 | | - |
| 576 | | - |
| 577 | | - |
| 578 | | - |
| 579 | return sljit_emit_jump(compiler, condition | (type & 0x1000)); never executed: return sljit_emit_jump(compiler, condition | (type & 0x1000)); | 0 |
| 580 | } | - |
| 581 | | - |
| | |