| Index: src/arm/fast-codegen-arm.cc
|
| ===================================================================
|
| --- src/arm/fast-codegen-arm.cc (revision 3473)
|
| +++ src/arm/fast-codegen-arm.cc (working copy)
|
| @@ -1080,7 +1080,9 @@
|
| DropAndMove(expr->context(), r0);
|
| }
|
|
|
| -void FastCodeGenerator::EmitCallWithIC(Call* expr, RelocInfo::Mode reloc_info) {
|
| +void FastCodeGenerator::EmitCallWithIC(Call* expr,
|
| + Handle<Object> ignored,
|
| + RelocInfo::Mode mode) {
|
| // Code common for calls using the IC.
|
| ZoneList<Expression*>* args = expr->arguments();
|
| int arg_count = args->length();
|
| @@ -1093,7 +1095,7 @@
|
| // Call the IC initialization code.
|
| Handle<Code> ic = CodeGenerator::ComputeCallInitialize(arg_count,
|
| NOT_IN_LOOP);
|
| - __ Call(ic, reloc_info);
|
| + __ Call(ic, mode);
|
| // Restore context register.
|
| __ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
|
| // Discard the function left on TOS.
|
| @@ -1133,7 +1135,7 @@
|
| // Push global object as receiver for the call IC lookup.
|
| __ ldr(r0, CodeGenerator::GlobalObject());
|
| __ stm(db_w, sp, r1.bit() | r0.bit());
|
| - EmitCallWithIC(expr, RelocInfo::CODE_TARGET_CONTEXT);
|
| + EmitCallWithIC(expr, var->name(), RelocInfo::CODE_TARGET_CONTEXT);
|
| } else if (var != NULL && var->slot() != NULL &&
|
| var->slot()->type() == Slot::LOOKUP) {
|
| // Call to a lookup slot.
|
| @@ -1147,7 +1149,7 @@
|
| __ mov(r0, Operand(key->handle()));
|
| __ push(r0);
|
| Visit(prop->obj());
|
| - EmitCallWithIC(expr, RelocInfo::CODE_TARGET);
|
| + EmitCallWithIC(expr, key->handle(), RelocInfo::CODE_TARGET);
|
| } else {
|
| // Call to a keyed property, use keyed load IC followed by function
|
| // call.
|
|
|