LCOV - code coverage report
Current view: top level - src/builtins - builtins-call-gen.h (source / functions) Hit Total Coverage
Test: app.info Lines: 2 2 100.0 %
Date: 2019-04-19 Functions: 0 0 -

          Line data    Source code
       1             : // Copyright 2017 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_BUILTINS_BUILTINS_CALL_GEN_H_
       6             : #define V8_BUILTINS_BUILTINS_CALL_GEN_H_
       7             : 
       8             : #include "src/code-stub-assembler.h"
       9             : 
      10             : namespace v8 {
      11             : namespace internal {
      12             : 
      13         392 : class CallOrConstructBuiltinsAssembler : public CodeStubAssembler {
      14             :  public:
      15             :   explicit CallOrConstructBuiltinsAssembler(compiler::CodeAssemblerState* state)
      16         392 :       : CodeStubAssembler(state) {}
      17             : 
      18             :   void CallOrConstructWithArrayLike(TNode<Object> target,
      19             :                                     SloppyTNode<Object> new_target,
      20             :                                     TNode<Object> arguments_list,
      21             :                                     TNode<Context> context);
      22             :   void CallOrConstructDoubleVarargs(TNode<Object> target,
      23             :                                     SloppyTNode<Object> new_target,
      24             :                                     TNode<FixedDoubleArray> elements,
      25             :                                     TNode<Int32T> length,
      26             :                                     TNode<Int32T> args_count,
      27             :                                     TNode<Context> context, TNode<Int32T> kind);
      28             :   void CallOrConstructWithSpread(TNode<Object> target, TNode<Object> new_target,
      29             :                                  TNode<Object> spread, TNode<Int32T> args_count,
      30             :                                  TNode<Context> context);
      31             : 
      32             :   enum class CallFunctionTemplateMode : uint8_t {
      33             :     kCheckAccess,
      34             :     kCheckCompatibleReceiver,
      35             :     kCheckAccessAndCompatibleReceiver,
      36             :   };
      37             : 
      38             :   void CallFunctionTemplate(CallFunctionTemplateMode mode,
      39             :                             TNode<FunctionTemplateInfo> function_template_info,
      40             :                             TNode<IntPtrT> argc, TNode<Context> context);
      41             : 
      42             :  private:
      43             :   TNode<JSReceiver> GetCompatibleReceiver(TNode<JSReceiver> receiver,
      44             :                                           TNode<HeapObject> signature,
      45             :                                           TNode<Context> context);
      46             : };
      47             : 
      48             : }  // namespace internal
      49             : }  // namespace v8
      50             : 
      51             : #endif  // V8_BUILTINS_BUILTINS_CALL_GEN_H_

Generated by: LCOV version 1.10