Home | History | Annotate | Download | only in src

Lines Matching refs:compiler

49 /* All-in-one: Since we use the JIT compiler only from here,
347 /* The sljit ceneric compiler. */
348 struct sljit_compiler *compiler;
554 struct sljit_compiler *compiler = common->compiler
556 sljit_emit_op1(compiler, (op), (dst), (dstw), (src), (srcw))
558 sljit_emit_op2(compiler, (op), (dst), (dstw), (src1), (src1w), (src2), (src2w))
560 sljit_emit_label(compiler)
562 sljit_emit_jump(compiler, (type))
564 sljit_set_label(sljit_emit_jump(compiler, (type)), (label))
566 sljit_set_label((jump), sljit_emit_label(compiler))
570 sljit_emit_cmp(compiler, (type), (src1), (src1w), (src2), (src2w))
572 sljit_set_label(sljit_emit_cmp(compiler, (type), (src1), (src1w), (src2), (src2w)), (label))
574 sljit_emit_op_flags(compiler, (op), (dst), (dstw), (src), (srcw), (type))
576 sljit_get_local_base(compiler, (dst), (dstw), (offset))
2282 static SLJIT_INLINE void add_jump(struct sljit_compiler *compiler, jump_list **list, struct sljit_jump *jump)
2284 jump_list *list_item = sljit_alloc_memory(compiler, sizeof(jump_list));
2296 stub_list *list_item = sljit_alloc_memory(compiler, sizeof(stub_list));
2315 add_jump(compiler, &common->stackalloc, JUMP(SLJIT_FAST_CALL));
2327 label_addr = sljit_alloc_memory(compiler, sizeof(label_addr_list));
2341 add_jump(compiler, &common->calllimit, JUMP(SLJIT_ZERO));
2374 if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler)))
2377 result = (sljit_uw *)SLJIT_MALLOC(size + sizeof(sljit_uw), compiler->allocator_data);
2380 sljit_set_compiler_memory_error(compiler);
2731 add_jump(compiler, &common->partialmatch, JUMP(SLJIT_JUMP));
2746 add_jump(compiler, end_reached, CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0));
2753 add_jump(compiler, end_reached, CMP(SLJIT_GREATER_EQUAL, SLJIT_MEM1(SLJIT_SP), common->start_used_ptr, STR_PTR, 0));
2755 add_jump(compiler, end_reached, JUMP(SLJIT_JUMP));
2759 add_jump(compiler, end_reached, CMP(SLJIT_GREATER_EQUAL, SLJIT_MEM1(SLJIT_SP), common->start_used_ptr, STR_PTR, 0));
2763 add_jump(compiler, &common->partialmatch, JUMP(SLJIT_JUMP));
2775 add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0));
2781 add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, SLJIT_MEM1(SLJIT_SP), common->start_used_ptr, STR_PTR, 0));
2785 add_jump(compiler, backtracks, JUMP(SLJIT_JUMP));
2792 add_jump(compiler, &common->partialmatch, JUMP(SLJIT_JUMP));
2816 add_jump(compiler, &common->utfreadchar, JUMP(SLJIT_FAST_CALL));
2957 add_jump(compiler, (max < 0x10000) ? &common->utfreadchar16 : &common->utfreadchar, JUMP(SLJIT_FAST_CALL));
3055 add_jump(compiler, &common->utfreadtype8, JUMP(SLJIT_FAST_CALL));
3126 add_jump(compiler, &common->anynewline, JUMP(SLJIT_FAST_CALL));
3127 add_jump(compiler, backtracks, JUMP(jumpifmatch ? SLJIT_NOT_ZERO : SLJIT_ZERO));
3133 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, CHAR_CR));
3134 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, CHAR_NL));
3139 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, CHAR_NL));
3146 add_jump(compiler, backtracks, CMP(jumpifmatch ? SLJIT_EQUAL : SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, common->newline));
3160 sljit_emit_fast_enter(compiler, RETURN_ADDR, 0);
3173 sljit_emit_fast_return(compiler, RETURN_ADDR, 0);
3187 sljit_emit_fast_return(compiler, RETURN_ADDR, 0);
3198 sljit_emit_fast_return(compiler, RETURN_ADDR, 0);
3208 sljit_emit_fast_enter(compiler, RETURN_ADDR, 0);
3220 sljit_emit_fast_return(compiler, RETURN_ADDR, 0);
3234 sljit_emit_fast_return(compiler, RETURN_ADDR, 0);
3245 sljit_emit_fast_enter(compiler, RETURN_ADDR, 0);
3259 sljit_emit_fast_return(compiler, RETURN_ADDR, 0);
3263 sljit_emit_fast_return(compiler, RETURN_ADDR, 0);
3270 sljit_emit_fast_return(compiler, RETURN_ADDR, 0);
3287 sljit_emit_fast_enter(compiler, RETURN_ADDR, 0);
3297 sljit_emit_fast_return(compiler, RETURN_ADDR, 0);
3378 add_jump(compiler, &common->forced_quit, CMP(SLJIT_LESS, TMP2, 0, STR_PTR, 0));
3840 othercase[0] = 0; /* Stops compiler warning - PH */
3931 sljit_emit_op_custom(compiler, instruction, 4);
3939 sljit_emit_op_custom(compiler, instruction, 4);
3946 sljit_emit_op_custom(compiler, instruction, 5);
3953 sljit_emit_op_custom(compiler, instruction, 5);
3966 sljit_emit_op_custom(compiler, instruction, 4);
3971 sljit_emit_op_custom(compiler, instruction, 4);
3980 sljit_emit_op_custom(compiler, instruction, 5);
3985 sljit_emit_op_custom(compiler, instruction, 5);
3994 sljit_emit_op_custom(compiler, instruction, 4);
3999 sljit_emit_op_custom(compiler, instruction, 4);
4009 sljit_emit_op_custom(compiler, instruction, 4);
4015 sljit_emit_op_custom(compiler, instruction, 4);
4020 sljit_emit_op_custom(compiler, instruction, 4);
4026 sljit_emit_op_custom(compiler, instruction, 4);
4032 sljit_emit_op_custom(compiler, instruction, 4);
4044 sljit_emit_op_custom(compiler, instruction, 3);
4070 sljit_emit_op_custom(compiler, instruction, 4);
4075 sljit_emit_op_custom(compiler, instruction, 4);
4084 sljit_emit_op_custom(compiler, instruction, 5);
4089 sljit_emit_op_custom(compiler, instruction, 5);
4098 sljit_emit_op_custom(compiler, instruction, 4);
4103 sljit_emit_op_custom(compiler, instruction, 4);
4113 sljit_emit_op_custom(compiler, instruction, 4);
4119 sljit_emit_op_custom(compiler, instruction, 4);
4124 sljit_emit_op_custom(compiler, instruction, 4);
4130 sljit_emit_op_custom(compiler, instruction, 4);
4135 sljit_emit_op_custom(compiler, instruction, 4);
4144 sljit_emit_op_custom(compiler, instruction, 3);
4185 sljit_x86_emit_cmov(compiler, SLJIT_GREATER, STR_END, TMP3, 0);
4214 add_jump(compiler, &common->forced_quit, CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0));
4242 sljit_x86_emit_cmov(compiler, SLJIT_GREATER_EQUAL, STR_PTR, has_match_end ? SLJIT_MEM1(SLJIT_SP) : STR_END, has_match_end ? common->match_end_ptr : 0);
4356 /* Prevent compiler "uninitialized" warning */
4804 sljit_emit_fast_enter(compiler, RETURN_ADDR, 0);
4823 sljit_emit_fast_return(compiler, RETURN_ADDR, 0);
4844 sljit_emit_fast_enter(compiler, SLJIT_MEM1(SLJIT_SP), LOCALS0);
4860 add_jump(compiler, &common->getucd, JUMP(SLJIT_FAST_CALL));
4904 add_jump(compiler, &common->getucd, JUMP(SLJIT_FAST_CALL));
4939 sljit_emit_fast_return(compiler, SLJIT_MEM1(SLJIT_SP), LOCALS0);
4991 add_jump(compiler, backtracks, JUMP(SLJIT_JUMP));
5000 add_jump(compiler, backtracks, CMP(bit == 0 ? SLJIT_LESS : SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, ranges[0]));
5007 add_jump(compiler, backtracks, CMP(bit != 0 ? SLJIT_LESS : SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, ranges[1] - ranges[0]));
5010 add_jump(compiler, backtracks, CMP(bit != 0 ? SLJIT_EQUAL : SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, ranges[0]));
5016 add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, ranges[2]));
5020 add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, ranges[1] - ranges[0]));
5023 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, ranges[0]));
5027 add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, ranges[0]));
5031 add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, ranges[2] - ranges[1]));
5034 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, ranges[1]));
5048 add_jump(compiler, backtracks, CMP(bit != 0 ? SLJIT_LESS : SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, ranges[3] - ranges[2]));
5051 add_jump(compiler, backtracks, CMP(bit != 0 ? SLJIT_EQUAL : SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, ranges[2]));
5061 add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, ranges[1] - ranges[0]));
5065 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, ranges[0]));
5070 add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, ranges[3] - ranges[2]));
5073 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, ranges[2] - i));
5078 add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, ranges[3] - ranges[0]));
5082 add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, ranges[2] - ranges[1]));
5085 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, ranges[1] - ranges[0]));
5099 sljit_emit_fast_enter(compiler, RETURN_ADDR, 0);
5118 sljit_emit_fast_return(compiler, RETURN_ADDR, 0);
5126 sljit_emit_fast_enter(compiler, RETURN_ADDR, 0);
5157 sljit_emit_fast_return(compiler, RETURN_ADDR, 0);
5165 sljit_emit_fast_enter(compiler, RETURN_ADDR, 0);
5185 sljit_emit_fast_return(compiler, RETURN_ADDR, 0);
5197 sljit_emit_fast_enter(compiler, RETURN_ADDR, 0);
5215 sljit_emit_fast_return(compiler, RETURN_ADDR, 0);
5226 sljit_emit_fast_enter(compiler, RETURN_ADDR, 0);
5260 sljit_emit_fast_return(compiler, RETURN_ADDR, 0);
5401 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, context->sourcereg, 0, SLJIT_IMM, context->c.asint | context->oc.asint));
5407 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, context->sourcereg, 0, SLJIT_IMM, context->c.asushort | context->oc.asushort));
5414 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, context->sourcereg, 0, SLJIT_IMM, context->c.asbyte | context->oc.asbyte));
5436 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, context->sourcereg, 0, SLJIT_IMM, *cc | othercasebit));
5439 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, context->sourcereg, 0, SLJIT_IMM, *cc));
5562 add_jump(compiler, backtracks, JUMP(SLJIT_JUMP));
5619 add_jump(compiler, &found, JUMP(SLJIT_NOT_ZERO));
5622 add_jump(compiler, backtracks, JUMP(SLJIT_JUMP));
5630 add_jump(compiler, (cc[-1] & XCL_NOT) == 0 ? backtracks : &found, CMP(SLJIT_GREATER, TMP2, 0, SLJIT_IMM, max - min));
5652 add_jump(compiler, list, JUMP(SLJIT_NOT_ZERO));
5710 add_jump(compiler, compares > 0 ? list : backtracks, jump);
6016 add_jump(compiler, compares > 0 ? list : backtracks, jump);
6042 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, STR_PTR, 0, TMP1, 0));
6048 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, STR_PTR, 0, TMP1, 0));
6053 add_jump(compiler, &common->wordboundary, JUMP(SLJIT_FAST_CALL));
6054 add_jump(compiler, backtracks, JUMP(type == OP_NOT_WORD_BOUNDARY ? SLJIT_NOT_ZERO : SLJIT_ZERO));
6065 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, STR_END, 0));
6073 add_jump(compiler, backtracks, JUMP(SLJIT_NOT_EQUAL));
6075 add_jump(compiler, backtracks, JUMP(SLJIT_JUMP));
6079 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, (common->newline >> 8) & 0xff));
6080 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, common->newline & 0xff));
6086 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, STR_END, 0));
6087 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, common->newline));
6096 add_jump(compiler, backtracks, JUMP(SLJIT_LESS));
6100 add_jump(compiler, backtracks, JUMP(SLJIT_JUMP));
6106 add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP2, 0, STR_END, 0));
6107 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, CHAR_NL));
6113 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, STR_PTR, 0, STR_END, 0));
6114 add_jump(compiler, &common->anynewline, JUMP(SLJIT_FAST_CALL));
6115 add_jump(compiler, backtracks, JUMP(SLJIT_ZERO));
6126 add_jump(compiler, backtracks, CMP(SLJIT_LESS, STR_PTR, 0, STR_END, 0));
6133 add_jump(compiler, backtracks, JUMP(SLJIT_NOT_ZERO));
6139 add_jump(compiler, backtracks, CMP(SLJIT_LESS, STR_PTR, 0, STR_END, 0));
6148 add_jump(compiler, backtracks, JUMP(SLJIT_NOT_ZERO));
6158 add_jump(compiler, backtracks, CMP(SLJIT_GREATER, TMP2, 0, STR_END, 0));
6163 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, (common->newline >> 8) & 0xff));
6165 add_jump(compiler, backtracks, JUMP(SLJIT_JUMP));
6170 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, (common->newline >> 8) & 0xff));
6171 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, common->newline & 0xff));
6184 add_jump(compiler, backtracks, CMP(SLJIT_GREATER, STR_PTR, 0, TMP1, 0));
6186 add_jump(compiler, backtracks, JUMP(SLJIT_NOT_ZERO));
6194 add_jump(compiler, backtracks, JUMP(SLJIT_NOT_ZERO));
6199 add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0));
6204 add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP2, 0, TMP1, 0));
6207 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, (common->newline >> 8) & 0xff));
6208 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, common->newline & 0xff));
6230 add_jump(compiler, backtracks, CMP(SLJIT_LESS_EQUAL, STR_PTR, 0, TMP3, 0));
6240 add_jump(compiler, backtracks, CMP(SLJIT_LESS, STR_PTR, 0, TMP1, 0));
6277 add_jump(compiler, backtracks, JUMP(type == OP_DIGIT ? SLJIT_ZERO : SLJIT_NOT_ZERO));
6291 add_jump(compiler, backtracks, JUMP(type == OP_WHITESPACE ? SLJIT_ZERO : SLJIT_NOT_ZERO));
6305 add_jump(compiler, backtracks, JUMP(type == OP_WORDCHAR ? SLJIT_ZERO : SLJIT_NOT_ZERO));
6317 add_jump(compiler, &end_list, CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0));
6322 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, common->newline & 0xff));
6387 add_jump(compiler, &end_list, CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0));
6406 add_jump(compiler, &common->hspace, JUMP(SLJIT_FAST_CALL));
6407 add_jump(compiler, backtracks, JUMP(type == OP_NOT_HSPACE ? SLJIT_NOT_ZERO : SLJIT_ZERO));
6415 add_jump(compiler, &common->vspace, JUMP(SLJIT_FAST_CALL));
6416 add_jump(compiler, backtracks, JUMP(type == OP_NOT_VSPACE ? SLJIT_NOT_ZERO : SLJIT_ZERO));
6424 add_jump(compiler, &common->getucd, JUMP(SLJIT_FAST_CALL));
6434 add_jump(compiler, &common->getucd, JUMP(SLJIT_FAST_CALL));
6469 add_jump(compiler, backtracks, CMP(SLJIT_GREATER, STR_PTR, 0, STR_END, 0));
6493 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, c));
6502 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, c | bit));
6506 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, oc));
6525 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, c));
6530 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP2, 0, SLJIT_IMM, c | 0x20));
6553 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, c));
6563 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, c | bit));
6567 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, c));
6568 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, oc));
6595 add_jump(compiler, backtracks, jump[0]);
6603 add_jump(compiler, backtracks, jump[0]);
6613 add_jump(compiler, backtracks, JUMP(SLJIT_ZERO));
6685 add_jump(compiler, backtracks, CMP(SLJIT_GREATER, STR_PTR, 0, STR_END, 0));
6706 backtrack = sljit_alloc_memory(compiler, (size)); \
6707 if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler))) \
6719 backtrack = sljit_alloc_memory(compiler, (size)); \
6720 if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler))) \
6749 add_jump(compiler, &found, CMP(SLJIT_NOT_EQUAL, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset), TMP1, 0));
6756 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset), TMP1, 0));
6776 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(1)));
6797 sljit_emit_ijump(compiler, SLJIT_CALL3, SLJIT_IMM, SLJIT_FUNC_OFFSET(do_utf_caselesscmp));
6800 add_jump(compiler, backtracks, CMP(SLJIT_LESS_EQUAL, SLJIT_RETURN_REG, 0, SLJIT_IMM, 1));
6803 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, SLJIT_RETURN_REG, 0, SLJIT_IMM, 0));
6806 add_jump(compiler, backtracks, JUMP(SLJIT_JUMP));
6825 add_jump(compiler, backtracks, partial);
6827 add_jump(compiler, *cc == OP_REF ? &common->casefulcmp : &common->caselesscmp, JUMP(SLJIT_FAST_CALL));
6828 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, 0));
6839 add_jump(compiler, *cc == OP_REF ? &common->casefulcmp : &common->caselesscmp, JUMP(SLJIT_FAST_CALL));
6840 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, 0));
6843 add_jump(compiler, backtracks, JUMP(SLJIT_JUMP));
6851 add_jump(compiler, backtracks, jump);
6945 add_jump(compiler, &backtrack->topbacktracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(1)));
7025 add_jump(compiler, &backtrack->topbacktracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(1)));
7039 add_jump(compiler, &backtrack->topbacktracks, CMP(SLJIT_GREATER_EQUAL, SLJIT_MEM1(STACK_TOP), STACK(1), SLJIT_IMM, max));
7095 entry = sljit_alloc_memory(compiler, sizeof(recurse_entry));
7096 if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler)))
7125 add_jump(compiler, &entry->calls, JUMP(SLJIT_FAST_CALL));
7129 add_jump(compiler, &backtrack->topbacktracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, 0));
7230 sljit_emit_ijump(compiler, SLJIT_CALL3, SLJIT_IMM, SLJIT_FUNC_OFFSET(do_callout));
7237 add_jump(compiler, &backtrack->topbacktracks, JUMP(SLJIT_SIG_GREATER));
7239 add_jump(compiler, &common->forced_quit, JUMP(SLJIT_SIG_LESS));
7409 if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler)))
7453 add_jump(compiler, &common->revertframes, JUMP(SLJIT_FAST_CALL));
7484 add_jump(compiler, found, JUMP(SLJIT_JUMP));
7487 if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler)))
7529 add_jump(compiler, &common->revertframes, JUMP(SLJIT_FAST_CALL));
7571 add_jump(compiler, target, jump);
7632 add_jump(compiler, &common->revertframes, JUMP(SLJIT_FAST_CALL));
8120 add_jump(compiler, &(BACKTRACK_AS(bracket_backtrack)->u.condfailed),
8142 add_jump(compiler, &(BACKTRACK_AS(bracket_backtrack)->u.condfailed), JUMP(SLJIT_ZERO));
8211 assert = sljit_alloc_memory(compiler, sizeof(assert_backtrack));
8212 if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler)))
8222 if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler)))
8348 add_jump(compiler, &common->revertframes, JUMP(SLJIT_FAST_CALL));
8533 if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler)))
8562 add_jump(compiler, &emptymatch, CMP(SLJIT_EQUAL, TMP1, 0, STR_PTR, 0));
8593 add_jump(compiler, &emptymatch, CMP(SLJIT_EQUAL, TMP1, 0, STR_PTR, 0));
8608 if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler)))
8646 add_jump(compiler, &backtrack->topbacktracks, CMP(SLJIT_NOT_EQUAL, SLJIT_MEM1(STACK_TOP), STACK(stacksize - 1), SLJIT_IMM, 0));
8648 add_jump(compiler, &backtrack->topbacktracks, CMP(SLJIT_NOT_EQUAL, SLJIT_MEM1(TMP2), (stacksize - 1) * sizeof(sljit_sw), SLJIT_IMM, 0));
8854 add_jump(compiler, &backtrack->topbacktracks, CMP(SLJIT_LESS_EQUAL, STR_PTR, 0, SLJIT_MEM1(SLJIT_SP), fast_str_ptr));
8867 add_jump(compiler, &backtrack->topbacktracks, CMP(SLJIT_GREATER, TMP1, 0, STR_END, 0));
8972 add_jump(compiler, &backtrack->topbacktracks, JUMP(SLJIT_ZERO));
8992 add_jump(compiler, &no_match, JUMP(SLJIT_ZERO));
9206 add_jump(compiler, &backtrack->topbacktracks, JUMP(SLJIT_JUMP));
9214 add_jump(compiler, &common->accept, JUMP(SLJIT_JUMP));
9221 add_jump(compiler, &common->accept, CMP(SLJIT_NOT_EQUAL, STR_PTR, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(0)));
9227 add_jump(compiler
9230 add_jump(compiler, &common->accept, JUMP(SLJIT_ZERO));
9235 add_jump(compiler, &common->accept, CMP(SLJIT_NOT_EQUAL, TMP2, 0, STR_PTR, 0));
9238 add_jump(compiler, &backtrack->topbacktracks, JUMP(SLJIT_JUMP));
9644 if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler))) \
9727 add_jump(compiler, &jumplist, JUMP(SLJIT_ZERO));
9879 add_jump(compiler, &common->revertframes, JUMP(SLJIT_FAST_CALL));
10056 add_jump(compiler, &common->revertframes, JUMP(SLJIT_FAST_CALL));
10083 sljit_emit_ijump(compiler, SLJIT_JUMP, SLJIT_MEM1(TMP1), (sljit_sw)next_update_addr);
10108 add_jump(compiler, &common->revertframes, JUMP(SLJIT_FAST_CALL));
10150 if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler)))
10249 add_jump(compiler, &common->revertframes, JUMP(SLJIT_FAST_CALL));
10385 add_jump(compiler, &common->revertframes, JUMP(SLJIT_FAST_CALL));
10445 add_jump(compiler, &common->then_trap->quit, JUMP(SLJIT_JUMP));
10450 add_jump(compiler, &common->positive_assert_quit, JUMP(SLJIT_JUMP));
10458 add_jump(compiler, &common->quit, JUMP(SLJIT_JUMP));
10470 sljit_emit_ijump(compiler, SLJIT_CALL2, SLJIT_IMM, SLJIT_FUNC_OFFSET(do_search_mark));
10474 add_jump(compiler, &common->reset_match, CMP(SLJIT_NOT_EQUAL, STR_PTR, 0, SLJIT_IMM, -1));
10482 add_jump(compiler, &common->reset_match, JUMP(SLJIT_JUMP));
10507 add_jump(compiler, &common->revertframes, JUMP(SLJIT_FAST_CALL));
10676 add_jump(compiler, &common->quit, JUMP(SLJIT_JUMP));
10730 sljit_emit_fast_enter(compiler, TMP2, 0);
10760 if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler)))
10763 add_jump(compiler, &common->accept, JUMP(SLJIT_JUMP));
10766 if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler)))
10788 add_jump(compiler, &common->revertframes, JUMP(SLJIT_FAST_CALL));
10793 add_jump(compiler, &common->quit, JUMP(SLJIT_JUMP));
10801 add_jump(compiler, &common->revertframes, JUMP(SLJIT_FAST_CALL));
10825 sljit_emit_fast_return(compiler, SLJIT_MEM1(STACK_TOP), 0);
10834 struct sljit_compiler *compiler;
11038 compiler = sljit_create_compiler(allocator_data);
11039 if (!compiler)
11045 common->compiler = compiler;
11048 sljit_emit_enter(compiler, 0, 1, 5, 5, 0, 0, private_data_size);
11129 if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler)))
11131 sljit_free_compiler(compiler);
11134 PRIV(jit_free_rodata)(common->read_only_data_head, compiler->allocator_data);
11157 sljit_emit_return(compiler, SLJIT_MOV, SLJIT_RETURN_REG, 0);
11169 if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler)))
11171 sljit_free_compiler(compiler);
11174 PRIV(jit_free_rodata)(common->read_only_data_head, compiler->allocator_data);
11258 if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler)))
11260 sljit_free_compiler(compiler);
11263 PRIV(jit_free_rodata)(common->read_only_data_head, compiler->allocator_data);
11276 sljit_emit_fast_enter(compiler, SLJIT_MEM1(SLJIT_SP), LOCALS0);
11283 sljit_emit_ijump(compiler, SLJIT_CALL2, SLJIT_IMM, SLJIT_FUNC_OFFSET(sljit_stack_resize));
11290 sljit_emit_fast_return(compiler, SLJIT_MEM1(SLJIT_SP), LOCALS0);
11374 executable_func = sljit_generate_code(compiler);
11375 executable_size = sljit_get_generated_code_size(compiler);
11382 sljit_free_compiler(compiler);
11385 PRIV(jit_free_rodata)(common->read_only_data_head, compiler->allocator_data);
11400 PRIV(jit_free_rodata)(common->read_only_data_head, compiler->allocator_data);
11493 /* JIT compiler uses an all-in-one approach. This improves security,