src/hotspot/share/opto/cfgnode.hpp
changeset 49877 d84f06a0cae1
parent 49875 6d1f26b1ddfd
child 52143 ad6384355aa3
equal deleted inserted replaced
49876:ac916fea6ec7 49877:d84f06a0cae1
   483 
   483 
   484 //------------------------------JumpNode---------------------------------------
   484 //------------------------------JumpNode---------------------------------------
   485 // Indirect branch.  Uses PCTable above to implement a switch statement.
   485 // Indirect branch.  Uses PCTable above to implement a switch statement.
   486 // It emits as a table load and local branch.
   486 // It emits as a table load and local branch.
   487 class JumpNode : public PCTableNode {
   487 class JumpNode : public PCTableNode {
   488 public:
   488   virtual uint size_of() const { return sizeof(*this); }
   489   JumpNode( Node* control, Node* switch_val, uint size) : PCTableNode(control, switch_val, size) {
   489 public:
       
   490   float* _probs; // probability of each projection
       
   491   float _fcnt;   // total number of times this Jump was executed
       
   492   JumpNode( Node* control, Node* switch_val, uint size, float* probs, float cnt)
       
   493     : PCTableNode(control, switch_val, size),
       
   494       _probs(probs), _fcnt(cnt) {
   490     init_class_id(Class_Jump);
   495     init_class_id(Class_Jump);
   491   }
   496   }
   492   virtual int   Opcode() const;
   497   virtual int   Opcode() const;
   493   virtual const RegMask& out_RegMask() const;
   498   virtual const RegMask& out_RegMask() const;
   494   virtual const Node* is_block_proj() const { return this; }
   499   virtual const Node* is_block_proj() const { return this; }