| 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 |
{ |
{ |
| 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; |
| 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; |