Index: src/arm/stub-cache-arm.cc |
=================================================================== |
--- src/arm/stub-cache-arm.cc (revision 4501) |
+++ src/arm/stub-cache-arm.cc (working copy) |
@@ -1551,35 +1551,34 @@ |
// ----------- S t a t e ------------- |
// -- r2 : name |
// -- lr : return address |
- // -- [sp] : receiver |
+ // -- r0 : receiver |
+ // -- sp[0] : receiver |
// ----------------------------------- |
Label miss; |
- // Get the receiver from the stack. |
- __ ldr(r1, MemOperand(sp, 0 * kPointerSize)); |
- |
// If the object is the holder then we know that it's a global |
// object which can only happen for contextual calls. In this case, |
// the receiver cannot be a smi. |
if (object != holder) { |
- __ tst(r1, Operand(kSmiTagMask)); |
+ __ tst(r0, Operand(kSmiTagMask)); |
__ b(eq, &miss); |
} |
// Check that the map of the global has not changed. |
- CheckPrototypes(object, r1, holder, r3, r0, name, &miss); |
+ CheckPrototypes(object, r0, holder, r3, r4, name, &miss); |
// Get the value from the cell. |
__ mov(r3, Operand(Handle<JSGlobalPropertyCell>(cell))); |
- __ ldr(r0, FieldMemOperand(r3, JSGlobalPropertyCell::kValueOffset)); |
+ __ ldr(r4, FieldMemOperand(r3, JSGlobalPropertyCell::kValueOffset)); |
// Check for deleted property if property can actually be deleted. |
if (!is_dont_delete) { |
__ LoadRoot(ip, Heap::kTheHoleValueRootIndex); |
- __ cmp(r0, ip); |
+ __ cmp(r4, ip); |
__ b(eq, &miss); |
} |
+ __ mov(r0, r4); |
__ IncrementCounter(&Counters::named_load_global_inline, 1, r1, r3); |
__ Ret(); |