| Index: src/ic/x64/ic-compiler-x64.cc | 
| diff --git a/src/ic/x64/ic-compiler-x64.cc b/src/ic/x64/ic-compiler-x64.cc | 
| index 3d7cc685d5e4c9f5d1957eaf44158ef369a6d30b..a5848b6dda231369ee78e984bf8542de1487027c 100644 | 
| --- a/src/ic/x64/ic-compiler-x64.cc | 
| +++ b/src/ic/x64/ic-compiler-x64.cc | 
| @@ -82,7 +82,11 @@ Handle<Code> PropertyICCompiler::CompilePolymorphic(TypeHandleList* types, | 
| // In case we are compiling an IC for dictionary loads and stores, just | 
| // check whether the name is unique. | 
| if (name.is_identical_to(isolate()->factory()->normal_ic_symbol())) { | 
| -      __ JumpIfNotUniqueName(this->name(), &miss); | 
| +      Register tmp = scratch1(); | 
| +      __ JumpIfSmi(this->name(), &miss); | 
| +      __ movp(tmp, FieldOperand(this->name(), HeapObject::kMapOffset)); | 
| +      __ movzxbp(tmp, FieldOperand(tmp, Map::kInstanceTypeOffset)); | 
| +      __ JumpIfNotUniqueNameInstanceType(tmp, &miss); | 
| } else { | 
| __ Cmp(this->name(), name); | 
| __ j(not_equal, &miss); | 
|  |