Index: src/arm/stub-cache-arm.cc |
=================================================================== |
--- src/arm/stub-cache-arm.cc (revision 5834) |
+++ src/arm/stub-cache-arm.cc (working copy) |
@@ -607,18 +607,18 @@ |
if (Heap::InNewSpace(callback)) { |
info_loaded = true; |
__ Move(r0, Handle<CallHandlerInfo>(optimization.api_call_info())); |
- __ ldr(r6, FieldMemOperand(r0, CallHandlerInfo::kCallbackOffset)); |
+ __ ldr(r5, FieldMemOperand(r0, CallHandlerInfo::kCallbackOffset)); |
} else { |
- __ Move(r6, Handle<Object>(callback)); |
+ __ Move(r5, Handle<Object>(callback)); |
} |
Object* call_data = optimization.api_call_info()->data(); |
if (Heap::InNewSpace(call_data)) { |
if (!info_loaded) { |
__ Move(r0, Handle<CallHandlerInfo>(optimization.api_call_info())); |
} |
- __ ldr(r5, FieldMemOperand(r0, CallHandlerInfo::kDataOffset)); |
+ __ ldr(r6, FieldMemOperand(r0, CallHandlerInfo::kDataOffset)); |
} else { |
- __ Move(r5, Handle<Object>(call_data)); |
+ __ Move(r6, Handle<Object>(call_data)); |
} |
__ add(sp, sp, Operand(1 * kPointerSize)); |
@@ -1081,11 +1081,11 @@ |
name, miss); |
// Push the arguments on the JS stack of the caller. |
- __ push(receiver); // Receiver. |
- __ push(reg); // Holder. |
+ __ push(receiver); // Receiver |
antonm
2010/11/17 14:10:32
nit: probably change R -> r as you remove a dot.
SeRya
2010/11/17 15:36:29
Reverted change in this line.
|
__ mov(ip, Operand(Handle<AccessorInfo>(callback))); // callback data |
antonm
2010/11/17 14:10:32
why such a change, __ Push(reg, ip, name_reg) appa
SeRya
2010/11/17 15:36:29
It would work, but generates more instructions. |P
|
- __ ldr(reg, FieldMemOperand(ip, AccessorInfo::kDataOffset)); |
- __ Push(ip, reg, name_reg); |
+ __ ldr(scratch3, FieldMemOperand(ip, AccessorInfo::kDataOffset)); |
+ __ Push(reg, scratch3, ip); |
+ __ push(name_reg); |
// Do tail-call to the runtime system. |
ExternalReference load_callback_property = |
@@ -1208,15 +1208,15 @@ |
// holder_reg is either receiver or scratch1. |
if (!receiver.is(holder_reg)) { |
ASSERT(scratch1.is(holder_reg)); |
- __ Push(receiver, holder_reg, scratch2); |
- __ ldr(scratch1, |
+ __ ldr(scratch3, |
antonm
2010/11/17 14:10:32
why scratch3? it looks like the diff might be mad
SeRya
2010/11/17 15:36:29
Done.
|
FieldMemOperand(holder_reg, AccessorInfo::kDataOffset)); |
- __ Push(scratch1, name_reg); |
+ __ Push(receiver, holder_reg, scratch3); |
+ __ Push(scratch2, name_reg); |
} else { |
__ push(receiver); |
__ ldr(scratch1, |
FieldMemOperand(holder_reg, AccessorInfo::kDataOffset)); |
- __ Push(holder_reg, scratch2, scratch1, name_reg); |
+ __ Push(holder_reg, scratch1, scratch2, name_reg); |
} |
ExternalReference ref = |