LCOV - code coverage report
Current view: top level - src/extensions - gc-extension.h (source / functions) Hit Total Coverage
Test: app.info Lines: 5 5 100.0 %
Date: 2019-04-19 Functions: 2 3 66.7 %

          Line data    Source code
       1             : // Copyright 2010 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             : #ifndef V8_EXTENSIONS_GC_EXTENSION_H_
       6             : #define V8_EXTENSIONS_GC_EXTENSION_H_
       7             : 
       8             : #include "include/v8.h"
       9             : #include "src/utils.h"
      10             : 
      11             : namespace v8 {
      12             : namespace internal {
      13             : 
      14      119706 : class GCExtension : public v8::Extension {
      15             :  public:
      16       61008 :   explicit GCExtension(const char* fun_name)
      17             :       : v8::Extension("v8/gc",
      18      122016 :                       BuildSource(buffer_, sizeof(buffer_), fun_name)) {}
      19             :   v8::Local<v8::FunctionTemplate> GetNativeFunctionTemplate(
      20             :       v8::Isolate* isolate, v8::Local<v8::String> name) override;
      21             :   static void GC(const v8::FunctionCallbackInfo<v8::Value>& args);
      22             : 
      23             :  private:
      24             :   static const char* BuildSource(char* buf, size_t size, const char* fun_name) {
      25       61008 :     SNPrintF(Vector<char>(buf, static_cast<int>(size)),
      26       61008 :              "native function %s();", fun_name);
      27             :     return buf;
      28             :   }
      29             : 
      30             :   char buffer_[50];
      31             : };
      32             : 
      33             : }  // namespace internal
      34             : }  // namespace v8
      35             : 
      36             : #endif  // V8_EXTENSIONS_GC_EXTENSION_H_

Generated by: LCOV version 1.10