/[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 1175 by chpe, Tue Oct 16 15:57:42 2012 UTC revision 1176 by ph10, Sat Oct 27 15:46:35 2012 UTC
# Line 767  int private_data_length = 0; Line 767  int private_data_length = 0;
767  pcre_uchar *alternative;  pcre_uchar *alternative;
768  pcre_uchar *name;  pcre_uchar *name;
769  pcre_uchar *end = NULL;  pcre_uchar *end = NULL;
770  int space, size, bracketlen, i;  int space, size, i;
771    pcre_uint32 bracketlen;
772    
773  /* Calculate important variables (like stack size) and checks whether all opcodes are supported. */  /* Calculate important variables (like stack size) and checks whether all opcodes are supported. */
774  while (cc < ccend)  while (cc < ccend)
# Line 944  while (cc < ccend) Line 945  while (cc < ccend)
945        cc += size;        cc += size;
946      }      }
947    
948    if (bracketlen > 0)    if (bracketlen != 0)
949      {      {
950      if (cc >= end)      if (cc >= end)
951        {        {
# Line 5331  common->accept = save_accept; Line 5332  common->accept = save_accept;
5332  return cc + 1 + LINK_SIZE;  return cc + 1 + LINK_SIZE;
5333  }  }
5334    
5335  static sljit_w SLJIT_CALL do_searchovector(sljit_w refno, sljit_w* locals, pcre_uchar *name_table)  static sljit_w SLJIT_CALL do_searchovector(sljit_uw refno, sljit_w* locals, pcre_uchar *name_table)
5336  {  {
5337  int condition = FALSE;  int condition = FALSE;
5338  pcre_uchar *slotA = name_table;  pcre_uchar *slotA = name_table;
# Line 5388  if (i < name_count) Line 5389  if (i < name_count)
5389  return condition;  return condition;
5390  }  }
5391    
5392  static sljit_w SLJIT_CALL do_searchgroups(sljit_w recno, sljit_w* locals, pcre_uchar *name_table)  static sljit_w SLJIT_CALL do_searchgroups(sljit_uw recno, sljit_uw* locals, pcre_uchar *name_table)
5393  {  {
5394  int condition = FALSE;  int condition = FALSE;
5395  pcre_uchar *slotA = name_table;  pcre_uchar *slotA = name_table;
5396  pcre_uchar *slotB;  pcre_uchar *slotB;
5397  sljit_w name_count = locals[LOCALS0 / sizeof(sljit_w)];  sljit_uw name_count = locals[LOCALS0 / sizeof(sljit_w)];
5398  sljit_w name_entry_size = locals[LOCALS1 / sizeof(sljit_w)];  sljit_uw name_entry_size = locals[LOCALS1 / sizeof(sljit_w)];
5399  sljit_w group_num = locals[POSSESSIVE0 / sizeof(sljit_w)];  sljit_uw group_num = locals[POSSESSIVE0 / sizeof(sljit_w)];
5400  int i;  sljit_uw i;
5401    
5402  for (i = 0; i < name_count; i++)  for (i = 0; i < name_count; i++)
5403    {    {
# Line 5551  if (SLJIT_UNLIKELY(opcode == OP_COND) || Line 5552  if (SLJIT_UNLIKELY(opcode == OP_COND) ||
5552      else if (common->currententry->start == 0)      else if (common->currententry->start == 0)
5553        has_alternatives = stacksize != 0;        has_alternatives = stacksize != 0;
5554      else      else
5555        has_alternatives = stacksize != GET2(common->start, common->currententry->start + 1 + LINK_SIZE);        has_alternatives = stacksize != (int)GET2(common->start, common->currententry->start + 1 + LINK_SIZE);
5556      }      }
5557    }    }
5558    
# Line 5786  if (opcode == OP_COND || opcode == OP_SC Line 5787  if (opcode == OP_COND || opcode == OP_SC
5787      else if (common->currententry->start == 0)      else if (common->currententry->start == 0)
5788        stacksize = stacksize == 0;        stacksize = stacksize == 0;
5789      else      else
5790        stacksize = stacksize == GET2(common->start, common->currententry->start + 1 + LINK_SIZE);        stacksize = stacksize == (int)GET2(common->start, common->currententry->start + 1 + LINK_SIZE);
5791    
5792      if (*matchingpath == OP_RREF || stacksize || common->currententry == NULL)      if (*matchingpath == OP_RREF || stacksize || common->currententry == NULL)
5793        {        {

Legend:
Removed from v.1175  
changed lines
  Added in v.1176

  ViewVC Help
Powered by ViewVC 1.1.5