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

          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             : #ifndef V8_COMPILER_VALUE_NUMBERING_REDUCER_H_
       6             : #define V8_COMPILER_VALUE_NUMBERING_REDUCER_H_
       7             : 
       8             : #include "src/base/compiler-specific.h"
       9             : #include "src/compiler/graph-reducer.h"
      10             : #include "src/globals.h"
      11             : 
      12             : namespace v8 {
      13             : namespace internal {
      14             : namespace compiler {
      15             : 
      16     4955048 : class V8_EXPORT_PRIVATE ValueNumberingReducer final
      17             :     : public NON_EXPORTED_BASE(Reducer) {
      18             :  public:
      19             :   explicit ValueNumberingReducer(Zone* temp_zone, Zone* graph_zone);
      20             :   ~ValueNumberingReducer() override;
      21             : 
      22         236 :   const char* reducer_name() const override { return "ValueNumberingReducer"; }
      23             : 
      24             :   Reduction Reduce(Node* node) override;
      25             : 
      26             :  private:
      27             :   enum { kInitialCapacity = 256u };
      28             : 
      29             :   Reduction ReplaceIfTypesMatch(Node* node, Node* replacement);
      30             :   void Grow();
      31             :   Zone* temp_zone() const { return temp_zone_; }
      32             :   Zone* graph_zone() const { return graph_zone_; }
      33             : 
      34             :   Node** entries_;
      35             :   size_t capacity_;
      36             :   size_t size_;
      37             :   Zone* temp_zone_;
      38             :   Zone* graph_zone_;
      39             : };
      40             : 
      41             : }  // namespace compiler
      42             : }  // namespace internal
      43             : }  // namespace v8
      44             : 
      45             : #endif  // V8_COMPILER_VALUE_NUMBERING_REDUCER_H_

Generated by: LCOV version 1.10