src/share/vm/opto/opaquenode.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/opto

src/share/vm/opto/opaquenode.hpp

Print this page
rev 7652 : 8063137: Never-taken branches should be pruned when GWT LambdaForms are shared
Reviewed-by: ?
rev 7653 : [mq]: branch.freq.1
rev 7656 : imported patch branch.freq.4
rev 7657 : imported patch branch.freq.5


  93 // It is used to override branch frequencies from MDO (see has_injected_profile in parse2.cpp).
  94 class ProfileBooleanNode : public Node {
  95   uint _false_cnt;
  96   uint _true_cnt;
  97   bool _consumed;
  98   bool _delay_removal;
  99   virtual uint hash() const ;                  // { return NO_HASH; }
 100   virtual uint cmp( const Node &n ) const;
 101   public:
 102   ProfileBooleanNode(Node *n, uint false_cnt, uint true_cnt) : Node(0, n),
 103           _false_cnt(false_cnt), _true_cnt(true_cnt), _delay_removal(true), _consumed(false) {}
 104 
 105   uint false_count() const { return _false_cnt; }
 106   uint  true_count() const { return  _true_cnt; }
 107 
 108   void consume() { _consumed = true;  }
 109 
 110   virtual int Opcode() const;
 111   virtual Node *Ideal(PhaseGVN *phase, bool can_reshape);
 112   virtual Node *Identity(PhaseTransform *phase);
 113   virtual const Type *bottom_type() const { return TypeInt::INT; }
 114 };
 115 
 116 #endif // SHARE_VM_OPTO_OPAQUENODE_HPP
 117 


  93 // It is used to override branch frequencies from MDO (see has_injected_profile in parse2.cpp).
  94 class ProfileBooleanNode : public Node {
  95   uint _false_cnt;
  96   uint _true_cnt;
  97   bool _consumed;
  98   bool _delay_removal;
  99   virtual uint hash() const ;                  // { return NO_HASH; }
 100   virtual uint cmp( const Node &n ) const;
 101   public:
 102   ProfileBooleanNode(Node *n, uint false_cnt, uint true_cnt) : Node(0, n),
 103           _false_cnt(false_cnt), _true_cnt(true_cnt), _delay_removal(true), _consumed(false) {}
 104 
 105   uint false_count() const { return _false_cnt; }
 106   uint  true_count() const { return  _true_cnt; }
 107 
 108   void consume() { _consumed = true;  }
 109 
 110   virtual int Opcode() const;
 111   virtual Node *Ideal(PhaseGVN *phase, bool can_reshape);
 112   virtual Node *Identity(PhaseTransform *phase);
 113   virtual const Type *bottom_type() const { return TypeInt::BOOL; }
 114 };
 115 
 116 #endif // SHARE_VM_OPTO_OPAQUENODE_HPP
 117 
src/share/vm/opto/opaquenode.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File