Chromium Code Reviews| Index: src/interpreter/bytecode-generator.h |
| diff --git a/src/interpreter/bytecode-generator.h b/src/interpreter/bytecode-generator.h |
| index 2653dd05cf4bb8b3cc6611f49ac92ed0eef3db14..9ef68b3cf640e84530769e2355cb489d1b4044b2 100644 |
| --- a/src/interpreter/bytecode-generator.h |
| +++ b/src/interpreter/bytecode-generator.h |
| @@ -37,6 +37,7 @@ class BytecodeGenerator final : public AstVisitor<BytecodeGenerator> { |
| private: |
| class AccumulatorResultScope; |
| class ContextScope; |
| + class ControlResultScope; |
|
rmcilroy
2016/08/12 11:15:26
Let's go with TestControlScope and VisitForTest. T
klaasb
2016/08/12 16:00:13
Done.
|
| class ControlScope; |
| class ControlScopeForBreakable; |
| class ControlScopeForIteration; |
| @@ -48,6 +49,9 @@ class BytecodeGenerator final : public AstVisitor<BytecodeGenerator> { |
| class GlobalDeclarationsBuilder; |
| class RegisterResultScope; |
| class RegisterAllocationScope; |
| + class BytecodeLabels; |
| + |
| + enum class ControlFallthrough; |
| void GenerateBytecode(); |
| void GenerateBytecodeBody(); |
| @@ -163,6 +167,9 @@ class BytecodeGenerator final : public AstVisitor<BytecodeGenerator> { |
| MUST_USE_RESULT Register VisitForRegisterValue(Expression* expr); |
| void VisitForRegisterValue(Expression* expr, Register destination); |
| void VisitForEffect(Expression* expr); |
| + void VisitForControl(Expression* expr, BytecodeLabels* then_labels, |
| + BytecodeLabels* else_labels, |
| + ControlFallthrough fallthrough); |
| // Methods for tracking and remapping register. |
| void RecordStoreToRegister(Register reg); |