| Index: src/ia32/stub-cache-ia32.cc
|
| diff --git a/src/ia32/stub-cache-ia32.cc b/src/ia32/stub-cache-ia32.cc
|
| index 55376071472930e2f51e39b51f309e30f9851319..8192ece896a39c34530444d7b08f767d5350d691 100644
|
| --- a/src/ia32/stub-cache-ia32.cc
|
| +++ b/src/ia32/stub-cache-ia32.cc
|
| @@ -1300,8 +1300,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;
|
|
|