| Index: src/ast.h
|
| diff --git a/src/ast.h b/src/ast.h
|
| index 802ac65962501dfa47db0f43f4e4de95c984a145..e72296cff74baa0116c0a1d9aa7781f22c999966 100644
|
| --- a/src/ast.h
|
| +++ b/src/ast.h
|
| @@ -1870,6 +1870,15 @@ class Assignment: public Expression {
|
| // This check relies on the definition order of token in token.h.
|
| bool is_compound() const { return op() > Token::ASSIGN; }
|
|
|
| + // An initialization block is a series of statments of the form
|
| + // x.y.z.a = ...; x.y.z.b = ...; etc. The parser marks the beginning and
|
| + // ending of these blocks to allow for optimizations of initialization
|
| + // blocks.
|
| + bool starts_initialization_block() { return block_start_; }
|
| + bool ends_initialization_block() { return block_end_; }
|
| + void mark_block_start() { block_start_ = true; }
|
| + void mark_block_end() { block_end_ = true; }
|
| +
|
| BailoutId AssignmentId() const { return assignment_id_; }
|
|
|
| // Type feedback information.
|
| @@ -1902,6 +1911,9 @@ class Assignment: public Expression {
|
| BinaryOperation* binary_operation_;
|
| const BailoutId assignment_id_;
|
|
|
| + bool block_start_;
|
| + bool block_end_;
|
| +
|
| bool is_monomorphic_;
|
| SmallMapList receiver_types_;
|
| };
|
|
|