Index: src/deoptimizer.cc |
diff --git a/src/deoptimizer.cc b/src/deoptimizer.cc |
index 94e228eff495ca97577134b6af53ab8944cc410b..a6ac7dc133b4a3c1ac9307e98b7bac4b33ccdb05 100644 |
--- a/src/deoptimizer.cc |
+++ b/src/deoptimizer.cc |
@@ -3803,6 +3803,24 @@ Handle<Object> TranslatedState::MaterializeAt(int frame_index, |
CHECK(next_link->IsUndefined(isolate_)); |
return object; |
} |
+ case CONS_STRING_TYPE: { |
+ Handle<ConsString> object = Handle<ConsString>::cast( |
+ isolate_->factory() |
+ ->NewConsString(isolate_->factory()->undefined_string(), |
+ isolate_->factory()->undefined_string()) |
+ .ToHandleChecked()); |
+ slot->value_ = object; |
+ Handle<Object> hash = MaterializeAt(frame_index, value_index); |
+ Handle<Object> length = MaterializeAt(frame_index, value_index); |
+ Handle<Object> first = MaterializeAt(frame_index, value_index); |
+ Handle<Object> second = MaterializeAt(frame_index, value_index); |
+ object->set_map(*map); |
+ object->set_length(Smi::cast(*length)->value()); |
+ object->set_first(String::cast(*first)); |
+ object->set_second(String::cast(*second)); |
+ CHECK(hash->IsNumber()); // The {Name::kEmptyHashField} value. |
+ return object; |
+ } |
case CONTEXT_EXTENSION_TYPE: { |
Handle<ContextExtension> object = |
isolate_->factory()->NewContextExtension( |