| Index: src/interpreter/bytecode-generator.h
 | 
| diff --git a/src/interpreter/bytecode-generator.h b/src/interpreter/bytecode-generator.h
 | 
| index 41c529218fd5831c4222ba4b21db6ced580f86bf..fa86489f2dcb925d893734e54cdda61bb37f6ebb 100644
 | 
| --- a/src/interpreter/bytecode-generator.h
 | 
| +++ b/src/interpreter/bytecode-generator.h
 | 
| @@ -72,10 +72,9 @@ class BytecodeGenerator final : public AstVisitor<BytecodeGenerator> {
 | 
|    // Used by flow control routines to evaluate loop condition.
 | 
|    void VisitCondition(Expression* expr);
 | 
|  
 | 
| -  // Visit the arguments expressions in |args| and store them in |args_regs|
 | 
| -  // starting at register |first_argument_register| in the list.
 | 
| -  void VisitArguments(ZoneList<Expression*>* args, RegisterList arg_regs,
 | 
| -                      size_t first_argument_register = 0);
 | 
| +  // Visit the arguments expressions in |args| and store them in |args_regs|,
 | 
| +  // growing |args_regs| for each argument visited.
 | 
| +  void VisitArguments(ZoneList<Expression*>* args, RegisterList* arg_regs);
 | 
|  
 | 
|    // Visit a keyed super property load. The optional
 | 
|    // |opt_receiver_out| register will have the receiver stored to it
 | 
| @@ -92,7 +91,8 @@ class BytecodeGenerator final : public AstVisitor<BytecodeGenerator> {
 | 
|                                     Register opt_receiver_out);
 | 
|  
 | 
|    void VisitPropertyLoad(Register obj, Property* expr);
 | 
| -  void VisitPropertyLoadForAccumulator(Register obj, Property* expr);
 | 
| +  void VisitPropertyLoadForRegister(Register obj, Property* expr,
 | 
| +                                    Register destination);
 | 
|  
 | 
|    void BuildVariableLoad(Variable* variable, FeedbackVectorSlot slot,
 | 
|                           HoleCheckMode hole_check_mode,
 | 
| @@ -153,12 +153,15 @@ class BytecodeGenerator final : public AstVisitor<BytecodeGenerator> {
 | 
|    // Visit a statement and switch scopes, the context is in the accumulator.
 | 
|    void VisitInScope(Statement* stmt, Scope* scope);
 | 
|  
 | 
| +  void BuildPushUndefinedIntoRegisterList(RegisterList* reg_list);
 | 
| +
 | 
|    // Visitors for obtaining expression result in the accumulator, in a
 | 
|    // register, or just getting the effect.
 | 
|    void VisitForAccumulatorValue(Expression* expr);
 | 
|    void VisitForAccumulatorValueOrTheHole(Expression* expr);
 | 
|    MUST_USE_RESULT Register VisitForRegisterValue(Expression* expr);
 | 
|    void VisitForRegisterValue(Expression* expr, Register destination);
 | 
| +  void VisitAndPushIntoRegisterList(Expression* expr, RegisterList* reg_list);
 | 
|    void VisitForEffect(Expression* expr);
 | 
|    void VisitForTest(Expression* expr, BytecodeLabels* then_labels,
 | 
|                      BytecodeLabels* else_labels, TestFallthrough fallthrough);
 | 
| 
 |