| Index: src/interpreter/bytecode-label.h
|
| diff --git a/src/interpreter/bytecode-label.h b/src/interpreter/bytecode-label.h
|
| index 2f89c4806d96c60c2aa455ebab2525bd80a21a9e..f10a8638a494af6b4554b148f963f89d06b33109 100644
|
| --- a/src/interpreter/bytecode-label.h
|
| +++ b/src/interpreter/bytecode-label.h
|
| @@ -5,10 +5,14 @@
|
| #ifndef V8_INTERPRETER_BYTECODE_LABEL_H_
|
| #define V8_INTERPRETER_BYTECODE_LABEL_H_
|
|
|
| +#include "src/zone-containers.h"
|
| +
|
| namespace v8 {
|
| namespace internal {
|
| namespace interpreter {
|
|
|
| +class BytecodeArrayBuilder;
|
| +
|
| // A label representing a branch target in a bytecode array. When a
|
| // label is bound, it represents a known position in the bytecode
|
| // array. For labels that are forward references there can be at most
|
| @@ -49,6 +53,21 @@ class BytecodeLabel final {
|
| friend class BytecodeArrayWriter;
|
| };
|
|
|
| +// Class representing a branch target of multiple jumps.
|
| +class BytecodeLabels {
|
| + public:
|
| + explicit BytecodeLabels(Zone* zone) : labels_(zone) {}
|
| +
|
| + BytecodeLabel* New();
|
| +
|
| + void Bind(BytecodeArrayBuilder* builder);
|
| +
|
| + private:
|
| + ZoneVector<BytecodeLabel> labels_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(BytecodeLabels);
|
| +};
|
| +
|
| } // namespace interpreter
|
| } // namespace internal
|
| } // namespace v8
|
|
|