Index: src/hydrogen-instructions.cc |
diff --git a/src/hydrogen-instructions.cc b/src/hydrogen-instructions.cc |
index f10937977c8f6393f301b9af0d2e05c7092a1a59..7734d2b4a9f74754d5c21b142e4ec68ddf99a94c 100644 |
--- a/src/hydrogen-instructions.cc |
+++ b/src/hydrogen-instructions.cc |
@@ -626,7 +626,7 @@ bool HValue::Equals(HValue* other) { |
if (!other->type_.Equals(type_)) return false; |
if (other->flags() != flags()) return false; |
if (OperandCount() != other->OperandCount()) return false; |
- for (int i = 0; i < OperandCount(); ++i) { |
+ for (int i = 0; i < CompareOperandCount(); ++i) { |
if (OperandAt(i)->id() != other->OperandAt(i)->id()) return false; |
} |
bool result = DataEquals(other); |
@@ -637,7 +637,7 @@ bool HValue::Equals(HValue* other) { |
intptr_t HValue::Hashcode() { |
intptr_t result = opcode(); |
- int count = OperandCount(); |
+ int count = CompareOperandCount(); |
for (int i = 0; i < count; ++i) { |
result = result * 19 + OperandAt(i)->id() + (result >> 7); |
} |
@@ -3289,8 +3289,9 @@ HCheckMaps* HCheckMaps::New(Zone* zone, |
Handle<Map> map, |
CompilationInfo* info, |
HValue* typecheck) { |
- HCheckMaps* check_map = new(zone) HCheckMaps(value, zone, typecheck); |
+ HCheckMaps* check_map = new(zone) HCheckMaps(context, value, zone, typecheck); |
check_map->map_set_.Add(map, zone); |
+ check_map->has_migration_target_ = map->is_migration_target(); |
if (map->CanOmitMapChecks() && |
value->IsConstant() && |
HConstant::cast(value)->InstanceOf(map)) { |