| Index: src/ia32/regexp-macro-assembler-ia32.cc
|
| ===================================================================
|
| --- src/ia32/regexp-macro-assembler-ia32.cc (revision 2070)
|
| +++ src/ia32/regexp-macro-assembler-ia32.cc (working copy)
|
| @@ -1195,10 +1195,11 @@
|
| const byte* new_address = StringCharacterPosition(*subject, start_index);
|
|
|
| if (start_address != new_address) {
|
| - // If there is a difference, update start and end addresses in the
|
| - // RegExp stack frame to match the new value.
|
| + // If there is a difference, update the object pointer and start and end
|
| + // addresses in the RegExp stack frame to match the new value.
|
| const byte* end_address = frame_entry<const byte* >(re_frame, kInputEnd);
|
| int byte_length = end_address - start_address;
|
| + frame_entry<const String*>(re_frame, kInputString) = *subject;
|
| frame_entry<const byte*>(re_frame, kInputStart) = new_address;
|
| frame_entry<const byte*>(re_frame, kInputEnd) = new_address + byte_length;
|
| }
|
|
|