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

          Line data    Source code
       1             : 
       2             : // Copyright 2017 the V8 project authors. All rights reserved.
       3             : // Use of this source code is governed by a BSD-style license that can be
       4             : // found in the LICENSE file.
       5             : 
       6             : #include "src/code-stub-assembler.h"
       7             : 
       8             : namespace v8 {
       9             : namespace internal {
      10             : 
      11             : class ForInBuiltinsAssembler : public CodeStubAssembler {
      12             :  public:
      13             :   explicit ForInBuiltinsAssembler(compiler::CodeAssemblerState* state)
      14         258 :       : CodeStubAssembler(state) {}
      15             : 
      16             :   std::tuple<Node*, Node*, Node*> EmitForInPrepare(Node* object, Node* context,
      17             :                                                    Label* call_runtime,
      18             :                                                    Label* nothing_to_iterate);
      19             : 
      20             :   Node* ForInFilter(Node* key, Node* object, Node* context);
      21             : 
      22             :  private:
      23             :   // Get the enumerable length from |map| and return the result as a Smi.
      24             :   Node* EnumLength(Node* map);
      25             :   void CheckPrototypeEnumCache(Node* receiver, Node* map, Label* use_cache,
      26             :                                Label* use_runtime);
      27             :   // Check the cache validity for |receiver|. Branch to |use_cache| if
      28             :   // the cache is valid, otherwise branch to |use_runtime|.
      29             :   void CheckEnumCache(Node* receiver, Label* use_cache,
      30             :                       Label* nothing_to_iterate, Label* use_runtime);
      31             : };
      32             : 
      33             : }  // namespace internal
      34             : }  // namespace v8

Generated by: LCOV version 1.10