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); |