| 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_;
|
| };
|
|
|
|
|
|
|