| Index: src/arm/full-codegen-arm.cc
|
| ===================================================================
|
| --- src/arm/full-codegen-arm.cc (revision 4576)
|
| +++ src/arm/full-codegen-arm.cc (working copy)
|
| @@ -728,7 +728,7 @@
|
| ASSERT_NOT_NULL(object_slot);
|
|
|
| // Load the object.
|
| - Move(r2, object_slot);
|
| + Move(r1, object_slot);
|
|
|
| // Assert that the key is a smi.
|
| Literal* key_literal = property->key()->AsLiteral();
|
| @@ -736,12 +736,12 @@
|
| ASSERT(key_literal->handle()->IsSmi());
|
|
|
| // Load the key.
|
| - __ mov(r1, Operand(key_literal->handle()));
|
| + __ mov(r0, Operand(key_literal->handle()));
|
|
|
| // Push both as arguments to ic.
|
| - __ Push(r2, r1);
|
| + __ Push(r1, r0);
|
|
|
| - // Do a keyed property load.
|
| + // Call keyed load IC. It has all arguments on the stack and the key in r0.
|
| Handle<Code> ic(Builtins::builtin(Builtins::KeyedLoadIC_Initialize));
|
| __ Call(ic, RelocInfo::CODE_TARGET);
|
|
|
| @@ -1005,6 +1005,8 @@
|
|
|
| void FullCodeGenerator::EmitKeyedPropertyLoad(Property* prop) {
|
| SetSourcePosition(prop->position());
|
| + // Call keyed load IC. It has all arguments on the stack and the key in r0.
|
| + __ ldr(r0, MemOperand(sp, 0));
|
| Handle<Code> ic(Builtins::builtin(Builtins::KeyedLoadIC_Initialize));
|
| __ Call(ic, RelocInfo::CODE_TARGET);
|
| }
|
| @@ -1247,6 +1249,9 @@
|
| VisitForValue(prop->key(), kStack);
|
| // Record source code position for IC call.
|
| SetSourcePosition(prop->position());
|
| + // Call keyed load IC. It has all arguments on the stack and the key in
|
| + // r0.
|
| + __ ldr(r0, MemOperand(sp, 0));
|
| Handle<Code> ic(Builtins::builtin(Builtins::KeyedLoadIC_Initialize));
|
| __ Call(ic, RelocInfo::CODE_TARGET);
|
| // Load receiver object into r1.
|
|
|