| Index: src/mips/stub-cache-mips.cc | 
| diff --git a/src/mips/stub-cache-mips.cc b/src/mips/stub-cache-mips.cc | 
| index 65f80c8dd9ab97ac31a9050765b9cf0769f2c97b..437d76923625e92f7030bd6550882adf2e8229c8 100644 | 
| --- a/src/mips/stub-cache-mips.cc | 
| +++ b/src/mips/stub-cache-mips.cc | 
| @@ -3062,7 +3062,7 @@ Handle<Code> LoadStubCompiler::CompileLoadGlobal( | 
|  | 
|  | 
| Handle<Code> BaseLoadStoreStubCompiler::CompilePolymorphicIC( | 
| -    MapHandleList* receiver_maps, | 
| +    TypeHandleList* types, | 
| CodeHandleList* handlers, | 
| Handle<Name> name, | 
| Code::StubType type, | 
| @@ -3074,25 +3074,25 @@ Handle<Code> BaseLoadStoreStubCompiler::CompilePolymorphicIC( | 
| } | 
|  | 
| Label number_case; | 
| -  Label* smi_target = HasHeapNumberMap(receiver_maps) ? &number_case : &miss; | 
| +  Label* smi_target = IncludesNumberType(types) ? &number_case : &miss; | 
| __ JumpIfSmi(receiver(), smi_target); | 
|  | 
| Register map_reg = scratch1(); | 
|  | 
| -  int receiver_count = receiver_maps->length(); | 
| +  int receiver_count = types->length(); | 
| int number_of_handled_maps = 0; | 
| __ lw(map_reg, FieldMemOperand(receiver(), HeapObject::kMapOffset)); | 
| -  Handle<Map> heap_number_map = isolate()->factory()->heap_number_map(); | 
| for (int current = 0; current < receiver_count; ++current) { | 
| -    Handle<Map> map = receiver_maps->at(current); | 
| +    Handle<Type> type = types->at(current); | 
| +    Handle<Map> map = IC::TypeToMap(*type, isolate()); | 
| if (!map->is_deprecated()) { | 
| number_of_handled_maps++; | 
| -      if (map.is_identical_to(heap_number_map)) { | 
| +      if (type->Is(Type::Number())) { | 
| ASSERT(!number_case.is_unused()); | 
| __ bind(&number_case); | 
| } | 
| __ Jump(handlers->at(current), RelocInfo::CODE_TARGET, | 
| -          eq, map_reg, Operand(receiver_maps->at(current))); | 
| +          eq, map_reg, Operand(map)); | 
| } | 
| } | 
| ASSERT(number_of_handled_maps != 0); | 
|  |