< prev index next >

src/hotspot/share/c1/c1_LIRGenerator.hpp

Print this page




 323   void array_range_check          (LIR_Opr array, LIR_Opr index, CodeEmitInfo* null_check_info, CodeEmitInfo* range_check_info);
 324   // For java.nio.Buffer.checkIndex
 325   void nio_range_check            (LIR_Opr buffer, LIR_Opr index, LIR_Opr result, CodeEmitInfo* info);
 326 
 327   void arithmetic_op_int  (Bytecodes::Code code, LIR_Opr result, LIR_Opr left, LIR_Opr right, LIR_Opr tmp);
 328   void arithmetic_op_long (Bytecodes::Code code, LIR_Opr result, LIR_Opr left, LIR_Opr right, CodeEmitInfo* info = NULL);
 329   void arithmetic_op_fpu  (Bytecodes::Code code, LIR_Opr result, LIR_Opr left, LIR_Opr right, bool is_strictfp, LIR_Opr tmp = LIR_OprFact::illegalOpr);
 330 
 331   void shift_op   (Bytecodes::Code code, LIR_Opr dst_reg, LIR_Opr value, LIR_Opr count, LIR_Opr tmp);
 332 
 333   void logic_op   (Bytecodes::Code code, LIR_Opr dst_reg, LIR_Opr left, LIR_Opr right);
 334 
 335   void monitor_enter (LIR_Opr object, LIR_Opr lock, LIR_Opr hdr, LIR_Opr scratch, int monitor_no, CodeEmitInfo* info_for_exception, CodeEmitInfo* info);
 336   void monitor_exit  (LIR_Opr object, LIR_Opr lock, LIR_Opr hdr, LIR_Opr scratch, int monitor_no);
 337 
 338   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);
 339 
 340   // machine dependent
 341   void cmp_mem_int(LIR_Condition condition, LIR_Opr base, int disp, int c, CodeEmitInfo* info);
 342   void cmp_reg_mem(LIR_Condition condition, LIR_Opr reg, LIR_Opr base, int disp, BasicType type, CodeEmitInfo* info);
 343   void cmp_reg_mem(LIR_Condition condition, LIR_Opr reg, LIR_Opr base, LIR_Opr disp, BasicType type, CodeEmitInfo* info);
 344 
 345   void arraycopy_helper(Intrinsic* x, int* flags, ciArrayKlass** expected_type);
 346 
 347   // returns a LIR_Address to address an array location.  May also
 348   // emit some code as part of address calculation.  If
 349   // needs_card_mark is true then compute the full address for use by
 350   // both the store and the card mark.
 351   LIR_Address* generate_address(LIR_Opr base,
 352                                 LIR_Opr index, int shift,
 353                                 int disp,
 354                                 BasicType type);
 355   LIR_Address* generate_address(LIR_Opr base, int disp, BasicType type) {
 356     return generate_address(base, LIR_OprFact::illegalOpr, 0, disp, type);
 357   }
 358   LIR_Address* emit_array_address(LIR_Opr array_opr, LIR_Opr index_opr, BasicType type, bool needs_card_mark);
 359 
 360   // the helper for generate_address
 361   void add_large_constant(LIR_Opr src, int c, LIR_Opr dest);
 362 
 363   // machine preferences and characteristics




 323   void array_range_check          (LIR_Opr array, LIR_Opr index, CodeEmitInfo* null_check_info, CodeEmitInfo* range_check_info);
 324   // For java.nio.Buffer.checkIndex
 325   void nio_range_check            (LIR_Opr buffer, LIR_Opr index, LIR_Opr result, CodeEmitInfo* info);
 326 
 327   void arithmetic_op_int  (Bytecodes::Code code, LIR_Opr result, LIR_Opr left, LIR_Opr right, LIR_Opr tmp);
 328   void arithmetic_op_long (Bytecodes::Code code, LIR_Opr result, LIR_Opr left, LIR_Opr right, CodeEmitInfo* info = NULL);
 329   void arithmetic_op_fpu  (Bytecodes::Code code, LIR_Opr result, LIR_Opr left, LIR_Opr right, bool is_strictfp, LIR_Opr tmp = LIR_OprFact::illegalOpr);
 330 
 331   void shift_op   (Bytecodes::Code code, LIR_Opr dst_reg, LIR_Opr value, LIR_Opr count, LIR_Opr tmp);
 332 
 333   void logic_op   (Bytecodes::Code code, LIR_Opr dst_reg, LIR_Opr left, LIR_Opr right);
 334 
 335   void monitor_enter (LIR_Opr object, LIR_Opr lock, LIR_Opr hdr, LIR_Opr scratch, int monitor_no, CodeEmitInfo* info_for_exception, CodeEmitInfo* info);
 336   void monitor_exit  (LIR_Opr object, LIR_Opr lock, LIR_Opr hdr, LIR_Opr scratch, int monitor_no);
 337 
 338   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);
 339 
 340   // machine dependent
 341   void cmp_mem_int(LIR_Condition condition, LIR_Opr base, int disp, int c, CodeEmitInfo* info);
 342   void cmp_reg_mem(LIR_Condition condition, LIR_Opr reg, LIR_Opr base, int disp, BasicType type, CodeEmitInfo* info);

 343 
 344   void arraycopy_helper(Intrinsic* x, int* flags, ciArrayKlass** expected_type);
 345 
 346   // returns a LIR_Address to address an array location.  May also
 347   // emit some code as part of address calculation.  If
 348   // needs_card_mark is true then compute the full address for use by
 349   // both the store and the card mark.
 350   LIR_Address* generate_address(LIR_Opr base,
 351                                 LIR_Opr index, int shift,
 352                                 int disp,
 353                                 BasicType type);
 354   LIR_Address* generate_address(LIR_Opr base, int disp, BasicType type) {
 355     return generate_address(base, LIR_OprFact::illegalOpr, 0, disp, type);
 356   }
 357   LIR_Address* emit_array_address(LIR_Opr array_opr, LIR_Opr index_opr, BasicType type, bool needs_card_mark);
 358 
 359   // the helper for generate_address
 360   void add_large_constant(LIR_Opr src, int c, LIR_Opr dest);
 361 
 362   // machine preferences and characteristics


< prev index next >