Chromium Code Reviews| Index: src/interpreter/bytecode-generator.h |
| diff --git a/src/interpreter/bytecode-generator.h b/src/interpreter/bytecode-generator.h |
| index 7284cfe9e18a41ae7454af1333872dcc7f59a922..cdaac481a72e7e0b79cd8f553c561647a033a487 100644 |
| --- a/src/interpreter/bytecode-generator.h |
| +++ b/src/interpreter/bytecode-generator.h |
| @@ -36,6 +36,7 @@ class BytecodeGenerator : public AstVisitor { |
| class EffectResultScope; |
| class AccumulatorResultScope; |
| class RegisterResultScope; |
| + class AssignmentHazardScope; |
| void MakeBytecodeBody(); |
| Register NextContextRegister() const; |
| @@ -54,6 +55,9 @@ class BytecodeGenerator : public AstVisitor { |
| void VisitNot(UnaryOperation* expr); |
| void VisitDelete(UnaryOperation* expr); |
| + // Used by flow control routines to evaluate loop condition. |
| + void VisitCondition(Expression* expr); |
|
rmcilroy
2015/11/05 16:34:51
Remove - no longer used.
|
| + |
| // Helper visitors which perform common operations. |
| Register VisitArguments(ZoneList<Expression*>* arguments); |
| @@ -84,17 +88,12 @@ class BytecodeGenerator : public AstVisitor { |
| Register value_out); |
| void VisitForInAssignment(Expression* expr, FeedbackVectorSlot slot); |
| - |
| // Visitors for obtaining expression result in the accumulator, in a |
| // register, or just getting the effect. |
| void VisitForAccumulatorValue(Expression* expression); |
| MUST_USE_RESULT Register VisitForRegisterValue(Expression* expression); |
| void VisitForEffect(Expression* node); |
| - // Methods marking the start and end of binary expressions. |
| - void PrepareForBinaryExpression(); |
| - void CompleteBinaryExpression(); |
| - |
| // Methods for tracking and remapping register. |
| void RecordStoreToRegister(Register reg); |
| Register LoadFromAliasedRegister(Register reg); |
| @@ -122,6 +121,14 @@ class BytecodeGenerator : public AstVisitor { |
| } |
| ExpressionResultScope* execution_result() const { return execution_result_; } |
| + inline void set_assignment_hazard_scope( |
| + AssignmentHazardScope* assignment_hazard_scope) { |
| + assignment_hazard_scope_ = assignment_hazard_scope; |
| + } |
| + inline AssignmentHazardScope* assignment_hazard_scope() const { |
| + return assignment_hazard_scope_; |
| + } |
| + |
| ZoneVector<Handle<Object>>* globals() { return &globals_; } |
| inline LanguageMode language_mode() const; |
| Strength language_mode_strength() const; |
| @@ -136,9 +143,7 @@ class BytecodeGenerator : public AstVisitor { |
| ControlScope* execution_control_; |
| ContextScope* execution_context_; |
| ExpressionResultScope* execution_result_; |
| - |
| - int binary_expression_depth_; |
| - ZoneSet<int> binary_expression_hazard_set_; |
| + AssignmentHazardScope* assignment_hazard_scope_; |
| }; |
| } // namespace interpreter |