Lines Matching refs:backtracks

2547 static void detect_partial_match(compiler_common *common, jump_list **backtracks)  in detect_partial_match()  argument
2554 add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0)); in detect_partial_match()
2560 add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, SLJIT_MEM1(SLJIT_SP), common->start_used_pt… in detect_partial_match()
2564 add_jump(compiler, backtracks, JUMP(SLJIT_JUMP)); in detect_partial_match()
2897 static void check_newlinechar(compiler_common *common, int nltype, jump_list **backtracks, BOOL jum… in check_newlinechar() argument
2906 add_jump(compiler, backtracks, JUMP(jumpifmatch ? SLJIT_NOT_ZERO : SLJIT_ZERO)); in check_newlinechar()
2912 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, CHAR_CR)); in check_newlinechar()
2913 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, CHAR_NL)); in check_newlinechar()
2918 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, CHAR_NL)); in check_newlinechar()
2925 …add_jump(compiler, backtracks, CMP(jumpifmatch ? SLJIT_EQUAL : SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM… in check_newlinechar()
3962 …compiler_common *common, const pcre_uint8 *bits, BOOL nclass, BOOL invert, jump_list **backtracks);
4248 …(compiler_common *common, const pcre_uint8 *bits, BOOL nclass, BOOL invert, jump_list **backtracks) in check_class_ranges() argument
4296 add_jump(compiler, backtracks, JUMP(SLJIT_JUMP)); in check_class_ranges()
4305 …add_jump(compiler, backtracks, CMP(bit == 0 ? SLJIT_LESS : SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM… in check_class_ranges()
4312 …add_jump(compiler, backtracks, CMP(bit != 0 ? SLJIT_LESS : SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM… in check_class_ranges()
4315 …add_jump(compiler, backtracks, CMP(bit != 0 ? SLJIT_EQUAL : SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, r… in check_class_ranges()
4321 add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, ranges[2])); in check_class_ranges()
4325 add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, ranges[1] - ranges[0])); in check_class_ranges()
4328 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, ranges[0])); in check_class_ranges()
4332 add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, ranges[0])); in check_class_ranges()
4336 add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, ranges[2] - ranges[1])); in check_class_ranges()
4339 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, ranges[1])); in check_class_ranges()
4353 …add_jump(compiler, backtracks, CMP(bit != 0 ? SLJIT_LESS : SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM… in check_class_ranges()
4356 …add_jump(compiler, backtracks, CMP(bit != 0 ? SLJIT_EQUAL : SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, r… in check_class_ranges()
4366 add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, ranges[1] - ranges[0])); in check_class_ranges()
4370 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, ranges[0])); in check_class_ranges()
4375 add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, ranges[3] - ranges[2])); in check_class_ranges()
4378 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, ranges[2] - i)); in check_class_ranges()
4383 …add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, ranges[3] - ranges[0])… in check_class_ranges()
4387 add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, ranges[2] - ranges[1])); in check_class_ranges()
4390 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, ranges[1] - ranges[0])); in check_class_ranges()
4606 compare_context *context, jump_list **backtracks) in byte_sequence_compare() argument
4706 …add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, context->sourcereg, 0, SLJIT_IMM, context->c.a… in byte_sequence_compare()
4712 …add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, context->sourcereg, 0, SLJIT_IMM, context->c.a… in byte_sequence_compare()
4719 …add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, context->sourcereg, 0, SLJIT_IMM, context->c.a… in byte_sequence_compare()
4741 …add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, context->sourcereg, 0, SLJIT_IMM, *cc | otherc… in byte_sequence_compare()
4744 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, context->sourcereg, 0, SLJIT_IMM, *cc)); in byte_sequence_compare()
4780 …c void compile_xclass_matchingpath(compiler_common *common, pcre_uchar *cc, jump_list **backtracks) in compile_xclass_matchingpath() argument
4784 jump_list **list = (cc[0] & XCL_NOT) == 0 ? &found : backtracks; in compile_xclass_matchingpath()
4898 detect_partial_match(common, backtracks); in compile_xclass_matchingpath()
4916 add_jump(compiler, backtracks, JUMP(SLJIT_JUMP)); in compile_xclass_matchingpath()
4924 …add_jump(compiler, (cc[-1] & XCL_NOT) == 0 ? backtracks : &found, CMP(SLJIT_GREATER, TMP2, 0, SLJI… in compile_xclass_matchingpath()
5008 invertcmp = (compares == 0 && list != backtracks); in compile_xclass_matchingpath()
5070 if (list != backtracks) in compile_xclass_matchingpath()
5273 add_jump(compiler, compares > 0 ? list : backtracks, jump); in compile_xclass_matchingpath()
5285 …har1_matchingpath(compiler_common *common, pcre_uchar type, pcre_uchar *cc, jump_list **backtracks) in compile_char1_matchingpath() argument
5305 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, STR_PTR, 0, TMP1, 0)); in compile_char1_matchingpath()
5311 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, STR_PTR, 0, TMP1, 0)); in compile_char1_matchingpath()
5317 add_jump(compiler, backtracks, JUMP(type == OP_NOT_WORD_BOUNDARY ? SLJIT_NOT_ZERO : SLJIT_ZERO)); in compile_char1_matchingpath()
5323 detect_partial_match(common, backtracks); in compile_char1_matchingpath()
5332 add_jump(compiler, backtracks, JUMP(type == OP_DIGIT ? SLJIT_ZERO : SLJIT_NOT_ZERO)); in compile_char1_matchingpath()
5337 detect_partial_match(common, backtracks); in compile_char1_matchingpath()
5345 add_jump(compiler, backtracks, JUMP(type == OP_WHITESPACE ? SLJIT_ZERO : SLJIT_NOT_ZERO)); in compile_char1_matchingpath()
5350 detect_partial_match(common, backtracks); in compile_char1_matchingpath()
5358 add_jump(compiler, backtracks, JUMP(type == OP_WORDCHAR ? SLJIT_ZERO : SLJIT_NOT_ZERO)); in compile_char1_matchingpath()
5362 detect_partial_match(common, backtracks); in compile_char1_matchingpath()
5374 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, common->newline & 0xff)); in compile_char1_matchingpath()
5379 check_newlinechar(common, common->nltype, backtracks, TRUE); in compile_char1_matchingpath()
5383 detect_partial_match(common, backtracks); in compile_char1_matchingpath()
5411 detect_partial_match(common, backtracks); in compile_char1_matchingpath()
5424 compile_xclass_matchingpath(common, propdata, backtracks); in compile_char1_matchingpath()
5430 detect_partial_match(common, backtracks); in compile_char1_matchingpath()
5444 check_newlinechar(common, common->bsr_nltype, backtracks, FALSE); in compile_char1_matchingpath()
5452 detect_partial_match(common, backtracks); in compile_char1_matchingpath()
5455 add_jump(compiler, backtracks, JUMP(type == OP_NOT_HSPACE ? SLJIT_NOT_ZERO : SLJIT_ZERO)); in compile_char1_matchingpath()
5460 detect_partial_match(common, backtracks); in compile_char1_matchingpath()
5463 add_jump(compiler, backtracks, JUMP(type == OP_NOT_VSPACE ? SLJIT_NOT_ZERO : SLJIT_ZERO)); in compile_char1_matchingpath()
5468 detect_partial_match(common, backtracks); in compile_char1_matchingpath()
5513 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, STR_END, 0)); in compile_char1_matchingpath()
5521 add_jump(compiler, backtracks, JUMP(SLJIT_NOT_EQUAL)); in compile_char1_matchingpath()
5523 add_jump(compiler, backtracks, JUMP(SLJIT_JUMP)); in compile_char1_matchingpath()
5527 …add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, (common->newline >> 8) & 0… in compile_char1_matchingpath()
5528 … add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, common->newline & 0xff)); in compile_char1_matchingpath()
5534 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, STR_END, 0)); in compile_char1_matchingpath()
5535 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, common->newline)); in compile_char1_matchingpath()
5544 add_jump(compiler, backtracks, JUMP(SLJIT_LESS)); in compile_char1_matchingpath()
5548 add_jump(compiler, backtracks, JUMP(SLJIT_JUMP)); in compile_char1_matchingpath()
5554 add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP2, 0, STR_END, 0)); in compile_char1_matchingpath()
5555 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, CHAR_NL)); in compile_char1_matchingpath()
5561 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, STR_PTR, 0, STR_END, 0)); in compile_char1_matchingpath()
5563 add_jump(compiler, backtracks, JUMP(SLJIT_ZERO)); in compile_char1_matchingpath()
5574 add_jump(compiler, backtracks, CMP(SLJIT_LESS, STR_PTR, 0, STR_END, 0)); in compile_char1_matchingpath()
5581 add_jump(compiler, backtracks, CMP(SLJIT_GREATER, STR_PTR, 0, TMP1, 0)); in compile_char1_matchingpath()
5583 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, 0)); in compile_char1_matchingpath()
5591 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, 0)); in compile_char1_matchingpath()
5595 add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0)); in compile_char1_matchingpath()
5599 add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP2, 0, TMP1, 0)); in compile_char1_matchingpath()
5602 …add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, (common->newline >> 8) & 0… in compile_char1_matchingpath()
5603 … add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, common->newline & 0xff)); in compile_char1_matchingpath()
5609 check_newlinechar(common, common->nltype, backtracks, FALSE); in compile_char1_matchingpath()
5617 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, 0)); in compile_char1_matchingpath()
5620 compile_char1_matchingpath(common, OP_EODN, cc, backtracks); in compile_char1_matchingpath()
5623 add_jump(compiler, backtracks, CMP(SLJIT_LESS, STR_PTR, 0, STR_END, 0)); in compile_char1_matchingpath()
5632 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, 0)); in compile_char1_matchingpath()
5642 add_jump(compiler, backtracks, CMP(SLJIT_GREATER, TMP2, 0, STR_END, 0)); in compile_char1_matchingpath()
5647 …add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, (common->newline >> 8) & 0… in compile_char1_matchingpath()
5649 add_jump(compiler, backtracks, JUMP(SLJIT_JUMP)); in compile_char1_matchingpath()
5654 …add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, (common->newline >> 8) & 0… in compile_char1_matchingpath()
5655 … add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, common->newline & 0xff)); in compile_char1_matchingpath()
5660 check_newlinechar(common, common->nltype, backtracks, FALSE); in compile_char1_matchingpath()
5674 add_jump(compiler, backtracks, CMP(SLJIT_GREATER, STR_PTR, 0, STR_END, 0)); in compile_char1_matchingpath()
5681 return byte_sequence_compare(common, type == OP_CHARI, cc, &context, backtracks); in compile_char1_matchingpath()
5684 detect_partial_match(common, backtracks); in compile_char1_matchingpath()
5697 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, c)); in compile_char1_matchingpath()
5706 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, c | bit)); in compile_char1_matchingpath()
5710 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, oc)); in compile_char1_matchingpath()
5716 detect_partial_match(common, backtracks); in compile_char1_matchingpath()
5727 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, c)); in compile_char1_matchingpath()
5732 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP2, 0, SLJIT_IMM, c | 0x20)); in compile_char1_matchingpath()
5755 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, c)); in compile_char1_matchingpath()
5765 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, c | bit)); in compile_char1_matchingpath()
5769 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, c)); in compile_char1_matchingpath()
5770 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, oc)); in compile_char1_matchingpath()
5777 detect_partial_match(common, backtracks); in compile_char1_matchingpath()
5786 if (check_class_ranges(common, (const pcre_uint8 *)cc, type == OP_NCLASS, FALSE, backtracks)) in compile_char1_matchingpath()
5796 add_jump(compiler, backtracks, jump[0]); in compile_char1_matchingpath()
5804 add_jump(compiler, backtracks, jump[0]); in compile_char1_matchingpath()
5814 add_jump(compiler, backtracks, JUMP(SLJIT_ZERO)); in compile_char1_matchingpath()
5825 compile_xclass_matchingpath(common, cc + LINK_SIZE, backtracks); in compile_char1_matchingpath()
5840 add_jump(compiler, backtracks, CMP(SLJIT_LESS_EQUAL, STR_PTR, 0, TMP3, 0)); in compile_char1_matchingpath()
5850 add_jump(compiler, backtracks, CMP(SLJIT_LESS, STR_PTR, 0, TMP1, 0)); in compile_char1_matchingpath()
5859 …rn_matchingpath(compiler_common *common, pcre_uchar *cc, pcre_uchar *ccend, jump_list **backtracks) in compile_charn_matchingpath() argument
5911 add_jump(compiler, backtracks, CMP(SLJIT_GREATER, STR_PTR, 0, STR_END, 0)); in compile_charn_matchingpath()
5917 …do cc = byte_sequence_compare(common, *cc == OP_CHARI, cc + 1, &context, backtracks); while (conte… in compile_charn_matchingpath()
5922 return compile_char1_matchingpath(common, *cc, cc + 1, backtracks); in compile_charn_matchingpath()
5957 static void compile_dnref_search(compiler_common *common, pcre_uchar *cc, jump_list **backtracks) in compile_dnref_search() argument
5981 if (backtracks != NULL && !common->jscript_compat) in compile_dnref_search()
5982 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset), TMP1, 0)); in compile_dnref_search()
5987 …_ref_matchingpath(compiler_common *common, pcre_uchar *cc, jump_list **backtracks, BOOL withchecks… in compile_ref_matchingpath() argument
6002 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(1))); in compile_ref_matchingpath()
6026 add_jump(compiler, backtracks, CMP(SLJIT_LESS_EQUAL, SLJIT_RETURN_REG, 0, SLJIT_IMM, 1)); in compile_ref_matchingpath()
6029 add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, SLJIT_RETURN_REG, 0, SLJIT_IMM, 0)); in compile_ref_matchingpath()
6032 add_jump(compiler, backtracks, JUMP(SLJIT_JUMP)); in compile_ref_matchingpath()
6051 add_jump(compiler, backtracks, partial); in compile_ref_matchingpath()
6054 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, 0)); in compile_ref_matchingpath()
6066 add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, 0)); in compile_ref_matchingpath()
6069 add_jump(compiler, backtracks, JUMP(SLJIT_JUMP)); in compile_ref_matchingpath()
6077 add_jump(compiler, backtracks, jump); in compile_ref_matchingpath()