Chromium Code Reviews| Index: src/lookup.cc | 
| diff --git a/src/lookup.cc b/src/lookup.cc | 
| index 716622b475de66d098dfa587ad8b467f47d01f6d..1b2d35e335344275c534bbe8a4a371edb0452552 100644 | 
| --- a/src/lookup.cc | 
| +++ b/src/lookup.cc | 
| @@ -228,6 +228,28 @@ void LookupIterator::ApplyTransitionToDataProperty() { | 
| } | 
| +void LookupIterator::Delete() { | 
| + Handle<JSObject> holder = Handle<JSObject>::cast(holder_); | 
| + if (IsElement()) { | 
| + ElementsAccessor* accessor = holder->GetElementsAccessor(); | 
| + accessor->Delete(holder, number_); | 
| + } else { | 
| + PropertyNormalizationMode mode = holder->map()->is_prototype_map() | 
| + ? KEEP_INOBJECT_PROPERTIES | 
| + : CLEAR_INOBJECT_PROPERTIES; | 
| + | 
| + if (holder->HasFastProperties()) { | 
| + JSObject::NormalizeProperties(holder, mode, 0, "DeletingProperty"); | 
| + holder_map_ = handle(holder->map(), isolate_); | 
| + ReloadPropertyInformation(); | 
| + } | 
| + // TODO(verwaest): Get rid of the name_ argument. | 
| + JSObject::DeleteNormalizedProperty(holder, name_, number_); | 
| + JSObject::ReoptimizeIfPrototype(holder); | 
| 
 
Igor Sheludko
2015/07/03 15:09:02
Shouldn't you call NotFound() here?
 
 | 
| + } | 
| +} | 
| + | 
| + | 
| void LookupIterator::TransitionToAccessorProperty( | 
| AccessorComponent component, Handle<Object> accessor, | 
| PropertyAttributes attributes) { |