LCOV - code coverage report
Current view: top level - src/ic - access-compiler.cc (source / functions) Hit Total Coverage
Test: app.info Lines: 18 21 85.7 %
Date: 2017-10-20 Functions: 4 4 100.0 %

          Line data    Source code
       1             : // Copyright 2014 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/ic/access-compiler.h"
       6             : #include "src/assembler-inl.h"
       7             : #include "src/objects-inl.h"
       8             : 
       9             : namespace v8 {
      10             : namespace internal {
      11             : 
      12      245683 : void PropertyAccessCompiler::TailCallBuiltin(MacroAssembler* masm,
      13             :                                              Builtins::Name name) {
      14      245683 :   Handle<Code> code(masm->isolate()->builtins()->builtin(name));
      15      245683 :   GenerateTailCall(masm, code);
      16      245683 : }
      17             : 
      18      245699 : Register* PropertyAccessCompiler::GetCallingConvention(Isolate* isolate,
      19             :                                                        Type type) {
      20             :   AccessCompilerData* data = isolate->access_compiler_data();
      21      245699 :   if (!data->IsInitialized()) {
      22        3960 :     InitializePlatformSpecific(data);
      23             :   }
      24      245699 :   switch (type) {
      25             :     case LOAD:
      26        3512 :       return data->load_calling_convention();
      27             :     case STORE:
      28      242187 :       return data->store_calling_convention();
      29             :   }
      30           0 :   UNREACHABLE();
      31             :   return data->store_calling_convention();
      32             : }
      33             : 
      34             : 
      35      491382 : Register PropertyAccessCompiler::slot() const {
      36      491382 :   switch (type_) {
      37             :     case LOAD:
      38        7024 :       return LoadDescriptor::SlotRegister();
      39             :     case STORE:
      40      484358 :       return StoreWithVectorDescriptor::SlotRegister();
      41             :   }
      42           0 :   UNREACHABLE();
      43             :   return StoreWithVectorDescriptor::SlotRegister();
      44             : }
      45             : 
      46      491382 : Register PropertyAccessCompiler::vector() const {
      47      491382 :   switch (type_) {
      48             :     case LOAD:
      49        7024 :       return LoadWithVectorDescriptor::VectorRegister();
      50             :     case STORE:
      51      484358 :       return StoreWithVectorDescriptor::VectorRegister();
      52             :   }
      53           0 :   UNREACHABLE();
      54             :   return StoreWithVectorDescriptor::VectorRegister();
      55             : }
      56             : }  // namespace internal
      57             : }  // namespace v8

Generated by: LCOV version 1.10