Index: src/arm/code-stubs-arm.cc |
diff --git a/src/arm/code-stubs-arm.cc b/src/arm/code-stubs-arm.cc |
index f62ac859b1e72f5d00d5553712db2b6ac707f702..09eca72a8c709b2f237c6efc2fdfa90b36e06ba4 100644 |
--- a/src/arm/code-stubs-arm.cc |
+++ b/src/arm/code-stubs-arm.cc |
@@ -2584,7 +2584,7 @@ void ArgumentsAccessStub::GenerateNewNonStrictFast(MacroAssembler* masm) { |
const int kAliasedOffset = |
Context::SlotOffset(Context::ALIASED_ARGUMENTS_BOILERPLATE_INDEX); |
- __ ldr(r4, MemOperand(r8, Context::SlotOffset(Context::GLOBAL_OBJECT_INDEX))); |
+ __ ldr(r4, MemOperand(cp, Context::SlotOffset(Context::GLOBAL_OBJECT_INDEX))); |
__ ldr(r4, FieldMemOperand(r4, GlobalObject::kNativeContextOffset)); |
__ cmp(r1, Operand::Zero()); |
__ ldr(r4, MemOperand(r4, kNormalOffset), eq); |
@@ -2635,7 +2635,7 @@ void ArgumentsAccessStub::GenerateNewNonStrictFast(MacroAssembler* masm) { |
__ str(r6, FieldMemOperand(r4, FixedArray::kMapOffset)); |
__ add(r6, r1, Operand(Smi::FromInt(2))); |
__ str(r6, FieldMemOperand(r4, FixedArray::kLengthOffset)); |
- __ str(r8, FieldMemOperand(r4, FixedArray::kHeaderSize + 0 * kPointerSize)); |
+ __ str(cp, FieldMemOperand(r4, FixedArray::kHeaderSize + 0 * kPointerSize)); |
__ add(r6, r4, Operand(r1, LSL, 1)); |
__ add(r6, r6, Operand(kParameterMapHeaderSize)); |
__ str(r6, FieldMemOperand(r4, FixedArray::kHeaderSize + 1 * kPointerSize)); |
@@ -3029,7 +3029,7 @@ void RegExpExecStub::Generate(MacroAssembler* masm) { |
// For arguments 4 and 3 get string length, calculate start of string data and |
// calculate the shift of the index (0 for ASCII and 1 for two byte). |
- __ add(r8, subject, Operand(SeqString::kHeaderSize - kHeapObjectTag)); |
+ __ add(r7, subject, Operand(SeqString::kHeaderSize - kHeapObjectTag)); |
__ eor(r3, r3, Operand(1)); |
// Load the length from the original subject string from the previous stack |
// frame. Therefore we have to use fp, which points exactly to two pointer |
@@ -3040,12 +3040,12 @@ void RegExpExecStub::Generate(MacroAssembler* masm) { |
// Argument 4, r3: End of string data |
// Argument 3, r2: Start of string data |
// Prepare start and end index of the input. |
- __ add(r9, r8, Operand(r9, LSL, r3)); |
+ __ add(r9, r7, Operand(r9, LSL, r3)); |
__ add(r2, r9, Operand(r1, LSL, r3)); |
- __ ldr(r8, FieldMemOperand(subject, String::kLengthOffset)); |
- __ SmiUntag(r8); |
- __ add(r3, r9, Operand(r8, LSL, r3)); |
+ __ ldr(r7, FieldMemOperand(subject, String::kLengthOffset)); |
+ __ SmiUntag(r7); |
+ __ add(r3, r9, Operand(r7, LSL, r3)); |
// Argument 2 (r1): Previous index. |
// Already there |