| Index: src/arm/stub-cache-arm.cc | 
| =================================================================== | 
| --- src/arm/stub-cache-arm.cc	(revision 4872) | 
| +++ src/arm/stub-cache-arm.cc	(working copy) | 
| @@ -1019,6 +1019,14 @@ | 
| } | 
|  | 
|  | 
| +void CallStubCompiler::GenerateNameCheck(String* name, Label* miss) { | 
| +  if (kind_ == Code::KEYED_CALL_IC) { | 
| +    __ cmp(r2, Operand(Handle<String>(name))); | 
| +    __ b(ne, miss); | 
| +  } | 
| +} | 
| + | 
| + | 
| void CallStubCompiler::GenerateMissBranch() { | 
| Handle<Code> ic = ComputeCallMiss(arguments().immediate(), kind_); | 
| __ Jump(ic, RelocInfo::CODE_TARGET); | 
| @@ -1035,6 +1043,8 @@ | 
| // ----------------------------------- | 
| Label miss; | 
|  | 
| +  GenerateNameCheck(name, &miss); | 
| + | 
| const int argc = arguments().immediate(); | 
|  | 
| // Get the receiver of the function from the stack into r0. | 
| @@ -1078,6 +1088,8 @@ | 
|  | 
| Label miss; | 
|  | 
| +  GenerateNameCheck(name, &miss); | 
| + | 
| // Get the receiver from the stack | 
| const int argc = arguments().immediate(); | 
| __ ldr(r1, MemOperand(sp, argc * kPointerSize)); | 
| @@ -1127,6 +1139,8 @@ | 
|  | 
| Label miss; | 
|  | 
| +  GenerateNameCheck(name, &miss); | 
| + | 
| // Get the receiver from the stack | 
| const int argc = arguments().immediate(); | 
| __ ldr(r1, MemOperand(sp, argc * kPointerSize)); | 
| @@ -1198,6 +1212,8 @@ | 
|  | 
| Label miss_in_smi_check; | 
|  | 
| +  GenerateNameCheck(name, &miss_in_smi_check); | 
| + | 
| // Get the receiver from the stack | 
| const int argc = arguments().immediate(); | 
| __ ldr(r1, MemOperand(sp, argc * kPointerSize)); | 
| @@ -1337,6 +1353,8 @@ | 
|  | 
| Label miss; | 
|  | 
| +  GenerateNameCheck(name, &miss); | 
| + | 
| // Get the number of arguments. | 
| const int argc = arguments().immediate(); | 
|  | 
| @@ -1384,6 +1402,8 @@ | 
| // ----------------------------------- | 
| Label miss; | 
|  | 
| +  GenerateNameCheck(name, &miss); | 
| + | 
| // Get the number of arguments. | 
| const int argc = arguments().immediate(); | 
|  | 
|  |