[Pcre-svn] [259] code/trunk/src/pcre2_jit_compile.c: Support…

トップ ページ
このメッセージを削除
著者: Subversion repository
日付:  
To: pcre-svn
題目: [Pcre-svn] [259] code/trunk/src/pcre2_jit_compile.c: Support alt circumflex in JIT.
Revision: 259
          http://www.exim.org/viewvc/pcre2?view=rev&revision=259
Author:   zherczeg
Date:     2015-04-27 08:02:34 +0100 (Mon, 27 Apr 2015)


Log Message:
-----------
Support alt circumflex in JIT.

Modified Paths:
--------------
    code/trunk/src/pcre2_jit_compile.c


Modified: code/trunk/src/pcre2_jit_compile.c
===================================================================
--- code/trunk/src/pcre2_jit_compile.c    2015-04-24 15:23:15 UTC (rev 258)
+++ code/trunk/src/pcre2_jit_compile.c    2015-04-27 07:02:34 UTC (rev 259)
@@ -428,6 +428,7 @@
   jump_list *caselesscmp;
   jump_list *reset_match;
   BOOL unset_backref;
+  BOOL alt_circumflex;
 #ifdef SUPPORT_UNICODE
   BOOL utf;
   BOOL use_ucp;
@@ -5540,7 +5541,9 @@
   jump[0] = JUMP(SLJIT_JUMP);
   JUMPHERE(jump[1]);


-  add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0));
+  if (!common->alt_circumflex)
+    add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0));
+
   if (common->nltype == NLTYPE_FIXED && common->newline > 255)
     {
     OP2(SLJIT_SUB, TMP2, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(2));
@@ -9877,6 +9880,7 @@
 common->name_count = re->name_count;
 common->name_entry_size = re->name_entry_size;
 common->unset_backref = (re->overall_options & PCRE2_MATCH_UNSET_BACKREF) != 0;
+common->alt_circumflex = (re->overall_options & PCRE2_ALT_CIRCUMFLEX) != 0;
 #ifdef SUPPORT_UNICODE
 /* PCRE_UTF[16|32] have the same value as PCRE_UTF8. */
 common->utf = (re->overall_options & PCRE2_UTF) != 0;