| Index: src/interpreter/bytecode-array-builder.h
 | 
| diff --git a/src/interpreter/bytecode-array-builder.h b/src/interpreter/bytecode-array-builder.h
 | 
| index fe693371845c3f56c12d10e37a37debe1552aad3..87c1138efae438c80d36974c063f8d28ae71e03d 100644
 | 
| --- a/src/interpreter/bytecode-array-builder.h
 | 
| +++ b/src/interpreter/bytecode-array-builder.h
 | 
| @@ -27,7 +27,8 @@ class Register;
 | 
|  class BytecodeArrayBuilder final : public ZoneObject, private RegisterMover {
 | 
|   public:
 | 
|    BytecodeArrayBuilder(Isolate* isolate, Zone* zone, int parameter_count,
 | 
| -                       int context_count, int locals_count);
 | 
| +                       int context_count, int locals_count,
 | 
| +                       FunctionLiteral* literal = nullptr);
 | 
|    ~BytecodeArrayBuilder();
 | 
|  
 | 
|    Handle<BytecodeArray> ToBytecodeArray();
 | 
| @@ -257,6 +258,8 @@ class BytecodeArrayBuilder final : public ZoneObject, private RegisterMover {
 | 
|    // entry, so that it can be referenced by above exception handling support.
 | 
|    int NewHandlerEntry() { return handler_table_builder()->NewHandlerEntry(); }
 | 
|  
 | 
| +  void InitializeReturnPosition(FunctionLiteral* literal);
 | 
| +
 | 
|    void SetStatementPosition(Statement* stmt);
 | 
|    void SetExpressionPosition(Expression* expr);
 | 
|  
 | 
| @@ -269,7 +272,7 @@ class BytecodeArrayBuilder final : public ZoneObject, private RegisterMover {
 | 
|      return &temporary_allocator_;
 | 
|    }
 | 
|  
 | 
| -  void EnsureReturn(FunctionLiteral* literal);
 | 
| +  void EnsureReturn();
 | 
|  
 | 
|   private:
 | 
|    class PreviousBytecodeHelper;
 | 
| @@ -334,8 +337,8 @@ class BytecodeArrayBuilder final : public ZoneObject, private RegisterMover {
 | 
|    bool NeedToBooleanCast();
 | 
|    bool IsRegisterInAccumulator(Register reg);
 | 
|  
 | 
| -  // Set position for implicit return.
 | 
| -  void SetReturnPosition(FunctionLiteral* fun);
 | 
| +  // Set position for return.
 | 
| +  void SetReturnPosition();
 | 
|  
 | 
|    // Gets a constant pool entry for the |object|.
 | 
|    size_t GetConstantPoolEntry(Handle<Object> object);
 | 
| @@ -371,6 +374,7 @@ class BytecodeArrayBuilder final : public ZoneObject, private RegisterMover {
 | 
|    int parameter_count_;
 | 
|    int local_register_count_;
 | 
|    int context_register_count_;
 | 
| +  int return_position_;
 | 
|    TemporaryRegisterAllocator temporary_allocator_;
 | 
|    RegisterTranslator register_translator_;
 | 
|  
 | 
| 
 |