Lines Matching refs:backtracks

302     jump_list *backtracks;  member
3614 static void detect_partial_match(compiler_common *common, jump_list **backtracks) in detect_partial_match() argument
3621 add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0)); in detect_partial_match()
3628 …add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, SLJIT_MEM1(SLJIT_SP), common->start_used_p… in detect_partial_match()
3630 …add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, SLJIT_MEM1(SLJIT_SP), common->start_used_ptr, SLJI… in detect_partial_match()
3635 add_jump(compiler, backtracks, JUMP(SLJIT_JUMP)); in detect_partial_match()
3676 …_char(compiler_common *common, sljit_u32 max, sljit_s32 dst, sljit_sw dstw, jump_list **backtracks) in peek_char() argument
3688 SLJIT_UNUSED_ARG(backtracks); in peek_char()
3703 if (backtracks && common->invalid_utf) in peek_char()
3704 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, INVALID_UTF_CHAR)); in peek_char()
3721 if (backtracks && common->invalid_utf) in peek_char()
3722 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, INVALID_UTF_CHAR)); in peek_char()
3741 if (backtracks != NULL) in peek_char()
3744 add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 0x110000)); in peek_char()
3745 add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP2, 0, SLJIT_IMM, 0xe000 - 0xd800)); in peek_char()
3760 static void peek_char_back(compiler_common *common, sljit_u32 max, jump_list **backtracks) in peek_char_back() argument
3771 SLJIT_UNUSED_ARG(backtracks); in peek_char_back()
3785 if (backtracks != NULL) in peek_char_back()
3786 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, INVALID_UTF_CHAR)); in peek_char_back()
3801 if (backtracks != NULL) in peek_char_back()
3802 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, INVALID_UTF_CHAR)); in peek_char_back()
3821 add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 0x110000)); in peek_char_back()
3822 add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP2, 0, SLJIT_IMM, 0xe000 - 0xd800)); in peek_char_back()
3834 jump_list **backtracks, sljit_u32 options) in read_char() argument
3849 SLJIT_UNUSED_ARG(backtracks); in read_char()
3871 if (backtracks != NULL) in read_char()
3872 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, INVALID_UTF_CHAR)); in read_char()
3962 if (backtracks != NULL) in read_char()
3963 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, INVALID_UTF_CHAR)); in read_char()
4008 if (backtracks != NULL) in read_char()
4011 add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 0x110000)); in read_char()
4012 add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP2, 0, SLJIT_IMM, 0xe000 - 0xd800)); in read_char()
4046 static void read_char7_type(compiler_common *common, jump_list **backtracks, BOOL negated) in read_char7_type() argument
4069 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, INVALID_UTF_CHAR)); in read_char7_type()
4083 static void read_char8_type(compiler_common *common, jump_list **backtracks, BOOL negated) in read_char8_type() argument
4094 SLJIT_UNUSED_ARG(backtracks); in read_char8_type()
4110 add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0)); in read_char8_type()
4116 add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0xe0 - 0xc2)); in read_char8_type()
4122 add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0x40)); in read_char8_type()
4133 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, INVALID_UTF_CHAR)); in read_char8_type()
4150 add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0x110000)); in read_char8_type()
4188 add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0x400)); in read_char8_type()
4189 add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0)); in read_char8_type()
4194 add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0x400)); in read_char8_type()
4202 static void move_back(compiler_common *common, jump_list **backtracks, BOOL must_be_valid) in move_back() argument
4209 SLJIT_UNUSED_ARG(backtracks); in move_back()
4228 if (backtracks != NULL) in move_back()
4229 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, 0)); in move_back()
4252 if (backtracks != NULL) in move_back()
4253 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, 0)); in move_back()
4270 if (backtracks != NULL) in move_back()
4272 add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 0x110000)); in move_back()
4288 static void check_newlinechar(compiler_common *common, int nltype, jump_list **backtracks, BOOL jum… in check_newlinechar() argument
4298 add_jump(compiler, backtracks, JUMP(jumpifmatch ? SLJIT_NOT_ZERO : SLJIT_ZERO)); in check_newlinechar()
4304 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, CHAR_CR)); in check_newlinechar()
4305 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, CHAR_NL)); in check_newlinechar()
4310 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, CHAR_NL)); in check_newlinechar()
4317 …add_jump(compiler, backtracks, CMP(jumpifmatch ? SLJIT_EQUAL : SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM… in check_newlinechar()
6265 …s(compiler_common *common, const sljit_u8 *bits, BOOL nclass, BOOL invert, jump_list **backtracks);
6628 …es(compiler_common *common, const sljit_u8 *bits, BOOL nclass, BOOL invert, jump_list **backtracks) in optimize_class_ranges() argument
6677 add_jump(compiler, backtracks, JUMP(SLJIT_JUMP)); in optimize_class_ranges()
6686 …add_jump(compiler, backtracks, CMP(bit == 0 ? SLJIT_LESS : SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM… in optimize_class_ranges()
6693 …add_jump(compiler, backtracks, CMP(bit != 0 ? SLJIT_LESS : SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM… in optimize_class_ranges()
6696 …add_jump(compiler, backtracks, CMP(bit != 0 ? SLJIT_EQUAL : SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, r… in optimize_class_ranges()
6702 add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, ranges[2])); in optimize_class_ranges()
6706 add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, ranges[1] - ranges[0])); in optimize_class_ranges()
6709 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, ranges[0])); in optimize_class_ranges()
6713 add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, ranges[0])); in optimize_class_ranges()
6717 add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, ranges[2] - ranges[1])); in optimize_class_ranges()
6720 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, ranges[1])); in optimize_class_ranges()
6734 …add_jump(compiler, backtracks, CMP(bit != 0 ? SLJIT_LESS : SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM… in optimize_class_ranges()
6737 …add_jump(compiler, backtracks, CMP(bit != 0 ? SLJIT_EQUAL : SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, r… in optimize_class_ranges()
6747 add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, ranges[1] - ranges[0])); in optimize_class_ranges()
6751 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, ranges[0])); in optimize_class_ranges()
6756 add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, ranges[3] - ranges[2])); in optimize_class_ranges()
6759 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, ranges[2] - i)); in optimize_class_ranges()
6764 …add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, ranges[3] - ranges[0])… in optimize_class_ranges()
6768 add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, ranges[2] - ranges[1])); in optimize_class_ranges()
6771 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, ranges[1] - ranges[0])); in optimize_class_ranges()
6780 …rs(compiler_common *common, const sljit_u8 *bits, BOOL nclass, BOOL invert, jump_list **backtracks) in optimize_class_chars() argument
6877 add_jump(compiler, backtracks, CMP(type, TMP2, 0, SLJIT_IMM, 0)); in optimize_class_chars()
6881 …ss(compiler_common *common, const sljit_u8 *bits, BOOL nclass, BOOL invert, jump_list **backtracks) in optimize_class() argument
6884 if (optimize_class_ranges(common, bits, nclass, invert, backtracks)) in optimize_class()
6886 return optimize_class_chars(common, bits, nclass, invert, backtracks); in optimize_class()
7162 compare_context *context, jump_list **backtracks) in byte_sequence_compare() argument
7262 …add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, context->sourcereg, 0, SLJIT_IMM, context->c.a… in byte_sequence_compare()
7268 …add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, context->sourcereg, 0, SLJIT_IMM, context->c.a… in byte_sequence_compare()
7275 …add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, context->sourcereg, 0, SLJIT_IMM, context->c.a… in byte_sequence_compare()
7297 …add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, context->sourcereg, 0, SLJIT_IMM, *cc | otherc… in byte_sequence_compare()
7300 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, context->sourcereg, 0, SLJIT_IMM, *cc)); in byte_sequence_compare()
7336 …(compiler_common *common, PCRE2_UCHAR type, PCRE2_SPTR cc, jump_list **backtracks, BOOL check_str_…
7338 …ic void compile_xclass_matchingpath(compiler_common *common, PCRE2_SPTR cc, jump_list **backtracks) in compile_xclass_matchingpath() argument
7342 jump_list **list = (cc[0] & XCL_NOT) == 0 ? &found : backtracks; in compile_xclass_matchingpath()
7421 compile_char1_matchingpath(common, OP_ALLANY, cc, backtracks, FALSE); in compile_xclass_matchingpath()
7422 if (list == backtracks) in compile_xclass_matchingpath()
7423 add_jump(compiler, backtracks, JUMP(SLJIT_JUMP)); in compile_xclass_matchingpath()
7467 read_char(common, min, max, backtracks, READ_CHAR_UPDATE_STR_PTR); in compile_xclass_matchingpath()
7471 read_char(common, min, max, (needstype || needsscript) ? backtracks : NULL, 0); in compile_xclass_matchingpath()
7492 add_jump(compiler, backtracks, JUMP(SLJIT_JUMP)); in compile_xclass_matchingpath()
7500 …add_jump(compiler, (cc[-1] & XCL_NOT) == 0 ? backtracks : &found, CMP(SLJIT_GREATER, TMP2, 0, SLJI… in compile_xclass_matchingpath()
7589 invertcmp = (compares == 0 && list != backtracks); in compile_xclass_matchingpath()
7593 add_jump(compiler, compares > 0 ? list : backtracks, jump); in compile_xclass_matchingpath()
7659 invertcmp = (compares == 0 && list != backtracks); in compile_xclass_matchingpath()
7924 add_jump(compiler, compares > 0 ? list : backtracks, jump); in compile_xclass_matchingpath()
7936 …tion_matchingpath(compiler_common *common, PCRE2_UCHAR type, PCRE2_SPTR cc, jump_list **backtracks) in compile_simple_assertion_matchingpath() argument
7955 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, STR_PTR, 0, TMP1, 0)); in compile_simple_assertion_matchingpath()
7966 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, STR_PTR, 0, TMP1, 0)); in compile_simple_assertion_matchingpath()
7975 …add_jump(compiler, backtracks, CMP((type == OP_NOT_WORD_BOUNDARY) ? SLJIT_NOT_EQUAL : SLJIT_SIG_LE… in compile_simple_assertion_matchingpath()
7980 add_jump(compiler, backtracks, JUMP(type == OP_NOT_WORD_BOUNDARY ? SLJIT_NOT_ZERO : SLJIT_ZERO)); in compile_simple_assertion_matchingpath()
7991 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, STR_END, 0)); in compile_simple_assertion_matchingpath()
7999 add_jump(compiler, backtracks, JUMP(SLJIT_NOT_EQUAL)); in compile_simple_assertion_matchingpath()
8001 add_jump(compiler, backtracks, JUMP(SLJIT_JUMP)); in compile_simple_assertion_matchingpath()
8005 …add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, (common->newline >> 8) & 0… in compile_simple_assertion_matchingpath()
8006 … add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, common->newline & 0xff)); in compile_simple_assertion_matchingpath()
8012 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, STR_END, 0)); in compile_simple_assertion_matchingpath()
8013 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, common->newline)); in compile_simple_assertion_matchingpath()
8022 add_jump(compiler, backtracks, JUMP(SLJIT_NOT_EQUAL) /* LESS */); in compile_simple_assertion_matchingpath()
8026 add_jump(compiler, backtracks, JUMP(SLJIT_JUMP)); in compile_simple_assertion_matchingpath()
8032 add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP2, 0, STR_END, 0)); in compile_simple_assertion_matchingpath()
8033 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, CHAR_NL)); in compile_simple_assertion_matchingpath()
8038 read_char(common, common->nlmin, common->nlmax, backtracks, READ_CHAR_UPDATE_STR_PTR); in compile_simple_assertion_matchingpath()
8039 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, STR_PTR, 0, STR_END, 0)); in compile_simple_assertion_matchingpath()
8042 add_jump(compiler, backtracks, JUMP(SLJIT_ZERO)); in compile_simple_assertion_matchingpath()
8054 add_jump(compiler, backtracks, CMP(SLJIT_LESS, STR_PTR, 0, STR_END, 0)); in compile_simple_assertion_matchingpath()
8067 add_jump(compiler, backtracks, JUMP(SLJIT_NOT_ZERO32)); in compile_simple_assertion_matchingpath()
8070 compile_simple_assertion_matchingpath(common, OP_EODN, cc, backtracks); in compile_simple_assertion_matchingpath()
8073 add_jump(compiler, backtracks, CMP(SLJIT_LESS, STR_PTR, 0, STR_END, 0)); in compile_simple_assertion_matchingpath()
8087 add_jump(compiler, backtracks, JUMP(SLJIT_NOT_ZERO32)); in compile_simple_assertion_matchingpath()
8097 add_jump(compiler, backtracks, CMP(SLJIT_GREATER, TMP2, 0, STR_END, 0)); in compile_simple_assertion_matchingpath()
8102 …add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, (common->newline >> 8) & 0… in compile_simple_assertion_matchingpath()
8104 add_jump(compiler, backtracks, JUMP(SLJIT_JUMP)); in compile_simple_assertion_matchingpath()
8109 …add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, (common->newline >> 8) & 0… in compile_simple_assertion_matchingpath()
8110 … add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, common->newline & 0xff)); in compile_simple_assertion_matchingpath()
8115 check_newlinechar(common, common->nltype, backtracks, FALSE); in compile_simple_assertion_matchingpath()
8125 add_jump(compiler, backtracks, CMP(SLJIT_GREATER, STR_PTR, 0, TMP1, 0)); in compile_simple_assertion_matchingpath()
8127 add_jump(compiler, backtracks, JUMP(SLJIT_NOT_ZERO32)); in compile_simple_assertion_matchingpath()
8132 add_jump(compiler, backtracks, CMP(SLJIT_GREATER, STR_PTR, 0, TMP1, 0)); in compile_simple_assertion_matchingpath()
8134 add_jump(compiler, backtracks, JUMP(SLJIT_NOT_ZERO32)); in compile_simple_assertion_matchingpath()
8153 add_jump(compiler, backtracks, JUMP(SLJIT_NOT_ZERO32)); in compile_simple_assertion_matchingpath()
8158 add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0)); in compile_simple_assertion_matchingpath()
8163 add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP1, 0, TMP2, 0)); in compile_simple_assertion_matchingpath()
8166 …add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, (common->newline >> 8) & 0… in compile_simple_assertion_matchingpath()
8167 … add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, common->newline & 0xff)); in compile_simple_assertion_matchingpath()
8171 peek_char_back(common, common->nlmax, backtracks); in compile_simple_assertion_matchingpath()
8172 check_newlinechar(common, common->nltype, backtracks, FALSE); in compile_simple_assertion_matchingpath()
8193 add_jump(compiler, backtracks, CMP(SLJIT_LESS_EQUAL, STR_PTR, 0, TMP2, 0)); in compile_simple_assertion_matchingpath()
8194 move_back(common, backtracks, FALSE); in compile_simple_assertion_matchingpath()
8202 add_jump(compiler, backtracks, CMP(SLJIT_LESS, STR_PTR, 0, TMP2, 0)); in compile_simple_assertion_matchingpath()
8420 …(compiler_common *common, PCRE2_UCHAR type, PCRE2_SPTR cc, jump_list **backtracks, BOOL check_str_… in compile_char1_matchingpath() argument
8438 detect_partial_match(common, backtracks); in compile_char1_matchingpath()
8441 read_char7_type(common, backtracks, type == OP_NOT_DIGIT); in compile_char1_matchingpath()
8444 read_char8_type(common, backtracks, type == OP_NOT_DIGIT); in compile_char1_matchingpath()
8447 add_jump(compiler, backtracks, JUMP(type == OP_DIGIT ? SLJIT_ZERO : SLJIT_NOT_ZERO)); in compile_char1_matchingpath()
8453 detect_partial_match(common, backtracks); in compile_char1_matchingpath()
8456 read_char7_type(common, backtracks, type == OP_NOT_WHITESPACE); in compile_char1_matchingpath()
8459 read_char8_type(common, backtracks, type == OP_NOT_WHITESPACE); in compile_char1_matchingpath()
8461 add_jump(compiler, backtracks, JUMP(type == OP_WHITESPACE ? SLJIT_ZERO : SLJIT_NOT_ZERO)); in compile_char1_matchingpath()
8467 detect_partial_match(common, backtracks); in compile_char1_matchingpath()
8470 read_char7_type(common, backtracks, type == OP_NOT_WORDCHAR); in compile_char1_matchingpath()
8473 read_char8_type(common, backtracks, type == OP_NOT_WORDCHAR); in compile_char1_matchingpath()
8475 add_jump(compiler, backtracks, JUMP(type == OP_WORDCHAR ? SLJIT_ZERO : SLJIT_NOT_ZERO)); in compile_char1_matchingpath()
8480 detect_partial_match(common, backtracks); in compile_char1_matchingpath()
8481 read_char(common, common->nlmin, common->nlmax, backtracks, READ_CHAR_UPDATE_STR_PTR); in compile_char1_matchingpath()
8492 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, common->newline & 0xff)); in compile_char1_matchingpath()
8497 check_newlinechar(common, common->nltype, backtracks, TRUE); in compile_char1_matchingpath()
8502 detect_partial_match(common, backtracks); in compile_char1_matchingpath()
8508 read_char(common, 0, READ_CHAR_MAX, backtracks, READ_CHAR_UPDATE_STR_PTR); in compile_char1_matchingpath()
8537 detect_partial_match(common, backtracks); in compile_char1_matchingpath()
8550 detect_partial_match(common, backtracks); in compile_char1_matchingpath()
8551 compile_xclass_matchingpath(common, propdata, backtracks); in compile_char1_matchingpath()
8557 detect_partial_match(common, backtracks); in compile_char1_matchingpath()
8571 check_newlinechar(common, common->bsr_nltype, backtracks, FALSE); in compile_char1_matchingpath()
8580 detect_partial_match(common, backtracks); in compile_char1_matchingpath()
8583 read_char(common, 0x9, 0x3000, backtracks, READ_CHAR_UPDATE_STR_PTR); in compile_char1_matchingpath()
8589 add_jump(compiler, backtracks, JUMP(type == OP_NOT_HSPACE ? SLJIT_NOT_ZERO : SLJIT_ZERO)); in compile_char1_matchingpath()
8595 detect_partial_match(common, backtracks); in compile_char1_matchingpath()
8598 read_char(common, 0xa, 0x2029, backtracks, READ_CHAR_UPDATE_STR_PTR); in compile_char1_matchingpath()
8604 add_jump(compiler, backtracks, JUMP(type == OP_NOT_VSPACE ? SLJIT_NOT_ZERO : SLJIT_ZERO)); in compile_char1_matchingpath()
8610 detect_partial_match(common, backtracks); in compile_char1_matchingpath()
8619 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, SLJIT_RETURN_REG, 0, SLJIT_IMM, 0)); in compile_char1_matchingpath()
8624 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, SLJIT_RETURN_REG, 0, SLJIT_IMM, 0)); in compile_char1_matchingpath()
8647 detect_partial_match(common, backtracks); in compile_char1_matchingpath()
8653 add_jump(compiler, backtracks, CMP(SLJIT_GREATER, STR_PTR, 0, STR_END, 0)); in compile_char1_matchingpath()
8660 return byte_sequence_compare(common, type == OP_CHARI, cc, &context, backtracks); in compile_char1_matchingpath()
8675 add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0)); in compile_char1_matchingpath()
8686 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, c)); in compile_char1_matchingpath()
8691 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, oc)); in compile_char1_matchingpath()
8699 detect_partial_match(common, backtracks); in compile_char1_matchingpath()
8711 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, c)); in compile_char1_matchingpath()
8716 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP2, 0, SLJIT_IMM, c | 0x20)); in compile_char1_matchingpath()
8738 read_char(common, c, c, backtracks, READ_CHAR_UPDATE_STR_PTR); in compile_char1_matchingpath()
8739 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, c)); in compile_char1_matchingpath()
8744 read_char(common, c < oc ? c : oc, c > oc ? c : oc, backtracks, READ_CHAR_UPDATE_STR_PTR); in compile_char1_matchingpath()
8749 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, c | bit)); in compile_char1_matchingpath()
8753 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, c)); in compile_char1_matchingpath()
8754 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, oc)); in compile_char1_matchingpath()
8762 detect_partial_match(common, backtracks); in compile_char1_matchingpath()
8767 read_char(common, 0, bit, backtracks, READ_CHAR_UPDATE_STR_PTR); in compile_char1_matchingpath()
8772 read_char(common, 0, 255, backtracks, READ_CHAR_UPDATE_STR_PTR); in compile_char1_matchingpath()
8777 if (optimize_class(common, (const sljit_u8 *)cc, type == OP_NCLASS, FALSE, backtracks)) in compile_char1_matchingpath()
8787 add_jump(compiler, backtracks, jump[0]); in compile_char1_matchingpath()
8795 add_jump(compiler, backtracks, jump[0]); in compile_char1_matchingpath()
8805 add_jump(compiler, backtracks, JUMP(SLJIT_ZERO)); in compile_char1_matchingpath()
8816 detect_partial_match(common, backtracks); in compile_char1_matchingpath()
8817 compile_xclass_matchingpath(common, cc + LINK_SIZE, backtracks); in compile_char1_matchingpath()
8825 …harn_matchingpath(compiler_common *common, PCRE2_SPTR cc, PCRE2_SPTR ccend, jump_list **backtracks) in compile_charn_matchingpath() argument
8877 add_jump(compiler, backtracks, CMP(SLJIT_GREATER, STR_PTR, 0, STR_END, 0)); in compile_charn_matchingpath()
8883 …do cc = byte_sequence_compare(common, *cc == OP_CHARI, cc + 1, &context, backtracks); while (conte… in compile_charn_matchingpath()
8888 return compile_char1_matchingpath(common, *cc, cc + 1, backtracks, TRUE); in compile_charn_matchingpath()
8923 static void compile_dnref_search(compiler_common *common, PCRE2_SPTR cc, jump_list **backtracks) in compile_dnref_search() argument
8947 if (backtracks != NULL && !common->unset_backref) in compile_dnref_search()
8948 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset), TMP1, 0)); in compile_dnref_search()
8953 static void compile_ref_matchingpath(compiler_common *common, PCRE2_SPTR cc, jump_list **backtracks in compile_ref_matchingpath() argument
8976 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(1))); in compile_ref_matchingpath()
8992 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, TMP2, 0)); in compile_ref_matchingpath()
9053 add_jump(compiler, backtracks, JUMP(SLJIT_JUMP)); in compile_ref_matchingpath()
9063 add_jump(compiler, backtracks, JUMP(SLJIT_JUMP)); in compile_ref_matchingpath()
9086 add_jump(compiler, backtracks, partial); in compile_ref_matchingpath()
9089 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, 0)); in compile_ref_matchingpath()
9101 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, 0)); in compile_ref_matchingpath()
9104 add_jump(compiler, backtracks, JUMP(SLJIT_JUMP)); in compile_ref_matchingpath()
9112 add_jump(compiler, backtracks, jump); in compile_ref_matchingpath()
11246 …e_char1_matchingpath(common, type, cc, &BACKTRACK_AS(char_iterator_backtrack)->u.backtracks, TRUE); in compile_iterator_matchingpath()
11508 …e_char1_matchingpath(common, type, cc, &BACKTRACK_AS(char_iterator_backtrack)->u.backtracks, TRUE); in compile_iterator_matchingpath()
12134 set_jumps(CURRENT_AS(char_iterator_backtrack)->u.backtracks, LABEL()); in compile_iterator_backtrackingpath()
12202 set_jumps(CURRENT_AS(char_iterator_backtrack)->u.backtracks, LABEL()); in compile_iterator_backtrackingpath()