/[pcre]/code/branches/pcre16/pcre_study.c
ViewVC logotype

Diff of /code/branches/pcre16/pcre_study.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 688 by ph10, Fri Sep 9 09:35:48 2011 UTC revision 689 by ph10, Fri Sep 9 10:34:57 2011 UTC
# Line 1332  if (bits_set || min > 0 Line 1332  if (bits_set || min > 0
1332      study->flags |= PCRE_STUDY_MAPPED;      study->flags |= PCRE_STUDY_MAPPED;
1333      memcpy(study->start_bits, start_bits, sizeof(start_bits));      memcpy(study->start_bits, start_bits, sizeof(start_bits));
1334      }      }
1335    
1336    if (min > 0)    /* Always set the minlength value in the block, because the JIT compiler
1337      {    makes use of it. However, don't set the bit unless the length is greater than
1338      study->flags |= PCRE_STUDY_MINLEN;    zero - the interpretive pcre_exec() and pcre_dfa_exec() needn't waste time
1339      study->minlength = min;    checking this case. */
1340      }  
1341      study->minlength = min;
1342      if (min > 0) study->flags |= PCRE_STUDY_MINLEN;
1343    
1344    /* If JIT support was compiled and requested, attempt the JIT compilation.    /* If JIT support was compiled and requested, attempt the JIT compilation.
1345    If no starting bytes were found, and the minimum length is zero, and JIT    If no starting bytes were found, and the minimum length is zero, and JIT
1346    compilation fails, no flags will be set, so abandon the extra block and    compilation fails, abandon the extra block and return NULL. */
   return NULL. */  
1347    
1348  #ifdef SUPPORT_JIT  #ifdef SUPPORT_JIT
1349    extra->executable_jit = NULL;    extra->executable_jit = NULL;
1350    if ((options & PCRE_STUDY_JIT_COMPILE) != 0) _pcre_jit_compile(re, extra);    if ((options & PCRE_STUDY_JIT_COMPILE) != 0) _pcre_jit_compile(re, extra);
1351    if (study->flags == 0)    if (study->flags == 0 && (extra->flags & PCRE_EXTRA_EXECUTABLE_JIT) == 0)
1352      {      {
1353      pcre_free_study(extra);      pcre_free_study(extra);
1354      extra = NULL;      extra = NULL;

Legend:
Removed from v.688  
changed lines
  Added in v.689

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12