"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "pcre_jit_compile.c" between
pcre-8.43.tar.bz2 and pcre-8.44.tar.bz2

About: The PCRE library implements Perl compatible regular expression pattern matching.

pcre_jit_compile.c  (pcre-8.43.tar.bz2):pcre_jit_compile.c  (pcre-8.44.tar.bz2)
skipping to change at line 3941 skipping to change at line 3941
} }
} }
#if (defined SLJIT_CONFIG_X86 && SLJIT_CONFIG_X86) && !(defined SUPPORT_VALGRIND ) #if (defined SLJIT_CONFIG_X86 && SLJIT_CONFIG_X86) && !(defined SUPPORT_VALGRIND )
static sljit_s32 character_to_int32(pcre_uchar chr) static sljit_s32 character_to_int32(pcre_uchar chr)
{ {
sljit_s32 value = (sljit_s32)chr; sljit_s32 value = (sljit_s32)chr;
#if defined COMPILE_PCRE8 #if defined COMPILE_PCRE8
#define SSE2_COMPARE_TYPE_INDEX 0 #define SSE2_COMPARE_TYPE_INDEX 0
return (value << 24) | (value << 16) | (value << 8) | value; return ((unsigned int)value << 24) | ((unsigned int)value << 16) | ((unsigned in t)value << 8) | (unsigned int)value;
#elif defined COMPILE_PCRE16 #elif defined COMPILE_PCRE16
#define SSE2_COMPARE_TYPE_INDEX 1 #define SSE2_COMPARE_TYPE_INDEX 1
return (value << 16) | value; return ((unsigned int)value << 16) | value;
#elif defined COMPILE_PCRE32 #elif defined COMPILE_PCRE32
#define SSE2_COMPARE_TYPE_INDEX 2 #define SSE2_COMPARE_TYPE_INDEX 2
return value; return value;
#else #else
#error "Unsupported unit width" #error "Unsupported unit width"
#endif #endif
} }
static SLJIT_INLINE void fast_forward_first_char2_sse2(compiler_common *common, pcre_uchar char1, pcre_uchar char2) static SLJIT_INLINE void fast_forward_first_char2_sse2(compiler_common *common, pcre_uchar char1, pcre_uchar char2)
{ {
skipping to change at line 8509 skipping to change at line 8509
/* Skip the other alternatives. */ /* Skip the other alternatives. */
while (*cc == OP_ALT) while (*cc == OP_ALT)
cc += GET(cc, 1); cc += GET(cc, 1);
cc += 1 + LINK_SIZE; cc += 1 + LINK_SIZE;
if (opcode == OP_ONCE) if (opcode == OP_ONCE)
{ {
/* We temporarily encode the needs_control_head in the lowest bit. /* We temporarily encode the needs_control_head in the lowest bit.
Note: on the target architectures of SLJIT the ((x << 1) >> 1) returns Note: on the target architectures of SLJIT the ((x << 1) >> 1) returns
the same value for small signed numbers (including negative numbers). */ the same value for small signed numbers (including negative numbers). */
BACKTRACK_AS(bracket_backtrack)->u.framesize = (BACKTRACK_AS(bracket_backtrack )->u.framesize << 1) | (needs_control_head ? 1 : 0); BACKTRACK_AS(bracket_backtrack)->u.framesize = ((unsigned int)BACKTRACK_AS(bra cket_backtrack)->u.framesize << 1) | (needs_control_head ? 1 : 0);
} }
return cc + repeat_length; return cc + repeat_length;
} }
static pcre_uchar *compile_bracketpos_matchingpath(compiler_common *common, pcre _uchar *cc, backtrack_common *parent) static pcre_uchar *compile_bracketpos_matchingpath(compiler_common *common, pcre _uchar *cc, backtrack_common *parent)
{ {
DEFINE_COMPILER; DEFINE_COMPILER;
backtrack_common *backtrack; backtrack_common *backtrack;
pcre_uchar opcode; pcre_uchar opcode;
int private_data_ptr; int private_data_ptr;
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)