Lines Matching refs:jump

387 static sljit_ub* generate_far_jump_code(struct sljit_jump *jump, sljit_ub *code_ptr, sljit_si type);
393 static sljit_ub* generate_near_jump_code(struct sljit_jump *jump, sljit_ub *code_ptr, sljit_ub *cod… in generate_near_jump_code() argument
398 if (jump->flags & JUMP_LABEL) in generate_near_jump_code()
399 label_addr = (sljit_uw)(code + jump->u.label->size); in generate_near_jump_code()
401 label_addr = jump->u.target; in generate_near_jump_code()
402 …short_jump = (sljit_sw)(label_addr - (jump->addr + 2)) >= -128 && (sljit_sw)(label_addr - (jump->a… in generate_near_jump_code()
405 …if ((sljit_sw)(label_addr - (jump->addr + 1)) > HALFWORD_MAX || (sljit_sw)(label_addr - (jump->add… in generate_near_jump_code()
406 return generate_far_jump_code(jump, code_ptr, type); in generate_near_jump_code()
414 jump->addr++; in generate_near_jump_code()
419 jump->addr++; in generate_near_jump_code()
423 jump->addr++; in generate_near_jump_code()
428 jump->addr += 2; in generate_near_jump_code()
432 jump->flags |= PATCH_MB; in generate_near_jump_code()
435 jump->flags |= PATCH_MW; in generate_near_jump_code()
456 struct sljit_jump *jump; in sljit_generate_code() local
470 jump = compiler->jumps; in sljit_generate_code()
485 jump->addr = (sljit_uw)code_ptr; in sljit_generate_code()
486 if (!(jump->flags & SLJIT_REWRITABLE_JUMP)) in sljit_generate_code()
487 code_ptr = generate_near_jump_code(jump, code_ptr, code, *buf_ptr - 4); in sljit_generate_code()
489 code_ptr = generate_far_jump_code(jump, code_ptr, *buf_ptr - 4); in sljit_generate_code()
490 jump = jump->next; in sljit_generate_code()
521 SLJIT_ASSERT(!jump); in sljit_generate_code()
524 jump = compiler->jumps; in sljit_generate_code()
525 while (jump) { in sljit_generate_code()
526 if (jump->flags & PATCH_MB) { in sljit_generate_code()
527 …SLJIT_ASSERT((sljit_sw)(jump->u.label->addr - (jump->addr + sizeof(sljit_sb))) >= -128 && (sljit_s… in sljit_generate_code()
528 *(sljit_ub*)jump->addr = (sljit_ub)(jump->u.label->addr - (jump->addr + sizeof(sljit_sb))); in sljit_generate_code()
529 } else if (jump->flags & PATCH_MW) { in sljit_generate_code()
530 if (jump->flags & JUMP_LABEL) { in sljit_generate_code()
532 *(sljit_sw*)jump->addr = (sljit_sw)(jump->u.label->addr - (jump->addr + sizeof(sljit_sw))); in sljit_generate_code()
534 …T_ASSERT((sljit_sw)(jump->u.label->addr - (jump->addr + sizeof(sljit_si))) >= HALFWORD_MIN && (slj… in sljit_generate_code()
535 *(sljit_si*)jump->addr = (sljit_si)(jump->u.label->addr - (jump->addr + sizeof(sljit_si))); in sljit_generate_code()
540 *(sljit_sw*)jump->addr = (sljit_sw)(jump->u.target - (jump->addr + sizeof(sljit_sw))); in sljit_generate_code()
542 …SLJIT_ASSERT((sljit_sw)(jump->u.target - (jump->addr + sizeof(sljit_si))) >= HALFWORD_MIN && (slji… in sljit_generate_code()
543 *(sljit_si*)jump->addr = (sljit_si)(jump->u.target - (jump->addr + sizeof(sljit_si))); in sljit_generate_code()
548 else if (jump->flags & PATCH_MD) in sljit_generate_code()
549 *(sljit_sw*)jump->addr = jump->u.label->addr; in sljit_generate_code()
552 jump = jump->next; in sljit_generate_code()
2544 struct sljit_jump *jump; local
2555 jump = (struct sljit_jump*)ensure_abuf(compiler, sizeof(struct sljit_jump));
2556 PTR_FAIL_IF_NULL(jump);
2557 set_jump(jump, compiler, type & SLJIT_REWRITABLE_JUMP);
2575 return jump;
2581 struct sljit_jump *jump; local
2616 jump = (struct sljit_jump*)ensure_abuf(compiler, sizeof(struct sljit_jump));
2617 FAIL_IF_NULL(jump);
2618 set_jump(jump, compiler, JUMP_ADDR);
2619 jump->u.target = srcw;