| Index: src/regexp-macro-assembler.cc
|
| ===================================================================
|
| --- src/regexp-macro-assembler.cc (revision 3531)
|
| +++ src/regexp-macro-assembler.cc (working copy)
|
| @@ -143,17 +143,6 @@
|
| input_end,
|
| offsets_vector,
|
| previous_index == 0);
|
| -
|
| - if (res == SUCCESS) {
|
| - // Capture values are relative to start_offset only.
|
| - // Convert them to be relative to start of string.
|
| - for (int i = 0; i < offsets_vector_length; i++) {
|
| - if (offsets_vector[i] >= 0) {
|
| - offsets_vector[i] += previous_index;
|
| - }
|
| - }
|
| - }
|
| -
|
| return res;
|
| }
|
|
|
| @@ -167,7 +156,7 @@
|
| int* output,
|
| bool at_start) {
|
| typedef int (*matcher)(String*, int, const byte*,
|
| - const byte*, int*, int, Address);
|
| + const byte*, int*, int, Address, int);
|
| matcher matcher_func = FUNCTION_CAST<matcher>(code->entry());
|
|
|
| int at_start_val = at_start ? 1 : 0;
|
| @@ -176,6 +165,7 @@
|
| RegExpStack stack;
|
| Address stack_base = RegExpStack::stack_base();
|
|
|
| + int direct_call = 0;
|
| int result = CALL_GENERATED_REGEXP_CODE(matcher_func,
|
| input,
|
| start_offset,
|
| @@ -183,7 +173,8 @@
|
| input_end,
|
| output,
|
| at_start_val,
|
| - stack_base);
|
| + stack_base,
|
| + direct_call);
|
| ASSERT(result <= SUCCESS);
|
| ASSERT(result >= RETRY);
|
|
|
|
|