Index: runtime/vm/intermediate_language.cc |
diff --git a/runtime/vm/intermediate_language.cc b/runtime/vm/intermediate_language.cc |
index 93c8f846389a3f7aac25a3bd7e86135be5dde340..d0fd54fd8076cd8c5abedb1b945a3557becdef6e 100644 |
--- a/runtime/vm/intermediate_language.cc |
+++ b/runtime/vm/intermediate_language.cc |
@@ -2132,7 +2132,6 @@ void MaterializeObjectInstr::RemapRegisters(intptr_t* fpu_reg_slots, |
Value* value = InputAt(i); |
switch (value->definition()->representation()) { |
case kUnboxedDouble: |
- case kUnboxedMint: |
locations_[i] = Location::DoubleStackSlot(index); |
break; |
case kUnboxedFloat32x4: |
@@ -2143,6 +2142,8 @@ void MaterializeObjectInstr::RemapRegisters(intptr_t* fpu_reg_slots, |
default: |
UNREACHABLE(); |
} |
+ } else if (loc.IsPairLocation()) { |
+ UNREACHABLE(); |
} else if (loc.IsInvalid()) { |
// We currently only perform one iteration of allocation |
// sinking, so we do not expect to find materialized objects |
@@ -2349,7 +2350,7 @@ Environment* Environment::DeepCopy(intptr_t length) const { |
for (intptr_t i = 0; i < length; ++i) { |
copy->values_.Add(values_[i]->Copy()); |
if (locations_ != NULL) { |
- copy->locations_[i] = locations_[i]; |
+ copy->locations_[i] = locations_[i].Copy(); |
} |
} |
return copy; |