Chromium Code Reviews| Index: src/arm/code-stubs-arm.cc |
| diff --git a/src/arm/code-stubs-arm.cc b/src/arm/code-stubs-arm.cc |
| index ad2ab7e09defba7099488ecd7a4920daf0568a28..f65664166458cb9e0859f2699af400ca90a625ed 100644 |
| --- a/src/arm/code-stubs-arm.cc |
| +++ b/src/arm/code-stubs-arm.cc |
| @@ -4824,27 +4824,31 @@ void RegExpExecStub::Generate(MacroAssembler* masm) { |
| __ IncrementCounter(isolate->counters()->regexp_entry_native(), 1, r0, r2); |
| // Isolates: note we add an additional parameter here (isolate pointer). |
| - const int kRegExpExecuteArguments = 8; |
| + const int kRegExpExecuteArguments = 9; |
| const int kParameterRegisters = 4; |
| __ EnterExitFrame(false, kRegExpExecuteArguments - kParameterRegisters); |
| // Stack pointer now points to cell where return address is to be written. |
| // Arguments are before that on the stack or in registers. |
| - // Argument 8 (sp[16]): Pass current isolate address. |
| + // Argument 9 (sp[20]): Pass current isolate address. |
| __ mov(r0, Operand(ExternalReference::isolate_address())); |
| - __ str(r0, MemOperand(sp, 4 * kPointerSize)); |
| + __ str(r0, MemOperand(sp, 5 * kPointerSize)); |
| - // Argument 7 (sp[12]): Indicate that this is a direct call from JavaScript. |
| + // Argument 8 (sp[16]): Indicate that this is a direct call from JavaScript. |
| __ mov(r0, Operand(1)); |
| - __ str(r0, MemOperand(sp, 3 * kPointerSize)); |
| + __ str(r0, MemOperand(sp, 4 * kPointerSize)); |
| - // Argument 6 (sp[8]): Start (high end) of backtracking stack memory area. |
| + // Argument 7 (sp[12]): Start (high end) of backtracking stack memory area. |
| __ mov(r0, Operand(address_of_regexp_stack_memory_address)); |
| __ ldr(r0, MemOperand(r0, 0)); |
| __ mov(r2, Operand(address_of_regexp_stack_memory_size)); |
| __ ldr(r2, MemOperand(r2, 0)); |
| __ add(r0, r0, Operand(r2)); |
| + __ str(r0, MemOperand(sp, 3 * kPointerSize)); |
| + |
| + // Argument 6: Clear the number of capture registers for non-global capture. |
|
Erik Corry
2012/05/22 08:32:46
I don't understand this comment. Is argument 6 a
Yang
2012/05/22 14:48:03
Done.
|
| + __ mov(r0, Operand(0)); |
| __ str(r0, MemOperand(sp, 2 * kPointerSize)); |
| // Argument 5 (sp[4]): static offsets vector buffer. |
| @@ -4894,6 +4898,7 @@ void RegExpExecStub::Generate(MacroAssembler* masm) { |
| Label success; |
| __ cmp(r0, Operand(NativeRegExpMacroAssembler::SUCCESS)); |
| + // We do not expect multiple results. |
|
Erik Corry
2012/05/22 08:32:46
This comment does not clarify much. Why do we not
Yang
2012/05/22 14:48:03
Done.
|
| __ b(eq, &success); |
| Label failure; |
| __ cmp(r0, Operand(NativeRegExpMacroAssembler::FAILURE)); |