MIPS: port RegExpMacroAssembler::CheckStackGuardState should update input string pointer...
... when it is moved or changed by GC. Port r9697 (d53382a) BUG= TEST= Review URL: http://codereview.chromium.org/8362024 Patch from Paul Lind <plind44@gmail.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
b9f6ae21b8
commit
9b0626b52a
@ -1112,6 +1112,11 @@ int RegExpMacroAssemblerMIPS::CheckStackGuardState(Address* return_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;
|
||||
} else if (frame_entry<const String*>(re_frame, kInputString) != *subject) {
|
||||
// Subject string might have been a ConsString that underwent
|
||||
// short-circuiting during GC. That will not change start_address but
|
||||
// will change pointer inside the subject handle.
|
||||
frame_entry<const String*>(re_frame, kInputString) = *subject;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user