5#ifndef V8_BASELINE_BYTECODE_OFFSET_ITERATOR_H_
6#define V8_BASELINE_BYTECODE_OFFSET_ITERATOR_H_
33 current_pc_start_offset_ = current_pc_end_offset_;
34 current_pc_end_offset_ += ReadPosition();
35 current_bytecode_offset_ = bytecode_iterator_.current_offset();
36 bytecode_iterator_.Advance();
40 while (current_bytecode_offset() < bytecode_offset) {
43 DCHECK_EQ(bytecode_offset, current_bytecode_offset());
47 while (current_pc_end_offset() <
pc_offset) {
56 inline bool done()
const {
return current_index_ >= data_length_; }
59 return current_pc_start_offset_;
63 return current_pc_end_offset_;
67 return current_bytecode_offset_;
74 void UpdatePointers();
79 return base::VLQDecodeUnsigned(data_start_address_, ¤t_index_);
92 std::optional<DisallowGarbageCollection>
no_gc_;
Address current_pc_start_offset_
interpreter::BytecodeArrayIterator bytecode_iterator_
void AdvanceToPCOffset(Address pc_offset)
uint8_t * data_start_address_
Tagged< BytecodeArray > bytecode_handle_storage_
Address current_pc_end_offset() const
void AdvanceToBytecodeOffset(int bytecode_offset)
Address current_pc_end_offset_
static void UpdatePointersCallback(void *iterator)
int current_bytecode_offset() const
Handle< TrustedByteArray > mapping_table_
int current_bytecode_offset_
Address current_pc_start_offset() const
std::optional< DisallowGarbageCollection > no_gc_
#define DCHECK_LE(v1, v2)
#define DCHECK(condition)
#define DCHECK_EQ(v1, v2)
#define DCHECK_GT(v1, v2)
#define V8_EXPORT_PRIVATE