/[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 1009 by zherczeg, Wed Aug 22 12:01:22 2012 UTC revision 1010 by zherczeg, Thu Aug 23 08:05:11 2012 UTC
# Line 900  while (cc < ccend) Line 900  while (cc < ccend)
900  #endif  #endif
901    
902      case OP_RECURSE:      case OP_RECURSE:
     alternative = common->start + GET(cc, 1);  
     if (alternative != common->start)  
       common->optimized_cbracket[GET2(alternative, 1 + LINK_SIZE)] = 0;  
903      /* Set its value only once. */      /* Set its value only once. */
904      if (common->recursive_head == 0)      if (common->recursive_head == 0)
905        {        {
# Line 1304  while (cc < ccend) Line 1301  while (cc < ccend)
1301    
1302      case OP_CBRAPOS:      case OP_CBRAPOS:
1303      case OP_SCBRAPOS:      case OP_SCBRAPOS:
     SLJIT_ASSERT(common->optimized_cbracket[GET2(cc, 1 + LINK_SIZE)] == 0);  
1304      private_data_length += 2;      private_data_length += 2;
1305      cc += 1 + LINK_SIZE + IMM2_SIZE;      cc += 1 + LINK_SIZE + IMM2_SIZE;
1306      break;      break;
# Line 5937  switch(opcode) Line 5933  switch(opcode)
5933    case OP_CBRAPOS:    case OP_CBRAPOS:
5934    case OP_SCBRAPOS:    case OP_SCBRAPOS:
5935    offset = GET2(cc, 1 + LINK_SIZE);    offset = GET2(cc, 1 + LINK_SIZE);
5936      /* This case cannot be optimized in the same was as
5937      normal capturing brackets. */
5938      SLJIT_ASSERT(common->optimized_cbracket[offset] == 0);
5939    cbraprivptr = OVECTOR_PRIV(offset);    cbraprivptr = OVECTOR_PRIV(offset);
5940    offset <<= 1;    offset <<= 1;
5941    ccbegin = cc + 1 + LINK_SIZE + IMM2_SIZE;    ccbegin = cc + 1 + LINK_SIZE + IMM2_SIZE;

Legend:
Removed from v.1009  
changed lines
  Added in v.1010

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12