| 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 a5848b6dda231369ee78e984bf8542de1487027c..11e6a09ea65dee382a67cb08ef91c690b6a9d7ef 100644
|
| --- a/src/ic/x64/ic-compiler-x64.cc
|
| +++ b/src/ic/x64/ic-compiler-x64.cc
|
| @@ -107,10 +107,11 @@ Handle<Code> PropertyICCompiler::CompilePolymorphic(TypeHandleList* types,
|
| for (int current = 0; current < receiver_count; ++current) {
|
| Handle<HeapType> type = types->at(current);
|
| Handle<Map> map = IC::TypeToMap(*type, isolate());
|
| + Handle<WeakCell> cell = Map::WeakCellForMap(map);
|
| if (!map->is_deprecated()) {
|
| number_of_handled_maps++;
|
| // Check map and tail call if there's a match
|
| - __ Cmp(map_reg, map);
|
| + __ CmpWeakValue(map_reg, scratch2(), cell);
|
| if (type->Is(HeapType::Number())) {
|
| DCHECK(!number_case.is_unused());
|
| __ bind(&number_case);
|
|
|