< prev index next >

src/share/vm/c1/c1_LIRGenerator.hpp

Print this page




 137 
 138   void emit_move(LIR_Opr src, LIR_Opr dest);
 139   void move_to_temp(LIR_Opr src);
 140   void move_temp_to(LIR_Opr dest);
 141   void move(ResolveNode* src, ResolveNode* dest);
 142 
 143   LIRGenerator* gen() {
 144     return _gen;
 145   }
 146 
 147  public:
 148   PhiResolver(LIRGenerator* _lir_gen, int max_vregs);
 149   ~PhiResolver();
 150 
 151   void move(LIR_Opr src, LIR_Opr dest);
 152 };
 153 
 154 
 155 // only the classes below belong in the same file
 156 class LIRGenerator: public InstructionVisitor, public BlockClosure {
 157 
 158  private:
 159   Compilation*  _compilation;
 160   ciMethod*     _method;    // method that we are compiling
 161   PhiResolverState  _resolver_state;
 162   BlockBegin*   _block;
 163   int           _virtual_register_number;
 164   Values        _instruction_for_operand;
 165   BitMap2D      _vreg_flags; // flags which can be set on a per-vreg basis
 166   LIR_List*     _lir;
 167   BarrierSet*   _bs;
 168 
 169   LIRGenerator* gen() {
 170     return this;
 171   }
 172 
 173   void print_if_not_loaded(const NewInstance* new_instance) PRODUCT_RETURN;
 174 
 175 #ifdef ASSERT
 176   LIR_List* lir(const char * file, int line) const {
 177     _lir->set_file_and_line(file, line);




 137 
 138   void emit_move(LIR_Opr src, LIR_Opr dest);
 139   void move_to_temp(LIR_Opr src);
 140   void move_temp_to(LIR_Opr dest);
 141   void move(ResolveNode* src, ResolveNode* dest);
 142 
 143   LIRGenerator* gen() {
 144     return _gen;
 145   }
 146 
 147  public:
 148   PhiResolver(LIRGenerator* _lir_gen, int max_vregs);
 149   ~PhiResolver();
 150 
 151   void move(LIR_Opr src, LIR_Opr dest);
 152 };
 153 
 154 
 155 // only the classes below belong in the same file
 156 class LIRGenerator: public InstructionVisitor, public BlockClosure {
 157   friend class ShenandoahBarrierSetC1;
 158  private:
 159   Compilation*  _compilation;
 160   ciMethod*     _method;    // method that we are compiling
 161   PhiResolverState  _resolver_state;
 162   BlockBegin*   _block;
 163   int           _virtual_register_number;
 164   Values        _instruction_for_operand;
 165   BitMap2D      _vreg_flags; // flags which can be set on a per-vreg basis
 166   LIR_List*     _lir;
 167   BarrierSet*   _bs;
 168 
 169   LIRGenerator* gen() {
 170     return this;
 171   }
 172 
 173   void print_if_not_loaded(const NewInstance* new_instance) PRODUCT_RETURN;
 174 
 175 #ifdef ASSERT
 176   LIR_List* lir(const char * file, int line) const {
 177     _lir->set_file_and_line(file, line);


< prev index next >