| Index: src/compiler/ast-graph-builder.cc | 
| diff --git a/src/compiler/ast-graph-builder.cc b/src/compiler/ast-graph-builder.cc | 
| index f2e10ecfe5354e71c159f151c40dd48fccfb48a7..d0ebd6bf6ffdff709171fcb7423020a88faeb8e9 100644 | 
| --- a/src/compiler/ast-graph-builder.cc | 
| +++ b/src/compiler/ast-graph-builder.cc | 
| @@ -1911,7 +1911,6 @@ void AstGraphBuilder::VisitArrayLiteral(ArrayLiteral* expr) { | 
| Node* closure = GetFunctionClosure(); | 
|  | 
| // Create node to deep-copy the literal boilerplate. | 
| -  expr->BuildConstantElements(isolate()); | 
| Node* literals_array = | 
| BuildLoadObjectField(closure, JSFunction::kLiteralsOffset); | 
| Node* literal_index = jsgraph()->Constant(expr->literal_index()); | 
| @@ -1938,13 +1937,11 @@ void AstGraphBuilder::VisitArrayLiteral(ArrayLiteral* expr) { | 
| VisitForValue(subexpr); | 
| { | 
| FrameStateBeforeAndAfter states(this, subexpr->id()); | 
| +      VectorSlotPair pair = CreateVectorSlotPair(expr->LiteralFeedbackSlot()); | 
| Node* value = environment()->Pop(); | 
| Node* index = jsgraph()->Constant(array_index); | 
| -      // TODO(turbofan): More efficient code could be generated here. Consider | 
| -      // that the store will be generic because we don't have a feedback vector | 
| -      // slot. | 
| -      Node* store = BuildKeyedStore(literal, index, value, VectorSlotPair(), | 
| -                                    TypeFeedbackId::None()); | 
| +      Node* store = | 
| +          BuildKeyedStore(literal, index, value, pair, TypeFeedbackId::None()); | 
| states.AddToNode(store, expr->GetIdForElement(array_index), | 
| OutputFrameStateCombine::Ignore()); | 
| } | 
|  |