LCOV - code coverage report
Current view: top level - src/snapshot - snapshot-external.cc (source / functions) Hit Total Coverage
Test: app.info Lines: 6 6 100.0 %
Date: 2019-02-19 Functions: 4 4 100.0 %

          Line data    Source code
       1             : // Copyright 2006-2008 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             : // Used for building with external snapshots.
       6             : 
       7             : #include "src/snapshot/snapshot.h"
       8             : 
       9             : #include "src/base/platform/mutex.h"
      10             : #include "src/snapshot/snapshot-source-sink.h"
      11             : #include "src/v8.h"  // for V8::Initialize
      12             : 
      13             : 
      14             : #ifndef V8_USE_EXTERNAL_STARTUP_DATA
      15             : #error snapshot-external.cc is used only for the external snapshot build.
      16             : #endif  // V8_USE_EXTERNAL_STARTUP_DATA
      17             : 
      18             : 
      19             : namespace v8 {
      20             : namespace internal {
      21             : 
      22             : static base::LazyMutex external_startup_data_mutex = LAZY_MUTEX_INITIALIZER;
      23             : static v8::StartupData external_startup_blob = {nullptr, 0};
      24             : 
      25       59592 : void SetSnapshotFromFile(StartupData* snapshot_blob) {
      26             :   base::MutexGuard lock_guard(external_startup_data_mutex.Pointer());
      27             :   DCHECK(snapshot_blob);
      28             :   DCHECK(snapshot_blob->data);
      29             :   DCHECK_GT(snapshot_blob->raw_size, 0);
      30             :   DCHECK(!external_startup_blob.data);
      31             :   DCHECK(Snapshot::SnapshotIsValid(snapshot_blob));
      32       59592 :   external_startup_blob = *snapshot_blob;
      33       59592 : }
      34             : 
      35             : 
      36       60753 : const v8::StartupData* Snapshot::DefaultSnapshotBlob() {
      37             :   base::MutexGuard lock_guard(external_startup_data_mutex.Pointer());
      38       60753 :   return &external_startup_blob;
      39             : }
      40             : }  // namespace internal
      41      178776 : }  // namespace v8

Generated by: LCOV version 1.10