LCOV - code coverage report
Current view: top level - src/ic - access-compiler.cc (source / functions) Hit Total Coverage
Test: app.info Lines: 17 17 100.0 %
Date: 2017-04-26 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       38670 : void PropertyAccessCompiler::TailCallBuiltin(MacroAssembler* masm,
      13             :                                              Builtins::Name name) {
      14             :   Handle<Code> code(masm->isolate()->builtins()->builtin(name));
      15       38670 :   GenerateTailCall(masm, code);
      16       38670 : }
      17             : 
      18       38698 : Register* PropertyAccessCompiler::GetCallingConvention(Isolate* isolate,
      19             :                                                        Code::Kind kind) {
      20             :   AccessCompilerData* data = isolate->access_compiler_data();
      21       38698 :   if (!data->IsInitialized()) {
      22        4029 :     InitializePlatformSpecific(data);
      23             :   }
      24       38698 :   if (kind == Code::LOAD_IC || kind == Code::KEYED_LOAD_IC) {
      25         277 :     return data->load_calling_convention();
      26             :   }
      27             :   DCHECK(kind == Code::STORE_IC || kind == Code::KEYED_STORE_IC);
      28       38421 :   return data->store_calling_convention();
      29             : }
      30             : 
      31             : 
      32       77368 : Register PropertyAccessCompiler::slot() const {
      33       77368 :   if (kind() == Code::LOAD_IC || kind() == Code::KEYED_LOAD_IC) {
      34         554 :     return LoadDescriptor::SlotRegister();
      35             :   }
      36             :   DCHECK(kind() == Code::STORE_IC || kind() == Code::KEYED_STORE_IC);
      37       76814 :   return StoreWithVectorDescriptor::SlotRegister();
      38             : }
      39             : 
      40             : 
      41       77368 : Register PropertyAccessCompiler::vector() const {
      42       77368 :   if (kind() == Code::LOAD_IC || kind() == Code::KEYED_LOAD_IC) {
      43         554 :     return LoadWithVectorDescriptor::VectorRegister();
      44             :   }
      45             :   DCHECK(kind() == Code::STORE_IC || kind() == Code::KEYED_STORE_IC);
      46       76814 :   return StoreWithVectorDescriptor::VectorRegister();
      47             : }
      48             : }  // namespace internal
      49             : }  // namespace v8

Generated by: LCOV version 1.10