OLD | NEW |
1 // Copyright 2008 the V8 project authors. All rights reserved. | 1 // Copyright 2008 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
231 return false; | 231 return false; |
232 BYTECODE(SUCCEED) | 232 BYTECODE(SUCCEED) |
233 return true; | 233 return true; |
234 BYTECODE(ADVANCE_CP) | 234 BYTECODE(ADVANCE_CP) |
235 current += insn >> BYTECODE_SHIFT; | 235 current += insn >> BYTECODE_SHIFT; |
236 pc += BC_ADVANCE_CP_LENGTH; | 236 pc += BC_ADVANCE_CP_LENGTH; |
237 break; | 237 break; |
238 BYTECODE(GOTO) | 238 BYTECODE(GOTO) |
239 pc = code_base + Load32Aligned(pc + 4); | 239 pc = code_base + Load32Aligned(pc + 4); |
240 break; | 240 break; |
| 241 BYTECODE(ADVANCE_CP_AND_GOTO) |
| 242 current += insn >> BYTECODE_SHIFT; |
| 243 pc = code_base + Load32Aligned(pc + 4); |
| 244 break; |
241 BYTECODE(CHECK_GREEDY) | 245 BYTECODE(CHECK_GREEDY) |
242 if (current == backtrack_sp[-1]) { | 246 if (current == backtrack_sp[-1]) { |
243 backtrack_sp--; | 247 backtrack_sp--; |
244 backtrack_stack_space++; | 248 backtrack_stack_space++; |
245 pc = code_base + Load32Aligned(pc + 4); | 249 pc = code_base + Load32Aligned(pc + 4); |
246 } else { | 250 } else { |
247 pc += BC_CHECK_GREEDY_LENGTH; | 251 pc += BC_CHECK_GREEDY_LENGTH; |
248 } | 252 } |
249 break; | 253 break; |
250 BYTECODE(LOAD_CURRENT_CHAR) { | 254 BYTECODE(LOAD_CURRENT_CHAR) { |
(...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
584 if (start_position != 0) previous_char = subject_vector[start_position - 1]; | 588 if (start_position != 0) previous_char = subject_vector[start_position - 1]; |
585 return RawMatch(code_base, | 589 return RawMatch(code_base, |
586 subject_vector, | 590 subject_vector, |
587 registers, | 591 registers, |
588 start_position, | 592 start_position, |
589 previous_char); | 593 previous_char); |
590 } | 594 } |
591 } | 595 } |
592 | 596 |
593 } } // namespace v8::internal | 597 } } // namespace v8::internal |
OLD | NEW |