| Index: src/ast.h
 | 
| diff --git a/src/ast.h b/src/ast.h
 | 
| index b7331388fd9744954519b8ea8c91fdfa7667682b..594b78008cceb472d831dad32270b4f5e94fc99e 100644
 | 
| --- a/src/ast.h
 | 
| +++ b/src/ast.h
 | 
| @@ -1964,27 +1964,34 @@ class Yield: public Expression {
 | 
|   public:
 | 
|    DECLARE_NODE_TYPE(Yield)
 | 
|  
 | 
| +  enum Kind {
 | 
| +    INITIAL,     // The initial yield that returns the unboxed generator object.
 | 
| +    SUSPEND,     // A normal yield: { value: EXPRESSION, done: false }
 | 
| +    DELEGATING,  // A yield*.
 | 
| +    FINAL        // A return: { value: EXPRESSION, done: true }
 | 
| +  };
 | 
| +
 | 
|    Expression* generator_object() const { return generator_object_; }
 | 
|    Expression* expression() const { return expression_; }
 | 
| -  bool is_delegating_yield() const { return is_delegating_yield_; }
 | 
| +  Kind yield_kind() const { return yield_kind_; }
 | 
|    virtual int position() const { return pos_; }
 | 
|  
 | 
|   protected:
 | 
|    Yield(Isolate* isolate,
 | 
|          Expression* generator_object,
 | 
|          Expression* expression,
 | 
| -        bool is_delegating_yield,
 | 
| +        Kind yield_kind,
 | 
|          int pos)
 | 
|        : Expression(isolate),
 | 
|          generator_object_(generator_object),
 | 
|          expression_(expression),
 | 
| -        is_delegating_yield_(is_delegating_yield),
 | 
| +        yield_kind_(yield_kind),
 | 
|          pos_(pos) { }
 | 
|  
 | 
|   private:
 | 
|    Expression* generator_object_;
 | 
|    Expression* expression_;
 | 
| -  bool is_delegating_yield_;
 | 
| +  Kind yield_kind_;
 | 
|    int pos_;
 | 
|  };
 | 
|  
 | 
| @@ -2966,10 +2973,10 @@ class AstNodeFactory BASE_EMBEDDED {
 | 
|  
 | 
|    Yield* NewYield(Expression *generator_object,
 | 
|                    Expression* expression,
 | 
| -                  bool is_delegating_yield,
 | 
| +                  Yield::Kind yield_kind,
 | 
|                    int pos) {
 | 
|      Yield* yield = new(zone_) Yield(
 | 
| -        isolate_, generator_object, expression, is_delegating_yield, pos);
 | 
| +        isolate_, generator_object, expression, yield_kind, pos);
 | 
|      VISIT_AND_RETURN(Yield, yield)
 | 
|    }
 | 
|  
 | 
| 
 |