LCOV - code coverage report
Current view: top level - test/cctest - profiler-extension.h (source / functions) Hit Total Coverage
Test: app.info Lines: 4 4 100.0 %
Date: 2019-04-17 Functions: 1 2 50.0 %

          Line data    Source code
       1             : // Copyright 2013 the V8 project authors. All rights reserved.
       2             : // Redistribution and use in source and binary forms, with or without
       3             : // modification, are permitted provided that the following conditions are
       4             : // met:
       5             : //
       6             : //     * Redistributions of source code must retain the above copyright
       7             : //       notice, this list of conditions and the following disclaimer.
       8             : //     * Redistributions in binary form must reproduce the above
       9             : //       copyright notice, this list of conditions and the following
      10             : //       disclaimer in the documentation and/or other materials provided
      11             : //       with the distribution.
      12             : //     * Neither the name of Google Inc. nor the names of its
      13             : //       contributors may be used to endorse or promote products derived
      14             : //       from this software without specific prior written permission.
      15             : //
      16             : // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
      17             : // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
      18             : // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
      19             : // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
      20             : // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
      21             : // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
      22             : // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
      23             : // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
      24             : // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
      25             : // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
      26             : // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
      27             : //
      28             : // Tests of profiles generator and utilities.
      29             : 
      30             : #ifndef V8_TEST_CCTEST_PROFILER_EXTENSION_H_
      31             : #define V8_TEST_CCTEST_PROFILER_EXTENSION_H_
      32             : 
      33             : #include "include/v8-profiler.h"
      34             : 
      35             : namespace v8 {
      36             : namespace internal {
      37             : 
      38             : class CpuProfiler;
      39             : 
      40       53238 : class ProfilerExtension : public v8::Extension {
      41             :  public:
      42       26639 :   ProfilerExtension() : v8::Extension("v8/profiler", kSource) { }
      43             : 
      44             :   v8::Local<v8::FunctionTemplate> GetNativeFunctionTemplate(
      45             :       v8::Isolate* isolate, v8::Local<v8::String> name) override;
      46             : 
      47          84 :   static void set_profiler(v8::CpuProfiler* profiler) { profiler_ = profiler; }
      48             :   static void set_profiler(CpuProfiler* profiler) {
      49          94 :     profiler_ = reinterpret_cast<v8::CpuProfiler*>(profiler);
      50             :   }
      51             :   static v8::CpuProfiler* profiler() { return profiler_; }
      52             :   static v8::CpuProfile* last_profile;
      53             : 
      54             :  private:
      55             :   static void StartProfiling(const v8::FunctionCallbackInfo<v8::Value>& args);
      56             :   static void StopProfiling(const v8::FunctionCallbackInfo<v8::Value>& args);
      57             :   static void CollectSample(const v8::FunctionCallbackInfo<v8::Value>& args);
      58             : 
      59             :   static v8::CpuProfiler* profiler_;
      60             :   static const char* kSource;
      61             : };
      62             : 
      63             : 
      64             : }  // namespace internal
      65             : }  // namespace v8
      66             : 
      67             : #endif

Generated by: LCOV version 1.10