LCOV - code coverage report
Current view: top level - src/interpreter - bytecode-array-random-iterator.cc (source / functions) Hit Total Coverage
Test: app.info Lines: 13 13 100.0 %
Date: 2017-10-20 Functions: 3 3 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      504925 : BytecodeArrayRandomIterator::BytecodeArrayRandomIterator(
      14             :     Handle<BytecodeArray> bytecode_array, Zone* zone)
      15    33297672 :     : BytecodeArrayAccessor(bytecode_array, 0), offsets_(zone) {
      16             :   // Run forwards through the bytecode array to determine the offset of each
      17             :   // bytecode.
      18    16648837 :   while (current_offset() < bytecode_array->length()) {
      19    32287821 :     offsets_.push_back(current_offset());
      20    16143910 :     SetOffset(current_offset() + current_bytecode_size());
      21             :   }
      22             :   GoToStart();
      23      504926 : }
      24             : 
      25    16648702 : bool BytecodeArrayRandomIterator::IsValid() const {
      26    70855860 :   return current_index_ >= 0 &&
      27    51571709 :          static_cast<size_t>(current_index_) < offsets_.size();
      28             : }
      29             : 
      30    19284151 : void BytecodeArrayRandomIterator::UpdateOffsetFromIndex() {
      31    19284151 :   if (IsValid()) {
      32    37558454 :     SetOffset(offsets_[current_index_]);
      33             :   }
      34    19284151 : }
      35             : 
      36             : }  // namespace interpreter
      37             : }  // namespace internal
      38             : }  // namespace v8

Generated by: LCOV version 1.10