| OLD | NEW |
| 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-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 513 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 524 // Capture values are relative to start_offset only. | 524 // Capture values are relative to start_offset only. |
| 525 for (int i = 0; i < offsets_vector_length; i++) { | 525 for (int i = 0; i < offsets_vector_length; i++) { |
| 526 if (offsets_vector[i] >= 0) { | 526 if (offsets_vector[i] >= 0) { |
| 527 offsets_vector[i] += previous_index; | 527 offsets_vector[i] += previous_index; |
| 528 } | 528 } |
| 529 } | 529 } |
| 530 } | 530 } |
| 531 break; | 531 break; |
| 532 #else | 532 #else |
| 533 UNIMPLEMENTED(); | 533 UNIMPLEMENTED(); |
| 534 rc = false; |
| 534 break; | 535 break; |
| 535 #endif | 536 #endif |
| 536 } | 537 } |
| 537 case RegExpMacroAssembler::kBytecodeImplementation: { | 538 case RegExpMacroAssembler::kBytecodeImplementation: { |
| 538 Handle<ByteArray> byte_codes = IrregexpCode(regexp); | 539 Handle<ByteArray> byte_codes = IrregexpCode(regexp); |
| 539 | 540 |
| 540 rc = IrregexpInterpreter::Match(byte_codes, | 541 rc = IrregexpInterpreter::Match(byte_codes, |
| 541 two_byte_subject, | 542 two_byte_subject, |
| 542 offsets_vector, | 543 offsets_vector, |
| 543 previous_index); | 544 previous_index); |
| (...skipping 2174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2718 if (!FLAG_irregexp) { | 2719 if (!FLAG_irregexp) { |
| 2719 return Handle<FixedArray>::null(); | 2720 return Handle<FixedArray>::null(); |
| 2720 } | 2721 } |
| 2721 | 2722 |
| 2722 if (is_multiline && !FLAG_attempt_multiline_irregexp) { | 2723 if (is_multiline && !FLAG_attempt_multiline_irregexp) { |
| 2723 return Handle<FixedArray>::null(); | 2724 return Handle<FixedArray>::null(); |
| 2724 } | 2725 } |
| 2725 | 2726 |
| 2726 if (FLAG_irregexp_native) { | 2727 if (FLAG_irregexp_native) { |
| 2727 #ifdef ARM | 2728 #ifdef ARM |
| 2728 UNIMPLEMENTED(); | 2729 // Unimplemented, fall-through to bytecode implementation. |
| 2729 #else // IA32 | 2730 #else // IA32 |
| 2730 RegExpMacroAssemblerIA32 macro_assembler(RegExpMacroAssemblerIA32::UC16, | 2731 RegExpMacroAssemblerIA32 macro_assembler(RegExpMacroAssemblerIA32::UC16, |
| 2731 (input->capture_count + 1) * 2); | 2732 (input->capture_count + 1) * 2); |
| 2732 return compiler.Assemble(¯o_assembler, | 2733 return compiler.Assemble(¯o_assembler, |
| 2733 node, | 2734 node, |
| 2734 input->capture_count); | 2735 input->capture_count); |
| 2735 #endif | 2736 #endif |
| 2736 } | 2737 } |
| 2737 EmbeddedVector<byte, 1024> codes; | 2738 EmbeddedVector<byte, 1024> codes; |
| 2738 RegExpMacroAssemblerIrregexp macro_assembler(codes); | 2739 RegExpMacroAssemblerIrregexp macro_assembler(codes); |
| 2739 return compiler.Assemble(¯o_assembler, | 2740 return compiler.Assemble(¯o_assembler, |
| 2740 node, | 2741 node, |
| 2741 input->capture_count); | 2742 input->capture_count); |
| 2742 } | 2743 } |
| 2743 | 2744 |
| 2744 | 2745 |
| 2745 }} // namespace v8::internal | 2746 }} // namespace v8::internal |
| OLD | NEW |