src/hotspot/share/opto/cfgnode.hpp
changeset 53623 83b40a7bf00d
parent 53244 9807daeb47c4
child 54327 a4d19817609c
equal deleted inserted replaced
53622:00baec44c94e 53623:83b40a7bf00d
   117 // controlling RegionNode.  Other slots map 1-for-1 with incoming control flow
   117 // controlling RegionNode.  Other slots map 1-for-1 with incoming control flow
   118 // paths to the RegionNode.  For speed reasons (to avoid another pass) we
   118 // paths to the RegionNode.  For speed reasons (to avoid another pass) we
   119 // can turn PhiNodes into copys in-place by NULL'ing out their RegionNode
   119 // can turn PhiNodes into copys in-place by NULL'ing out their RegionNode
   120 // input in slot 0.
   120 // input in slot 0.
   121 class PhiNode : public TypeNode {
   121 class PhiNode : public TypeNode {
       
   122   friend class PhaseRenumberLive;
       
   123 
   122   const TypePtr* const _adr_type; // non-null only for Type::MEMORY nodes.
   124   const TypePtr* const _adr_type; // non-null only for Type::MEMORY nodes.
   123   // The following fields are only used for data PhiNodes to indicate
   125   // The following fields are only used for data PhiNodes to indicate
   124   // that the PhiNode represents the value of a known instance field.
   126   // that the PhiNode represents the value of a known instance field.
   125         int _inst_mem_id; // Instance memory id (node index of the memory Phi)
   127         int _inst_mem_id; // Instance memory id (node index of the memory Phi)
   126   const int _inst_id;     // Instance id of the memory slice.
   128         int _inst_id;     // Instance id of the memory slice.
   127   const int _inst_index;  // Alias index of the instance memory slice.
   129   const int _inst_index;  // Alias index of the instance memory slice.
   128   // Array elements references have the same alias_idx but different offset.
   130   // Array elements references have the same alias_idx but different offset.
   129   const int _inst_offset; // Offset of the instance memory slice.
   131   const int _inst_offset; // Offset of the instance memory slice.
   130   // Size is bigger to hold the _adr_type field.
   132   // Size is bigger to hold the _adr_type field.
   131   virtual uint hash() const;    // Check the type
   133   virtual uint hash() const;    // Check the type