| Index: src/compiler/bytecode-graph-builder.cc
 | 
| diff --git a/src/compiler/bytecode-graph-builder.cc b/src/compiler/bytecode-graph-builder.cc
 | 
| index 621ca104d880ab2ecdb43bddb3f194e5815c2d5e..3c4245e4add8af61485c518c1d494d8a062d725f 100644
 | 
| --- a/src/compiler/bytecode-graph-builder.cc
 | 
| +++ b/src/compiler/bytecode-graph-builder.cc
 | 
| @@ -1094,12 +1094,17 @@ void BytecodeGraphBuilder::VisitNew() {
 | 
|    interpreter::Register callee_reg = bytecode_iterator().GetRegisterOperand(0);
 | 
|    interpreter::Register first_arg = bytecode_iterator().GetRegisterOperand(1);
 | 
|    size_t arg_count = bytecode_iterator().GetRegisterCountOperand(2);
 | 
| +  // Slot index of 0 is used indicate no feedback slot is available. Assert
 | 
| +  // the assumption that slot index 0 is never a valid feedback slot.
 | 
| +  STATIC_ASSERT(TypeFeedbackVector::kReservedIndexCount > 0);
 | 
| +  VectorSlotPair feedback =
 | 
| +      CreateVectorSlotPair(bytecode_iterator().GetIndexOperand(3));
 | 
|  
 | 
|    Node* new_target = environment()->LookupAccumulator();
 | 
|    Node* callee = environment()->LookupRegister(callee_reg);
 | 
| -  // TODO(turbofan): Pass the feedback here.
 | 
| -  const Operator* call = javascript()->CallConstruct(
 | 
| -      static_cast<int>(arg_count) + 2, VectorSlotPair());
 | 
| +
 | 
| +  const Operator* call =
 | 
| +      javascript()->CallConstruct(static_cast<int>(arg_count) + 2, feedback);
 | 
|    Node* value = ProcessCallNewArguments(call, callee, new_target, first_arg,
 | 
|                                          arg_count + 2);
 | 
|    environment()->BindAccumulator(value, &states);
 | 
| 
 |