src/hotspot/share/opto/cfgnode.hpp
changeset 54327 a4d19817609c
parent 53623 83b40a7bf00d
child 59291 54cf02d52c1b
equal deleted inserted replaced
54326:eb7f2c367f73 54327:a4d19817609c
   129   const int _inst_index;  // Alias index of the instance memory slice.
   129   const int _inst_index;  // Alias index of the instance memory slice.
   130   // Array elements references have the same alias_idx but different offset.
   130   // Array elements references have the same alias_idx but different offset.
   131   const int _inst_offset; // Offset of the instance memory slice.
   131   const int _inst_offset; // Offset of the instance memory slice.
   132   // Size is bigger to hold the _adr_type field.
   132   // Size is bigger to hold the _adr_type field.
   133   virtual uint hash() const;    // Check the type
   133   virtual uint hash() const;    // Check the type
   134   virtual uint cmp( const Node &n ) const;
   134   virtual bool cmp( const Node &n ) const;
   135   virtual uint size_of() const { return sizeof(*this); }
   135   virtual uint size_of() const { return sizeof(*this); }
   136 
   136 
   137   // Determine if CMoveNode::is_cmove_id can be used at this join point.
   137   // Determine if CMoveNode::is_cmove_id can be used at this join point.
   138   Node* is_cmove_id(PhaseTransform* phase, int true_path);
   138   Node* is_cmove_id(PhaseTransform* phase, int true_path);
   139 
   139 
   463 // control is passed to the Projection matching the table index.  Used to
   463 // control is passed to the Projection matching the table index.  Used to
   464 // implement switch statements and exception-handling capabilities.
   464 // implement switch statements and exception-handling capabilities.
   465 // Undefined behavior if passed-in index is not inside the table.
   465 // Undefined behavior if passed-in index is not inside the table.
   466 class PCTableNode : public MultiBranchNode {
   466 class PCTableNode : public MultiBranchNode {
   467   virtual uint hash() const;    // Target count; table size
   467   virtual uint hash() const;    // Target count; table size
   468   virtual uint cmp( const Node &n ) const;
   468   virtual bool cmp( const Node &n ) const;
   469   virtual uint size_of() const { return sizeof(*this); }
   469   virtual uint size_of() const { return sizeof(*this); }
   470 
   470 
   471 public:
   471 public:
   472   const uint _size;             // Number of targets
   472   const uint _size;             // Number of targets
   473 
   473 
   505 #endif
   505 #endif
   506 };
   506 };
   507 
   507 
   508 class JumpProjNode : public JProjNode {
   508 class JumpProjNode : public JProjNode {
   509   virtual uint hash() const;
   509   virtual uint hash() const;
   510   virtual uint cmp( const Node &n ) const;
   510   virtual bool cmp( const Node &n ) const;
   511   virtual uint size_of() const { return sizeof(*this); }
   511   virtual uint size_of() const { return sizeof(*this); }
   512 
   512 
   513  private:
   513  private:
   514   const int  _dest_bci;
   514   const int  _dest_bci;
   515   const uint _proj_no;
   515   const uint _proj_no;
   548 // CatchProjNode controls which exception handler is targetted after a call.
   548 // CatchProjNode controls which exception handler is targetted after a call.
   549 // It is passed in the bci of the target handler, or no_handler_bci in case
   549 // It is passed in the bci of the target handler, or no_handler_bci in case
   550 // the projection doesn't lead to an exception handler.
   550 // the projection doesn't lead to an exception handler.
   551 class CatchProjNode : public CProjNode {
   551 class CatchProjNode : public CProjNode {
   552   virtual uint hash() const;
   552   virtual uint hash() const;
   553   virtual uint cmp( const Node &n ) const;
   553   virtual bool cmp( const Node &n ) const;
   554   virtual uint size_of() const { return sizeof(*this); }
   554   virtual uint size_of() const { return sizeof(*this); }
   555 
   555 
   556 private:
   556 private:
   557   const int _handler_bci;
   557   const int _handler_bci;
   558 
   558