Index: src/arm/lithium-codegen-arm.cc |
diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc |
index 8cef74d67aa95d79d80e05e8b0d5d5b02d9a5705..a61e4c0c5144e21f6f062b550f142ead8caa88e4 100644 |
--- a/src/arm/lithium-codegen-arm.cc |
+++ b/src/arm/lithium-codegen-arm.cc |
@@ -4987,15 +4987,13 @@ void LCodeGen::DoToFastProperties(LToFastProperties* instr) { |
void LCodeGen::DoRegExpLiteral(LRegExpLiteral* instr) { |
Label materialized; |
// Registers will be used as follows: |
- // r3 = JS function. |
// r7 = literals array. |
// r1 = regexp literal. |
// r0 = regexp literal clone. |
// r2 and r4-r6 are used as temporaries. |
- __ ldr(r3, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); |
- __ ldr(r7, FieldMemOperand(r3, JSFunction::kLiteralsOffset)); |
- int literal_offset = FixedArray::kHeaderSize + |
- instr->hydrogen()->literal_index() * kPointerSize; |
+ int literal_offset = |
+ FixedArray::OffsetOfElementAt(instr->hydrogen()->literal_index()); |
+ __ LoadHeapObject(r7, instr->hydrogen()->literals()); |
__ ldr(r1, FieldMemOperand(r7, literal_offset)); |
__ LoadRoot(ip, Heap::kUndefinedValueRootIndex); |
__ cmp(r1, ip); |