���� JFIF �� � ( %"1"%)+...383,7(-.-
![]() Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20 System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64 User : apache ( 48) PHP Version : 7.4.20 Disable Function : NONE Directory : /proc/self/root/home/real/node-v13.0.1/deps/v8/src/interpreter/ |
// 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. #include "src/interpreter/bytecode-array-random-iterator.h" #include "src/objects/code-inl.h" #include "src/objects/objects-inl.h" namespace v8 { namespace internal { namespace interpreter { BytecodeArrayRandomIterator::BytecodeArrayRandomIterator( std::unique_ptr<AbstractBytecodeArray> bytecode_array, Zone* zone) : BytecodeArrayAccessor(std::move(bytecode_array), 0), offsets_(zone) { Initialize(); } BytecodeArrayRandomIterator::BytecodeArrayRandomIterator( Handle<BytecodeArray> bytecode_array, Zone* zone) : BytecodeArrayAccessor(bytecode_array, 0), offsets_(zone) { Initialize(); } void BytecodeArrayRandomIterator::Initialize() { // Run forwards through the bytecode array to determine the offset of each // bytecode. while (current_offset() < bytecode_array()->length()) { offsets_.push_back(current_offset()); SetOffset(current_offset() + current_bytecode_size()); } GoToStart(); } bool BytecodeArrayRandomIterator::IsValid() const { return current_index_ >= 0 && static_cast<size_t>(current_index_) < offsets_.size(); } void BytecodeArrayRandomIterator::UpdateOffsetFromIndex() { if (IsValid()) { SetOffset(offsets_[current_index_]); } } } // namespace interpreter } // namespace internal } // namespace v8