LCOV - code coverage report
Current view: top level - src/crankshaft - hydrogen-uint32-analysis.h (source / functions) Hit Total Coverage
Test: app.info Lines: 3 3 100.0 %
Date: 2017-04-26 Functions: 1 1 100.0 %

          Line data    Source code
       1             : // Copyright 2013 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_CRANKSHAFT_HYDROGEN_UINT32_ANALYSIS_H_
       6             : #define V8_CRANKSHAFT_HYDROGEN_UINT32_ANALYSIS_H_
       7             : 
       8             : #include "src/crankshaft/hydrogen.h"
       9             : 
      10             : namespace v8 {
      11             : namespace internal {
      12             : 
      13             : 
      14             : // Discover instructions that can be marked with kUint32 flag allowing
      15             : // them to produce full range uint32 values.
      16      283730 : class HUint32AnalysisPhase : public HPhase {
      17             :  public:
      18      283730 :   explicit HUint32AnalysisPhase(HGraph* graph)
      19      283730 :       : HPhase("H_Compute safe UInt32 operations", graph), phis_(4, zone()) { }
      20             : 
      21             :   void Run();
      22             : 
      23             :  private:
      24             :   INLINE(bool IsSafeUint32Use(HValue* val, HValue* use));
      25             :   INLINE(bool Uint32UsesAreSafe(HValue* uint32val));
      26             :   INLINE(bool CheckPhiOperands(HPhi* phi));
      27             :   INLINE(void UnmarkPhi(HPhi* phi, ZoneList<HPhi*>* worklist));
      28             :   INLINE(void UnmarkUnsafePhis());
      29             : 
      30             :   ZoneList<HPhi*> phis_;
      31             : };
      32             : 
      33             : 
      34             : }  // namespace internal
      35             : }  // namespace v8
      36             : 
      37             : #endif  // V8_CRANKSHAFT_HYDROGEN_UINT32_ANALYSIS_H_

Generated by: LCOV version 1.10