// Copyright 2015 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef V8_INTERPRETER_BYTECODE_LABEL_H_ #define V8_INTERPRETER_BYTECODE_LABEL_H_ #include <algorithm> #include "src/zone/zone-containers.h" namespace v8 { namespace internal { namespace interpreter { class BytecodeArrayBuilder; // A label representing a loop header in a bytecode array. It is bound before // the jump is seen, so its position is always known by the time the jump is // reached. class V8_EXPORT_PRIVATE BytecodeLoopHeader final { … }; // A label representing a forward branch target in a bytecode array. When a // label is bound, it represents a known position in the bytecode array. A label // can only have at most one referrer jump. class V8_EXPORT_PRIVATE BytecodeLabel final { … }; // Class representing a branch target of multiple jumps. class V8_EXPORT_PRIVATE BytecodeLabels { … }; } // namespace interpreter } // namespace internal } // namespace v8 #endif // V8_INTERPRETER_BYTECODE_LABEL_H_