src/hotspot/share/c1/c1_LIRGenerator.hpp
changeset 54125 70a818b1d9db
parent 53244 9807daeb47c4
equal deleted inserted replaced
54124:5d48ae032588 54125:70a818b1d9db
   100   void set_start_node()             { _start_node = true; }
   100   void set_start_node()             { _start_node = true; }
   101 };
   101 };
   102 
   102 
   103 
   103 
   104 // This is shared state to be used by the PhiResolver so the operand
   104 // This is shared state to be used by the PhiResolver so the operand
   105 // arrays don't have to be reallocated for reach resolution.
   105 // arrays don't have to be reallocated for each resolution.
   106 class PhiResolverState: public CompilationResourceObj {
   106 class PhiResolverState: public CompilationResourceObj {
   107   friend class PhiResolver;
   107   friend class PhiResolver;
   108 
   108 
   109  private:
   109  private:
   110   NodeList _virtual_operands; // Nodes where the operand is a virtual register
   110   NodeList _virtual_operands; // Nodes where the operand is a virtual register
   112   NodeList _vreg_table;       // Mapping from virtual register to Node
   112   NodeList _vreg_table;       // Mapping from virtual register to Node
   113 
   113 
   114  public:
   114  public:
   115   PhiResolverState() {}
   115   PhiResolverState() {}
   116 
   116 
   117   void reset(int max_vregs);
   117   void reset();
   118 };
   118 };
   119 
   119 
   120 
   120 
   121 // class used to move value of phi operand to phi function
   121 // class used to move value of phi operand to phi function
   122 class PhiResolver: public CompilationResourceObj {
   122 class PhiResolver: public CompilationResourceObj {
   144   LIRGenerator* gen() {
   144   LIRGenerator* gen() {
   145     return _gen;
   145     return _gen;
   146   }
   146   }
   147 
   147 
   148  public:
   148  public:
   149   PhiResolver(LIRGenerator* _lir_gen, int max_vregs);
   149   PhiResolver(LIRGenerator* _lir_gen);
   150   ~PhiResolver();
   150   ~PhiResolver();
   151 
   151 
   152   void move(LIR_Opr src, LIR_Opr dest);
   152   void move(LIR_Opr src, LIR_Opr dest);
   153 };
   153 };
   154 
   154