| Index: src/interpreter-irregexp.cc
|
| ===================================================================
|
| --- src/interpreter-irregexp.cc (revision 927)
|
| +++ src/interpreter-irregexp.cc (working copy)
|
| @@ -191,6 +191,15 @@
|
| BYTECODE(GOTO)
|
| pc = code_base + Load32(pc + 1);
|
| break;
|
| + BYTECODE(CHECK_GREEDY)
|
| + if (current == backtrack_sp[-1]) {
|
| + backtrack_sp--;
|
| + backtrack_stack_space++;
|
| + pc = code_base + Load32(pc + 1);
|
| + } else {
|
| + pc += BC_CHECK_GREEDY_LENGTH;
|
| + }
|
| + break;
|
| BYTECODE(LOAD_CURRENT_CHAR) {
|
| int pos = current + Load32(pc + 1);
|
| if (pos >= subject.length()) {
|
| @@ -201,6 +210,12 @@
|
| }
|
| break;
|
| }
|
| + BYTECODE(LOAD_CURRENT_CHAR_UNCHECKED) {
|
| + int pos = current + Load32(pc + 1);
|
| + current_char = subject[pos];
|
| + pc += BC_LOAD_CURRENT_CHAR_UNCHECKED_LENGTH;
|
| + break;
|
| + }
|
| BYTECODE(CHECK_CHAR) {
|
| int c = Load16(pc + 1);
|
| if (c == current_char) {
|
|
|