| Index: src/interpreter/bytecode-generator.cc
 | 
| diff --git a/src/interpreter/bytecode-generator.cc b/src/interpreter/bytecode-generator.cc
 | 
| index 05b7010ce70fb7a7aba66d7f490eb93fb5e54014..6d4f1ae75d3bd5109368e15c367bea027ab79608 100644
 | 
| --- a/src/interpreter/bytecode-generator.cc
 | 
| +++ b/src/interpreter/bytecode-generator.cc
 | 
| @@ -498,10 +498,9 @@ class BytecodeGenerator::GlobalDeclarationsBuilder final : public ZoneObject {
 | 
|          has_constant_pool_entry_(false) {}
 | 
|  
 | 
|    void AddFunctionDeclaration(Handle<String> name, FeedbackVectorSlot slot,
 | 
| -                              FeedbackVectorSlot literal_slot,
 | 
|                                FunctionLiteral* func) {
 | 
|      DCHECK(!slot.IsInvalid());
 | 
| -    declarations_.push_back(Declaration(name, slot, literal_slot, func));
 | 
| +    declarations_.push_back(Declaration(name, slot, func));
 | 
|    }
 | 
|  
 | 
|    void AddUndefinedDeclaration(Handle<String> name, FeedbackVectorSlot slot) {
 | 
| @@ -513,7 +512,7 @@ class BytecodeGenerator::GlobalDeclarationsBuilder final : public ZoneObject {
 | 
|      DCHECK(has_constant_pool_entry_);
 | 
|      int array_index = 0;
 | 
|      Handle<FixedArray> data = info->isolate()->factory()->NewFixedArray(
 | 
| -        static_cast<int>(declarations_.size() * 4), TENURED);
 | 
| +        static_cast<int>(declarations_.size() * 3), TENURED);
 | 
|      for (const Declaration& declaration : declarations_) {
 | 
|        FunctionLiteral* func = declaration.func;
 | 
|        Handle<Object> initial_value;
 | 
| @@ -530,14 +529,6 @@ class BytecodeGenerator::GlobalDeclarationsBuilder final : public ZoneObject {
 | 
|  
 | 
|        data->set(array_index++, *declaration.name);
 | 
|        data->set(array_index++, Smi::FromInt(declaration.slot.ToInt()));
 | 
| -      Object* undefined_or_literal_slot;
 | 
| -      if (declaration.literal_slot.IsInvalid()) {
 | 
| -        undefined_or_literal_slot = info->isolate()->heap()->undefined_value();
 | 
| -      } else {
 | 
| -        undefined_or_literal_slot =
 | 
| -            Smi::FromInt(declaration.literal_slot.ToInt());
 | 
| -      }
 | 
| -      data->set(array_index++, undefined_or_literal_slot);
 | 
|        data->set(array_index++, *initial_value);
 | 
|      }
 | 
|      return data;
 | 
| @@ -561,18 +552,11 @@ class BytecodeGenerator::GlobalDeclarationsBuilder final : public ZoneObject {
 | 
|    struct Declaration {
 | 
|      Declaration() : slot(FeedbackVectorSlot::Invalid()), func(nullptr) {}
 | 
|      Declaration(Handle<String> name, FeedbackVectorSlot slot,
 | 
| -                FeedbackVectorSlot literal_slot, FunctionLiteral* func)
 | 
| -        : name(name), slot(slot), literal_slot(literal_slot), func(func) {}
 | 
| -    Declaration(Handle<String> name, FeedbackVectorSlot slot,
 | 
|                  FunctionLiteral* func)
 | 
| -        : name(name),
 | 
| -          slot(slot),
 | 
| -          literal_slot(FeedbackVectorSlot::Invalid()),
 | 
| -          func(func) {}
 | 
| +        : name(name), slot(slot), func(func) {}
 | 
|  
 | 
|      Handle<String> name;
 | 
|      FeedbackVectorSlot slot;
 | 
| -    FeedbackVectorSlot literal_slot;
 | 
|      FunctionLiteral* func;
 | 
|    };
 | 
|    ZoneVector<Declaration> declarations_;
 | 
| @@ -905,9 +889,8 @@ void BytecodeGenerator::VisitFunctionDeclaration(FunctionDeclaration* decl) {
 | 
|    switch (variable->location()) {
 | 
|      case VariableLocation::UNALLOCATED: {
 | 
|        FeedbackVectorSlot slot = decl->proxy()->VariableFeedbackSlot();
 | 
| -      globals_builder()->AddFunctionDeclaration(
 | 
| -          variable->name(), slot, decl->fun()->LiteralFeedbackSlot(),
 | 
| -          decl->fun());
 | 
| +      globals_builder()->AddFunctionDeclaration(variable->name(), slot,
 | 
| +                                                decl->fun());
 | 
|        break;
 | 
|      }
 | 
|      case VariableLocation::PARAMETER:
 | 
| 
 |