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 --/