LCOV - code coverage report
Current view: top level - src/interpreter - bytecode-array-random-iterator.cc (source / functions) Hit Total Coverage
Test: app.info Lines: 14 14 100.0 %
Date: 2019-03-21 Functions: 4 4 100.0 %

          Line data    Source code
       1             : // Copyright 2015 the V8 project authors. All rights reserved.
       2             : // Use of this source code is governed by a BSD-style license that can be
       3             : // found in the LICENSE file.
       4             : 
       5             : #include "src/interpreter/bytecode-array-random-iterator.h"
       6             : #include "src/objects-inl.h"
       7             : #include "src/objects/code-inl.h"
       8             : 
       9             : namespace v8 {
      10             : namespace internal {
      11             : namespace interpreter {
      12             : 
      13      528995 : BytecodeArrayRandomIterator::BytecodeArrayRandomIterator(
      14             :     Handle<BytecodeArray> bytecode_array, Zone* zone)
      15      528995 :     : BytecodeArrayAccessor(bytecode_array, 0), offsets_(zone) {
      16             :   // Run forwards through the bytecode array to determine the offset of each
      17             :   // bytecode.
      18    32242197 :   while (current_offset() < bytecode_array->length()) {
      19    31713187 :     offsets_.push_back(current_offset());
      20    15856589 :     SetOffset(current_offset() + current_bytecode_size());
      21             :   }
      22             :   GoToStart();
      23      529001 : }
      24             : 
      25    16385743 : bool BytecodeArrayRandomIterator::IsValid() const {
      26    69519443 :   return current_index_ >= 0 &&
      27    50616178 :          static_cast<size_t>(current_index_) < offsets_.size();
      28             : }
      29             : 
      30    18903265 : void BytecodeArrayRandomIterator::UpdateOffsetFromIndex() {
      31    18903265 :   if (IsValid()) {
      32    36747970 :     SetOffset(offsets_[current_index_]);
      33             :   }
      34    18903259 : }
      35             : 
      36             : }  // namespace interpreter
      37             : }  // namespace internal
      38      120216 : }  // namespace v8

Generated by: LCOV version 1.10