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

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

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

revision 763 by zherczeg, Tue Nov 22 21:46:22 2011 UTC revision 764 by zherczeg, Wed Nov 23 17:23:20 2011 UTC
# Line 373  the start pointers when the end of the c Line 373  the start pointers when the end of the c
373  #define OVECTOR_START    (8 * sizeof(sljit_w))  #define OVECTOR_START    (8 * sizeof(sljit_w))
374  #define OVECTOR(i)       (OVECTOR_START + (i) * sizeof(sljit_w))  #define OVECTOR(i)       (OVECTOR_START + (i) * sizeof(sljit_w))
375  #define OVECTOR_PRIV(i)  (common->cbraptr + (i) * sizeof(sljit_w))  #define OVECTOR_PRIV(i)  (common->cbraptr + (i) * sizeof(sljit_w))
376  #define PRIV(cc)         (common->localptrs[(cc) - common->start])  #define PRIV_DATA(cc)    (common->localptrs[(cc) - common->start])
377    
378  /* Shortcuts. */  /* Shortcuts. */
379  #define DEFINE_COMPILER \  #define DEFINE_COMPILER \
# Line 522  switch(*cc) Line 522  switch(*cc)
522    case OP_NOTPOSQUERYI:    case OP_NOTPOSQUERYI:
523    cc += 2;    cc += 2;
524  #ifdef SUPPORT_UTF8  #ifdef SUPPORT_UTF8
525    if (common->utf8 && cc[-1] >= 0xc0) cc += _pcre_utf8_table4[cc[-1] & 0x3f];    if (common->utf8 && cc[-1] >= 0xc0) cc += PRIV(utf8_table4)[cc[-1] & 0x3f];
526  #endif  #endif
527    return cc;    return cc;
528    
# Line 544  switch(*cc) Line 544  switch(*cc)
544    case OP_NOTPOSUPTOI:    case OP_NOTPOSUPTOI:
545    cc += 4;    cc += 4;
546  #ifdef SUPPORT_UTF8  #ifdef SUPPORT_UTF8
547    if (common->utf8 && cc[-1] >= 0xc0) cc += _pcre_utf8_table4[cc[-1] & 0x3f];    if (common->utf8 && cc[-1] >= 0xc0) cc += PRIV(utf8_table4)[cc[-1] & 0x3f];
548  #endif  #endif
549    return cc;    return cc;
550    
# Line 938  while (status != end) Line 938  while (status != end)
938        case OP_SBRAPOS:        case OP_SBRAPOS:
939        case OP_SCOND:        case OP_SCOND:
940        count = 1;        count = 1;
941        srcw[0] = PRIV(cc);        srcw[0] = PRIV_DATA(cc);
942        SLJIT_ASSERT(srcw[0] != 0);        SLJIT_ASSERT(srcw[0] != 0);
943        cc += 1 + LINK_SIZE;        cc += 1 + LINK_SIZE;
944        break;        break;
# Line 954  while (status != end) Line 954  while (status != end)
954        case OP_SCBRAPOS:        case OP_SCBRAPOS:
955        count = 2;        count = 2;
956        srcw[1] = OVECTOR_PRIV(GET2(cc, 1 + LINK_SIZE));        srcw[1] = OVECTOR_PRIV(GET2(cc, 1 + LINK_SIZE));
957        srcw[0] = PRIV(cc);        srcw[0] = PRIV_DATA(cc);
958        SLJIT_ASSERT(srcw[0] != 0);        SLJIT_ASSERT(srcw[0] != 0);
959        cc += 1 + LINK_SIZE + 2;        cc += 1 + LINK_SIZE + 2;
960        break;        break;
# Line 965  while (status != end) Line 965  while (status != end)
965        if (*alternative == OP_KETRMAX || *alternative == OP_KETRMIN)        if (*alternative == OP_KETRMAX || *alternative == OP_KETRMIN)
966          {          {
967          count = 1;          count = 1;
968          srcw[0] = PRIV(cc);          srcw[0] = PRIV_DATA(cc);
969          SLJIT_ASSERT(srcw[0] != 0);          SLJIT_ASSERT(srcw[0] != 0);
970          }          }
971        cc += 1 + LINK_SIZE;        cc += 1 + LINK_SIZE;
# Line 1320  if (!ispowerof2(bit)) Line 1320  if (!ispowerof2(bit))
1320  #ifdef SUPPORT_UTF8  #ifdef SUPPORT_UTF8
1321  if (common->utf8 && c > 127)  if (common->utf8 && c > 127)
1322    {    {
1323    n = _pcre_utf8_table4[*cc & 0x3f];    n = PRIV(utf8_table4)[*cc & 0x3f];
1324    while ((bit & 0x3f) == 0)    while ((bit & 0x3f) == 0)
1325      {      {
1326      n--;      n--;
# Line 1565  sljit_emit_fast_return(compiler, RETURN_ Line 1565  sljit_emit_fast_return(compiler, RETURN_
1565  JUMPHERE(jump);  JUMPHERE(jump);
1566    
1567  /* We only have types for characters less than 256. */  /* We only have types for characters less than 256. */
1568  OP1(SLJIT_MOV_UB, TMP1, 0, SLJIT_MEM1(TMP2), (sljit_w)_pcre_utf8_table4 - 0xc0);  OP1(SLJIT_MOV_UB, TMP1, 0, SLJIT_MEM1(TMP2), (sljit_w)PRIV(utf8_table4) - 0xc0);
1569  OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, TMP1, 0);  OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, TMP1, 0);
1570  OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, 0);  OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, 0);
1571  sljit_emit_fast_return(compiler, RETURN_ADDR, 0);  sljit_emit_fast_return(compiler, RETURN_ADDR, 0);
# Line 1589  SLJIT_ASSERT(UCD_BLOCK_SIZE == 128 && si Line 1589  SLJIT_ASSERT(UCD_BLOCK_SIZE == 128 && si
1589    
1590  sljit_emit_fast_enter(compiler, RETURN_ADDR, 0, 1, 5, 5, common->localsize);  sljit_emit_fast_enter(compiler, RETURN_ADDR, 0, 1, 5, 5, common->localsize);
1591  OP2(SLJIT_LSHR, TMP2, 0, TMP1, 0, SLJIT_IMM, UCD_BLOCK_SHIFT);  OP2(SLJIT_LSHR, TMP2, 0, TMP1, 0, SLJIT_IMM, UCD_BLOCK_SHIFT);
1592  OP1(SLJIT_MOV_UB, TMP2, 0, SLJIT_MEM1(TMP2), (sljit_w)_pcre_ucd_stage1);  OP1(SLJIT_MOV_UB, TMP2, 0, SLJIT_MEM1(TMP2), (sljit_w)PRIV(ucd_stage1));
1593  OP2(SLJIT_AND, TMP1, 0, TMP1, 0, SLJIT_IMM, UCD_BLOCK_MASK);  OP2(SLJIT_AND, TMP1, 0, TMP1, 0, SLJIT_IMM, UCD_BLOCK_MASK);
1594  OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, UCD_BLOCK_SHIFT);  OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, UCD_BLOCK_SHIFT);
1595  OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, TMP2, 0);  OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, TMP2, 0);
1596  OP1(SLJIT_MOV, TMP2, 0, SLJIT_IMM, (sljit_w)_pcre_ucd_stage2);  OP1(SLJIT_MOV, TMP2, 0, SLJIT_IMM, (sljit_w)PRIV(ucd_stage2));
1597  OP1(SLJIT_MOV_UH, TMP2, 0, SLJIT_MEM2(TMP2, TMP1), 1);  OP1(SLJIT_MOV_UH, TMP2, 0, SLJIT_MEM2(TMP2, TMP1), 1);
1598  OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, (sljit_w)_pcre_ucd_records + SLJIT_OFFSETOF(ucd_record, chartype));  OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, (sljit_w)PRIV(ucd_records) + SLJIT_OFFSETOF(ucd_record, chartype));
1599  OP1(SLJIT_MOV_UB, TMP1, 0, SLJIT_MEM2(TMP1, TMP2), 3);  OP1(SLJIT_MOV_UB, TMP1, 0, SLJIT_MEM2(TMP1, TMP2), 3);
1600  sljit_emit_fast_return(compiler, RETURN_ADDR, 0);  sljit_emit_fast_return(compiler, RETURN_ADDR, 0);
1601  }  }
# Line 1687  OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, S Line 1687  OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, S
1687  if (common->utf8)  if (common->utf8)
1688    {    {
1689    singlebyte = CMP(SLJIT_C_LESS, TMP1, 0, SLJIT_IMM, 0xc0);    singlebyte = CMP(SLJIT_C_LESS, TMP1, 0, SLJIT_IMM, 0xc0);
1690    OP1(SLJIT_MOV_UB, TMP1, 0, SLJIT_MEM1(TMP1), (sljit_w)_pcre_utf8_table4 - 0xc0);    OP1(SLJIT_MOV_UB, TMP1, 0, SLJIT_MEM1(TMP1), (sljit_w)PRIV(utf8_table4) - 0xc0);
1691    OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, TMP1, 0);    OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, TMP1, 0);
1692    JUMPHERE(singlebyte);    JUMPHERE(singlebyte);
1693    }    }
# Line 1748  OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, S Line 1748  OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, S
1748  if (common->utf8)  if (common->utf8)
1749    {    {
1750    CMPTO(SLJIT_C_LESS, TMP1, 0, SLJIT_IMM, 0xc0, start);    CMPTO(SLJIT_C_LESS, TMP1, 0, SLJIT_IMM, 0xc0, start);
1751    OP1(SLJIT_MOV_UB, TMP1, 0, SLJIT_MEM1(TMP1), (sljit_w)_pcre_utf8_table4 - 0xc0);    OP1(SLJIT_MOV_UB, TMP1, 0, SLJIT_MEM1(TMP1), (sljit_w)PRIV(utf8_table4) - 0xc0);
1752    OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, TMP1, 0);    OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, TMP1, 0);
1753    }    }
1754  #endif  #endif
# Line 1875  OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, S Line 1875  OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, S
1875  if (common->utf8)  if (common->utf8)
1876    {    {
1877    CMPTO(SLJIT_C_LESS, TMP1, 0, SLJIT_IMM, 0xc0, start);    CMPTO(SLJIT_C_LESS, TMP1, 0, SLJIT_IMM, 0xc0, start);
1878    OP1(SLJIT_MOV_UB, TMP1, 0, SLJIT_MEM1(TMP1), (sljit_w)_pcre_utf8_table4 - 0xc0);    OP1(SLJIT_MOV_UB, TMP1, 0, SLJIT_MEM1(TMP1), (sljit_w)PRIV(utf8_table4) - 0xc0);
1879    OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, TMP1, 0);    OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, TMP1, 0);
1880    }    }
1881  #endif  #endif
# Line 2287  if (context->sourcereg == -1) Line 2287  if (context->sourcereg == -1)
2287  #ifdef SUPPORT_UTF8  #ifdef SUPPORT_UTF8
2288  utf8length = 1;  utf8length = 1;
2289  if (common->utf8 && *cc >= 0xc0)  if (common->utf8 && *cc >= 0xc0)
2290    utf8length += _pcre_utf8_table4[*cc & 0x3f];    utf8length += PRIV(utf8_table4)[*cc & 0x3f];
2291    
2292  do  do
2293    {    {
# Line 2449  while (*cc != XCL_END) Line 2449  while (*cc != XCL_END)
2449      {      {
2450      cc += 2;      cc += 2;
2451  #ifdef SUPPORT_UTF8  #ifdef SUPPORT_UTF8
2452      if (common->utf8 && cc[-1] >= 0xc0) cc += _pcre_utf8_table4[cc[-1] & 0x3f];      if (common->utf8 && cc[-1] >= 0xc0) cc += PRIV(utf8_table4)[cc[-1] & 0x3f];
2453  #endif  #endif
2454  #ifdef SUPPORT_UCP  #ifdef SUPPORT_UCP
2455      needschar = TRUE;      needschar = TRUE;
# Line 2459  while (*cc != XCL_END) Line 2459  while (*cc != XCL_END)
2459      {      {
2460      cc += 2;      cc += 2;
2461  #ifdef SUPPORT_UTF8  #ifdef SUPPORT_UTF8
2462      if (common->utf8 && cc[-1] >= 0xc0) cc += _pcre_utf8_table4[cc[-1] & 0x3f];      if (common->utf8 && cc[-1] >= 0xc0) cc += PRIV(utf8_table4)[cc[-1] & 0x3f];
2463  #endif  #endif
2464      cc++;      cc++;
2465  #ifdef SUPPORT_UTF8  #ifdef SUPPORT_UTF8
2466      if (common->utf8 && cc[-1] >= 0xc0) cc += _pcre_utf8_table4[cc[-1] & 0x3f];      if (common->utf8 && cc[-1] >= 0xc0) cc += PRIV(utf8_table4)[cc[-1] & 0x3f];
2467  #endif  #endif
2468  #ifdef SUPPORT_UCP  #ifdef SUPPORT_UCP
2469      needschar = TRUE;      needschar = TRUE;
# Line 2533  if (needstype || needsscript) Line 2533  if (needstype || needsscript)
2533      {      {
2534      if (scriptreg == TMP1)      if (scriptreg == TMP1)
2535        {        {
2536        OP1(SLJIT_MOV, scriptreg, 0, SLJIT_IMM, (sljit_w)_pcre_ucd_records + SLJIT_OFFSETOF(ucd_record, script));        OP1(SLJIT_MOV, scriptreg, 0, SLJIT_IMM, (sljit_w)PRIV(ucd_records) + SLJIT_OFFSETOF(ucd_record, script));
2537        OP1(SLJIT_MOV_UB, scriptreg, 0, SLJIT_MEM2(scriptreg, TMP2), 3);        OP1(SLJIT_MOV_UB, scriptreg, 0, SLJIT_MEM2(scriptreg, TMP2), 3);
2538        }        }
2539      else      else
2540        {        {
2541        OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, 3);        OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, 3);
2542        OP2(SLJIT_ADD, TMP2, 0, TMP2, 0, SLJIT_IMM, (sljit_w)_pcre_ucd_records + SLJIT_OFFSETOF(ucd_record, script));        OP2(SLJIT_ADD, TMP2, 0, TMP2, 0, SLJIT_IMM, (sljit_w)PRIV(ucd_records) + SLJIT_OFFSETOF(ucd_record, script));
2543        OP1(SLJIT_MOV_UB, scriptreg, 0, SLJIT_MEM1(TMP2), 0);        OP1(SLJIT_MOV_UB, scriptreg, 0, SLJIT_MEM1(TMP2), 0);
2544        }        }
2545      }      }
# Line 2660  while (*cc != XCL_END) Line 2660  while (*cc != XCL_END)
2660        break;        break;
2661    
2662        case PT_GC:        case PT_GC:
2663        c = _pcre_ucp_typerange[(int)cc[1] * 2];        c = PRIV(ucp_typerange)[(int)cc[1] * 2];
2664        SET_TYPE_OFFSET(c);        SET_TYPE_OFFSET(c);
2665        jump = CMP(SLJIT_C_LESS_EQUAL ^ invertcmp, typereg, 0, SLJIT_IMM, _pcre_ucp_typerange[(int)cc[1] * 2 + 1] - c);        jump = CMP(SLJIT_C_LESS_EQUAL ^ invertcmp, typereg, 0, SLJIT_IMM, PRIV(ucp_typerange)[(int)cc[1] * 2 + 1] - c);
2666        break;        break;
2667    
2668        case PT_PC:        case PT_PC:
# Line 2806  switch(type) Line 2806  switch(type)
2806      OP1(SLJIT_MOV_UB, TMP1, 0, SLJIT_MEM1(STR_PTR), 0);      OP1(SLJIT_MOV_UB, TMP1, 0, SLJIT_MEM1(STR_PTR), 0);
2807      OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, 1);      OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, 1);
2808      jump[0] = CMP(SLJIT_C_LESS, TMP1, 0, SLJIT_IMM, 0xc0);      jump[0] = CMP(SLJIT_C_LESS, TMP1, 0, SLJIT_IMM, 0xc0);
2809      OP1(SLJIT_MOV_UB, TMP1, 0, SLJIT_MEM1(TMP1), (sljit_w)_pcre_utf8_table4 - 0xc0);      OP1(SLJIT_MOV_UB, TMP1, 0, SLJIT_MEM1(TMP1), (sljit_w)PRIV(utf8_table4) - 0xc0);
2810      OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, TMP1, 0);      OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, TMP1, 0);
2811      JUMPHERE(jump[0]);      JUMPHERE(jump[0]);
2812      return cc;      return cc;
# Line 3021  switch(type) Line 3021  switch(type)
3021    case OP_CHARI:    case OP_CHARI:
3022    length = 1;    length = 1;
3023  #ifdef SUPPORT_UTF8  #ifdef SUPPORT_UTF8
3024    if (common->utf8 && *cc >= 0xc0) length += _pcre_utf8_table4[*cc & 0x3f];    if (common->utf8 && *cc >= 0xc0) length += PRIV(utf8_table4)[*cc & 0x3f];
3025  #endif  #endif
3026    if (type == OP_CHAR || !char_has_othercase(common, cc) || char_get_othercase_bit(common, cc) != 0)    if (type == OP_CHAR || !char_has_othercase(common, cc) || char_get_othercase_bit(common, cc) != 0)
3027      {      {
# Line 3058  switch(type) Line 3058  switch(type)
3058  #ifdef SUPPORT_UTF8  #ifdef SUPPORT_UTF8
3059    if (common->utf8)    if (common->utf8)
3060      {      {
3061      if (*cc >= 0xc0) length += _pcre_utf8_table4[*cc & 0x3f];      if (*cc >= 0xc0) length += PRIV(utf8_table4)[*cc & 0x3f];
3062    
3063      check_input_end(common, fallbacks);      check_input_end(common, fallbacks);
3064      GETCHAR(c, cc);      GETCHAR(c, cc);
# Line 3077  switch(type) Line 3077  switch(type)
3077        /* Skip the variable-length character. */        /* Skip the variable-length character. */
3078        OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, 1);        OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, 1);
3079        jump[0] = CMP(SLJIT_C_LESS, TMP1, 0, SLJIT_IMM, 0xc0);        jump[0] = CMP(SLJIT_C_LESS, TMP1, 0, SLJIT_IMM, 0xc0);
3080        OP1(SLJIT_MOV_UB, TMP1, 0, SLJIT_MEM1(TMP1), (sljit_w)_pcre_utf8_table4 - 0xc0);        OP1(SLJIT_MOV_UB, TMP1, 0, SLJIT_MEM1(TMP1), (sljit_w)PRIV(utf8_table4) - 0xc0);
3081        OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, TMP1, 0);        OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, TMP1, 0);
3082        JUMPHERE(jump[0]);        JUMPHERE(jump[0]);
3083        return cc + length;        return cc + length;
# Line 3192  do Line 3192  do
3192      size = 1;      size = 1;
3193  #ifdef SUPPORT_UTF8  #ifdef SUPPORT_UTF8
3194      if (common->utf8 && cc[1] >= 0xc0)      if (common->utf8 && cc[1] >= 0xc0)
3195        size += _pcre_utf8_table4[cc[1] & 0x3f];        size += PRIV(utf8_table4)[cc[1] & 0x3f];
3196  #endif  #endif
3197      }      }
3198    else if (*cc == OP_CHARI)    else if (*cc == OP_CHARI)
# Line 3204  do Line 3204  do
3204        if (char_has_othercase(common, cc + 1) && char_get_othercase_bit(common, cc + 1) == 0)        if (char_has_othercase(common, cc + 1) && char_get_othercase_bit(common, cc + 1) == 0)
3205          size = 0;          size = 0;
3206        else if (cc[1] >= 0xc0)        else if (cc[1] >= 0xc0)
3207          size += _pcre_utf8_table4[cc[1] & 0x3f];          size += PRIV(utf8_table4)[cc[1] & 0x3f];
3208        }        }
3209      else      else
3210  #endif  #endif
# Line 3557  if (*cc == OP_BRAZERO || *cc == OP_BRAMI Line 3557  if (*cc == OP_BRAZERO || *cc == OP_BRAMI
3557    bra = *cc;    bra = *cc;
3558    cc++;    cc++;
3559    }    }
3560  localptr = PRIV(cc);  localptr = PRIV_DATA(cc);
3561  SLJIT_ASSERT(localptr != 0);  SLJIT_ASSERT(localptr != 0);
3562  framesize = get_framesize(common, cc, FALSE);  framesize = get_framesize(common, cc, FALSE);
3563  fallback->framesize = framesize;  fallback->framesize = framesize;
# Line 4043  if (opcode == OP_CBRA || opcode == OP_SC Line 4043  if (opcode == OP_CBRA || opcode == OP_SC
4043  else if (opcode == OP_ONCE || opcode == OP_SBRA || opcode == OP_SCOND)  else if (opcode == OP_ONCE || opcode == OP_SBRA || opcode == OP_SCOND)
4044    {    {
4045    /* Other brackets simply allocate the next entry. */    /* Other brackets simply allocate the next entry. */
4046    localptr = PRIV(ccbegin);    localptr = PRIV_DATA(ccbegin);
4047    SLJIT_ASSERT(localptr != 0);    SLJIT_ASSERT(localptr != 0);
4048    FALLBACK_AS(bracket_fallback)->localptr = localptr;    FALLBACK_AS(bracket_fallback)->localptr = localptr;
4049    if (opcode == OP_ONCE)    if (opcode == OP_ONCE)
# Line 4429  if (*cc == OP_BRAPOSZERO) Line 4429  if (*cc == OP_BRAPOSZERO)
4429    }    }
4430    
4431  opcode = *cc;  opcode = *cc;
4432  localptr = PRIV(cc);  localptr = PRIV_DATA(cc);
4433  SLJIT_ASSERT(localptr != 0);  SLJIT_ASSERT(localptr != 0);
4434  FALLBACK_AS(bracketpos_fallback)->localptr = localptr;  FALLBACK_AS(bracketpos_fallback)->localptr = localptr;
4435  switch(opcode)  switch(opcode)
# Line 4709  if (end != NULL) Line 4709  if (end != NULL)
4709    {    {
4710    *end = cc + 1;    *end = cc + 1;
4711  #ifdef SUPPORT_UTF8  #ifdef SUPPORT_UTF8
4712    if (common->utf8 && *cc >= 0xc0) *end += _pcre_utf8_table4[*cc & 0x3f];    if (common->utf8 && *cc >= 0xc0) *end += PRIV(utf8_table4)[*cc & 0x3f];
4713  #endif  #endif
4714    }    }
4715  return cc;  return cc;
# Line 6088  sljit_emit_fast_return(compiler, SLJIT_M Line 6088  sljit_emit_fast_return(compiler, SLJIT_M
6088  #undef CURRENT_AS  #undef CURRENT_AS
6089    
6090  void  void
6091  _pcre_jit_compile(const real_pcre *re, pcre_extra *extra)  PRIV(jit_compile)(const real_pcre *re, pcre_extra *extra)
6092  {  {
6093  struct sljit_compiler *compiler;  struct sljit_compiler *compiler;
6094  fallback_common rootfallback;  fallback_common rootfallback;
# Line 6111  SLJIT_ASSERT((extra->flags & PCRE_EXTRA_ Line 6111  SLJIT_ASSERT((extra->flags & PCRE_EXTRA_
6111  study = extra->study_data;  study = extra->study_data;
6112    
6113  if (!tables)  if (!tables)
6114    tables = _pcre_default_tables;    tables = PRIV(default_tables);
6115    
6116  memset(&rootfallback, 0, sizeof(fallback_common));  memset(&rootfallback, 0, sizeof(fallback_common));
6117  rootfallback.cc = (pcre_uchar *)re + re->name_table_offset + re->name_count * re->name_entry_size;  rootfallback.cc = (pcre_uchar *)re + re->name_table_offset + re->name_count * re->name_entry_size;
# Line 6467  return convert_executable_func.call_exec Line 6467  return convert_executable_func.call_exec
6467  }  }
6468    
6469  int  int
6470  _pcre_jit_exec(const real_pcre *re, void *executable_func,  PRIV(jit_exec)(const real_pcre *re, void *executable_func,
6471    PCRE_SPTR subject, int length, int start_offset, int options,    PCRE_SPTR subject, int length, int start_offset, int options,
6472    int match_limit, int *offsets, int offsetcount)    int match_limit, int *offsets, int offsetcount)
6473  {  {
# Line 6523  return retval; Line 6523  return retval;
6523  }  }
6524    
6525  void  void
6526  _pcre_jit_free(void *executable_func)  PRIV(jit_free)(void *executable_func)
6527  {  {
6528  executable_function *function = (executable_function*)executable_func;  executable_function *function = (executable_function*)executable_func;
6529  sljit_free_code(function->executable_func);  sljit_free_code(function->executable_func);

Legend:
Removed from v.763  
changed lines
  Added in v.764

  ViewVC Help
Powered by ViewVC 1.1.5