| Index: src/compiler/common-operator.h
 | 
| diff --git a/src/compiler/common-operator.h b/src/compiler/common-operator.h
 | 
| index a3659adfc2a05cc56231037a54daab292d1288be..0e45b32d2a401a3b84fc57671500b6c2ccafb585 100644
 | 
| --- a/src/compiler/common-operator.h
 | 
| +++ b/src/compiler/common-operator.h
 | 
| @@ -26,9 +26,29 @@ class Operator;
 | 
|  
 | 
|  // Flag that describes how to combine the current environment with
 | 
|  // the output of a node to obtain a framestate for lazy bailout.
 | 
| -enum OutputFrameStateCombine {
 | 
| -  kPushOutput,   // Push the output on the expression stack.
 | 
| -  kIgnoreOutput  // Use the frame state as-is.
 | 
| +class OutputFrameStateCombine {
 | 
| + public:
 | 
| +  enum CombineKind {
 | 
| +    kPushOutput,  // Push the output on the expression stack.
 | 
| +    kPokeAt       // Poke at the given environment location,
 | 
| +                  // counting from the top of the stack.
 | 
| +  };
 | 
| +
 | 
| +  static OutputFrameStateCombine Ignore();
 | 
| +  static OutputFrameStateCombine Push(size_t count = 1);
 | 
| +  static OutputFrameStateCombine PokeAt(size_t index);
 | 
| +
 | 
| +  CombineKind kind();
 | 
| +  size_t GetPushCount();
 | 
| +  size_t GetOffsetToPokeAt();
 | 
| +
 | 
| +  bool IsOutputIgnored();
 | 
| +
 | 
| + private:
 | 
| +  OutputFrameStateCombine(CombineKind kind, size_t parameter);
 | 
| +
 | 
| +  CombineKind kind_;
 | 
| +  size_t parameter_;
 | 
|  };
 | 
|  
 | 
|  
 | 
| 
 |