| 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);
 | 
|  
 | 
| 
 |