| Index: src/interpreter/bytecode-array-builder.h
|
| diff --git a/src/interpreter/bytecode-array-builder.h b/src/interpreter/bytecode-array-builder.h
|
| index d68d5e7ffbf4b3860cfa985eb1d041732a799a8e..48f57d0b63edb891b4f7537e0ea56340dbfdc8f8 100644
|
| --- a/src/interpreter/bytecode-array-builder.h
|
| +++ b/src/interpreter/bytecode-array-builder.h
|
| @@ -87,6 +87,7 @@ class BytecodeArrayBuilder {
|
|
|
| // Flow Control.
|
| BytecodeArrayBuilder& Bind(BytecodeLabel* label);
|
| + BytecodeArrayBuilder& Bind(BytecodeLabel* unbound, BytecodeLabel* bound);
|
| BytecodeArrayBuilder& Jump(BytecodeLabel* label);
|
| BytecodeArrayBuilder& JumpIfTrue(BytecodeLabel* label);
|
| BytecodeArrayBuilder& JumpIfFalse(BytecodeLabel* label);
|
| @@ -95,6 +96,9 @@ class BytecodeArrayBuilder {
|
| BytecodeArrayBuilder& EnterBlock();
|
| BytecodeArrayBuilder& LeaveBlock();
|
|
|
| + // Accessors
|
| + Zone* zone() const { return zone_; }
|
| +
|
| private:
|
| ZoneVector<uint8_t>* bytecodes() { return &bytecodes_; }
|
| const ZoneVector<uint8_t>* bytecodes() const { return &bytecodes_; }
|
| @@ -133,6 +137,7 @@ class BytecodeArrayBuilder {
|
| void ReturnTemporaryRegister(int reg_index);
|
|
|
| Isolate* isolate_;
|
| + Zone* zone_;
|
| ZoneVector<uint8_t> bytecodes_;
|
| bool bytecode_generated_;
|
| size_t last_block_end_;
|
| @@ -159,7 +164,6 @@ class BytecodeArrayBuilder {
|
| class BytecodeLabel final {
|
| public:
|
| BytecodeLabel() : bound_(false), offset_(kInvalidOffset) {}
|
| - ~BytecodeLabel() { DCHECK(bound_ && offset_ != kInvalidOffset); }
|
|
|
| private:
|
| static const size_t kInvalidOffset = static_cast<size_t>(-1);
|
| @@ -188,7 +192,6 @@ class BytecodeLabel final {
|
| size_t offset_;
|
|
|
| friend class BytecodeArrayBuilder;
|
| - DISALLOW_COPY_AND_ASSIGN(BytecodeLabel);
|
| };
|
|
|
|
|
|
|