[Pcre-svn] [1239] code/trunk: Fix forward search in JIT when…

Startseite
Nachricht löschen
Autor: Subversion repository
Datum:  
To: pcre-svn
Betreff: [Pcre-svn] [1239] code/trunk: Fix forward search in JIT when link size is 3 or greater .
Revision: 1239
          http://vcs.pcre.org/viewvc?view=rev&revision=1239
Author:   zherczeg
Date:     2013-01-18 08:20:44 +0000 (Fri, 18 Jan 2013)


Log Message:
-----------
Fix forward search in JIT when link size is 3 or greater.

Modified Paths:
--------------
    code/trunk/ChangeLog
    code/trunk/pcre_jit_compile.c
    code/trunk/testdata/testinput12
    code/trunk/testdata/testoutput12


Modified: code/trunk/ChangeLog
===================================================================
--- code/trunk/ChangeLog    2013-01-05 16:27:59 UTC (rev 1238)
+++ code/trunk/ChangeLog    2013-01-18 08:20:44 UTC (rev 1239)
@@ -8,25 +8,28 @@
     avoid compiler signed/unsigned warnings. Added (int) casts to unsigned
     variables that are added to signed variables, to ensure the result is
     signed and can be negated.
-    
+
 2.  Applied patch by Daniel Richard G for quashing MSVC warnings to the
     CMake config files.
-    
+
 3.  Revise the creation of config.h.generic so that all boolean macros are
     #undefined, whereas non-boolean macros are #ifndef/#endif-ed. This makes
     overriding via -D on the command line possible.  
-    
+
 4.  Changing the definition of the variable "op" in pcre_exec.c from pcre_uchar
     to unsigned int is reported to make a quite noticeable speed difference in
     a specific Windows environment. Testing on Linux did also appear to show
     some benefit (and it is clearly not harmful). Also fixed the definition of
     Xop which should be unsigned. 
-    
+
 5.  Related to (4), changing the definition of the intermediate variable cc
     in repeated character loops from pcre_uchar to pcre_uint32 also gave speed
     improvements.
-     


+6.  Fix forward search in JIT when link size is 3 or greater. Also removed some
+    unnecessary spaces.
+
+
 Version 8.32 30-November-2012
 -----------------------------



Modified: code/trunk/pcre_jit_compile.c
===================================================================
--- code/trunk/pcre_jit_compile.c    2013-01-05 16:27:59 UTC (rev 1238)
+++ code/trunk/pcre_jit_compile.c    2013-01-18 08:20:44 UTC (rev 1239)
@@ -2573,7 +2573,7 @@
 struct sljit_label *start;
 struct sljit_jump *quit;
 pcre_uint32 chars[MAX_N_CHARS * 2];
-pcre_uchar *cc = common->start + 1 + IMM2_SIZE;
+pcre_uchar *cc = common->start + 1 + LINK_SIZE;
 int location = 0;
 pcre_int32 len, c, bit, caseless;
 int must_stop;


Modified: code/trunk/testdata/testinput12
===================================================================
--- code/trunk/testdata/testinput12    2013-01-05 16:27:59 UTC (rev 1238)
+++ code/trunk/testdata/testinput12    2013-01-18 08:20:44 UTC (rev 1239)
@@ -86,4 +86,7 @@


/.?(*THEN)/S!+I

+/^12345678abcd/mS++
+    12345678abcd
+
 /-- End of testinput12 --/


Modified: code/trunk/testdata/testoutput12
===================================================================
--- code/trunk/testdata/testoutput12    2013-01-05 16:27:59 UTC (rev 1238)
+++ code/trunk/testdata/testoutput12    2013-01-18 08:20:44 UTC (rev 1239)
@@ -178,4 +178,8 @@
 No set of starting bytes
 JIT study was not successful


+/^12345678abcd/mS++
+    12345678abcd
+ 0: 12345678abcd (JIT)
+
 /-- End of testinput12 --/