OLD | NEW |
1 // Copyright 2006-2009 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2009 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 483 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
494 // We must have done EnsureCompiledIrregexp, so we can get the number of | 494 // We must have done EnsureCompiledIrregexp, so we can get the number of |
495 // registers. | 495 // registers. |
496 int* register_vector = output.start(); | 496 int* register_vector = output.start(); |
497 int number_of_capture_registers = | 497 int number_of_capture_registers = |
498 (IrregexpNumberOfCaptures(*irregexp) + 1) * 2; | 498 (IrregexpNumberOfCaptures(*irregexp) + 1) * 2; |
499 for (int i = number_of_capture_registers - 1; i >= 0; i--) { | 499 for (int i = number_of_capture_registers - 1; i >= 0; i--) { |
500 register_vector[i] = -1; | 500 register_vector[i] = -1; |
501 } | 501 } |
502 Handle<ByteArray> byte_codes(IrregexpByteCode(*irregexp, is_ascii), isolate); | 502 Handle<ByteArray> byte_codes(IrregexpByteCode(*irregexp, is_ascii), isolate); |
503 | 503 |
504 if (IrregexpInterpreter::Match(byte_codes, | 504 if (IrregexpInterpreter::Match(isolate, |
| 505 byte_codes, |
505 subject, | 506 subject, |
506 register_vector, | 507 register_vector, |
507 index)) { | 508 index)) { |
508 return RE_SUCCESS; | 509 return RE_SUCCESS; |
509 } | 510 } |
510 return RE_FAILURE; | 511 return RE_FAILURE; |
511 #endif // V8_INTERPRETED_REGEXP | 512 #endif // V8_INTERPRETED_REGEXP |
512 } | 513 } |
513 | 514 |
514 | 515 |
(...skipping 4842 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5357 } | 5358 } |
5358 | 5359 |
5359 return compiler.Assemble(¯o_assembler, | 5360 return compiler.Assemble(¯o_assembler, |
5360 node, | 5361 node, |
5361 data->capture_count, | 5362 data->capture_count, |
5362 pattern); | 5363 pattern); |
5363 } | 5364 } |
5364 | 5365 |
5365 | 5366 |
5366 }} // namespace v8::internal | 5367 }} // namespace v8::internal |
OLD | NEW |