| 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)) {
|
|
|