Index: src/x87/stub-cache-x87.cc |
diff --git a/src/x87/stub-cache-x87.cc b/src/x87/stub-cache-x87.cc |
index 6a4e5be653fe661b1a0b0f3ab1de94f6e34e7c8f..f351d62ebe4fc375d90e4aa03a4346056059e331 100644 |
--- a/src/x87/stub-cache-x87.cc |
+++ b/src/x87/stub-cache-x87.cc |
@@ -1299,8 +1299,14 @@ Handle<Code> PropertyICCompiler::CompilePolymorphic(TypeHandleList* types, |
if (check == PROPERTY && |
(kind() == Code::KEYED_LOAD_IC || kind() == Code::KEYED_STORE_IC)) { |
- __ cmp(this->name(), Immediate(name)); |
- __ j(not_equal, &miss); |
+ // 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); |
+ } else { |
+ __ cmp(this->name(), Immediate(name)); |
+ __ j(not_equal, &miss); |
+ } |
} |
Label number_case; |