/[pcre]/code/trunk/pcre_jit_compile.c
ViewVC logotype

Diff of /code/trunk/pcre_jit_compile.c

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

revision 1533 by zherczeg, Tue Mar 24 08:22:29 2015 UTC revision 1541 by zherczeg, Wed Apr 1 13:43:02 2015 UTC
# Line 7255  if (opcode == OP_COND || opcode == OP_SC Line 7255  if (opcode == OP_COND || opcode == OP_SC
7255      add_jump(compiler, &(BACKTRACK_AS(bracket_backtrack)->u.condfailed), JUMP(SLJIT_ZERO));      add_jump(compiler, &(BACKTRACK_AS(bracket_backtrack)->u.condfailed), JUMP(SLJIT_ZERO));
7256      matchingpath += 1 + 2 * IMM2_SIZE;      matchingpath += 1 + 2 * IMM2_SIZE;
7257      }      }
7258    else if (*matchingpath == OP_RREF || *matchingpath == OP_DNRREF)    else if (*matchingpath == OP_RREF || *matchingpath == OP_DNRREF || *matchingpath == OP_FAIL)
7259      {      {
7260      /* Never has other case. */      /* Never has other case. */
7261      BACKTRACK_AS(bracket_backtrack)->u.condfailed = NULL;      BACKTRACK_AS(bracket_backtrack)->u.condfailed = NULL;
7262      SLJIT_ASSERT(!has_alternatives);      SLJIT_ASSERT(!has_alternatives);
7263    
7264        if (*matchingpath == OP_FAIL)
7265          stacksize = 0;
7266      if (*matchingpath == OP_RREF)      if (*matchingpath == OP_RREF)
7267        {        {
7268        stacksize = GET2(matchingpath, 1);        stacksize = GET2(matchingpath, 1);
# Line 7310  if (opcode == OP_COND || opcode == OP_SC Line 7312  if (opcode == OP_COND || opcode == OP_SC
7312            matchingpath = cc;            matchingpath = cc;
7313          }          }
7314      }      }
   else if (*matchingpath == OP_FAIL)  
     {  
     SLJIT_ASSERT(!has_alternatives);  
     if (*cc == OP_ALT)  
       {  
       matchingpath = cc + 1 + LINK_SIZE;  
       cc += GET(cc, 1);  
       }  
     else  
       matchingpath = cc;  
     }  
7315    else    else
7316      {      {
7317      SLJIT_ASSERT(has_alternatives && *matchingpath >= OP_ASSERT && *matchingpath <= OP_ASSERTBACK_NOT);      SLJIT_ASSERT(has_alternatives && *matchingpath >= OP_ASSERT && *matchingpath <= OP_ASSERTBACK_NOT);

Legend:
Removed from v.1533  
changed lines
  Added in v.1541

  ViewVC Help
Powered by ViewVC 1.1.5