hotspot/src/share/vm/c1/c1_LIRGenerator.hpp
changeset 24933 c16c7a4ac386
parent 24442 4d4ae31dea26
child 28954 7dda6c26cc98
equal deleted inserted replaced
24932:374cc5d929fb 24933:c16c7a4ac386
   167 
   167 
   168   LIRGenerator* gen() {
   168   LIRGenerator* gen() {
   169     return this;
   169     return this;
   170   }
   170   }
   171 
   171 
       
   172   void print_if_not_loaded(const NewInstance* new_instance) PRODUCT_RETURN;
       
   173 
   172 #ifdef ASSERT
   174 #ifdef ASSERT
   173   LIR_List* lir(const char * file, int line) const {
   175   LIR_List* lir(const char * file, int line) const {
   174     _lir->set_file_and_line(file, line);
   176     _lir->set_file_and_line(file, line);
   175     return _lir;
   177     return _lir;
   176   }
   178   }
   305   // machine dependent.  returns true if it emitted code for the multiply
   307   // machine dependent.  returns true if it emitted code for the multiply
   306   bool strength_reduce_multiply(LIR_Opr left, int constant, LIR_Opr result, LIR_Opr tmp);
   308   bool strength_reduce_multiply(LIR_Opr left, int constant, LIR_Opr result, LIR_Opr tmp);
   307 
   309 
   308   void store_stack_parameter (LIR_Opr opr, ByteSize offset_from_sp_in_bytes);
   310   void store_stack_parameter (LIR_Opr opr, ByteSize offset_from_sp_in_bytes);
   309 
   311 
   310   void klass2reg_with_patching(LIR_Opr r, ciMetadata* obj, CodeEmitInfo* info);
   312   void klass2reg_with_patching(LIR_Opr r, ciMetadata* obj, CodeEmitInfo* info, bool need_resolve = false);
   311 
   313 
   312   // this loads the length and compares against the index
   314   // this loads the length and compares against the index
   313   void array_range_check          (LIR_Opr array, LIR_Opr index, CodeEmitInfo* null_check_info, CodeEmitInfo* range_check_info);
   315   void array_range_check          (LIR_Opr array, LIR_Opr index, CodeEmitInfo* null_check_info, CodeEmitInfo* range_check_info);
   314   // For java.nio.Buffer.checkIndex
   316   // For java.nio.Buffer.checkIndex
   315   void nio_range_check            (LIR_Opr buffer, LIR_Opr index, LIR_Opr result, CodeEmitInfo* info);
   317   void nio_range_check            (LIR_Opr buffer, LIR_Opr index, LIR_Opr result, CodeEmitInfo* info);
   323   void logic_op   (Bytecodes::Code code, LIR_Opr dst_reg, LIR_Opr left, LIR_Opr right);
   325   void logic_op   (Bytecodes::Code code, LIR_Opr dst_reg, LIR_Opr left, LIR_Opr right);
   324 
   326 
   325   void monitor_enter (LIR_Opr object, LIR_Opr lock, LIR_Opr hdr, LIR_Opr scratch, int monitor_no, CodeEmitInfo* info_for_exception, CodeEmitInfo* info);
   327   void monitor_enter (LIR_Opr object, LIR_Opr lock, LIR_Opr hdr, LIR_Opr scratch, int monitor_no, CodeEmitInfo* info_for_exception, CodeEmitInfo* info);
   326   void monitor_exit  (LIR_Opr object, LIR_Opr lock, LIR_Opr hdr, LIR_Opr scratch, int monitor_no);
   328   void monitor_exit  (LIR_Opr object, LIR_Opr lock, LIR_Opr hdr, LIR_Opr scratch, int monitor_no);
   327 
   329 
   328   void new_instance    (LIR_Opr  dst, ciInstanceKlass* klass, LIR_Opr  scratch1, LIR_Opr  scratch2, LIR_Opr  scratch3,  LIR_Opr scratch4, LIR_Opr  klass_reg, CodeEmitInfo* info);
   330   void new_instance    (LIR_Opr  dst, ciInstanceKlass* klass, bool is_unresolved, LIR_Opr  scratch1, LIR_Opr  scratch2, LIR_Opr  scratch3,  LIR_Opr scratch4, LIR_Opr  klass_reg, CodeEmitInfo* info);
   329 
   331 
   330   // machine dependent
   332   // machine dependent
   331   void cmp_mem_int(LIR_Condition condition, LIR_Opr base, int disp, int c, CodeEmitInfo* info);
   333   void cmp_mem_int(LIR_Condition condition, LIR_Opr base, int disp, int c, CodeEmitInfo* info);
   332   void cmp_reg_mem(LIR_Condition condition, LIR_Opr reg, LIR_Opr base, int disp, BasicType type, CodeEmitInfo* info);
   334   void cmp_reg_mem(LIR_Condition condition, LIR_Opr reg, LIR_Opr base, int disp, BasicType type, CodeEmitInfo* info);
   333   void cmp_reg_mem(LIR_Condition condition, LIR_Opr reg, LIR_Opr base, LIR_Opr disp, BasicType type, CodeEmitInfo* info);
   335   void cmp_reg_mem(LIR_Condition condition, LIR_Opr reg, LIR_Opr base, LIR_Opr disp, BasicType type, CodeEmitInfo* info);