| Index: src/ic/arm64/ic-compiler-arm64.cc
|
| diff --git a/src/ic/arm64/ic-compiler-arm64.cc b/src/ic/arm64/ic-compiler-arm64.cc
|
| index fd9a4dbd793e30f3c606d868a00d5cbdeeca2bac..ffc1069f231eea8ffc8a4e7ab75177658820a60f 100644
|
| --- a/src/ic/arm64/ic-compiler-arm64.cc
|
| +++ b/src/ic/arm64/ic-compiler-arm64.cc
|
| @@ -45,7 +45,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);
|
| + __ Ldr(tmp, FieldMemOperand(this->name(), HeapObject::kMapOffset));
|
| + __ Ldrb(tmp, FieldMemOperand(tmp, Map::kInstanceTypeOffset));
|
| + __ JumpIfNotUniqueNameInstanceType(tmp, &miss);
|
| } else {
|
| __ CompareAndBranch(this->name(), Operand(name), ne, &miss);
|
| }
|
|
|