Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index ad7df3765f14a2f9334a5970b565a137242e395d..6fa034a87d896cf499e6ce22b8f51a54dd166b4a 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -17426,6 +17426,17 @@ Handle<UnseededNumberDictionary> UnseededNumberDictionary::AddNumberEntry( |
return Add(dictionary, key, value, PropertyDetails::Empty()); |
} |
+Handle<UnseededNumberDictionary> UnseededNumberDictionary::DeleteKey( |
+ Handle<UnseededNumberDictionary> dictionary, uint32_t key) { |
+ int entry = dictionary->FindEntry(key); |
+ if (entry == kNotFound) return dictionary; |
+ |
+ Factory* factory = dictionary->GetIsolate()->factory(); |
+ dictionary->SetEntry(entry, factory->the_hole_value(), |
+ factory->the_hole_value()); |
+ dictionary->ElementRemoved(); |
+ return dictionary->Shrink(dictionary, key); |
+} |
Handle<SeededNumberDictionary> SeededNumberDictionary::AtNumberPut( |
Handle<SeededNumberDictionary> dictionary, uint32_t key, |