< prev index next >

src/share/vm/c1/c1_LIRGenerator.hpp

Print this page
rev 9081 : imported patch more.patch


 391   void do_root (Instruction* instr);
 392   void walk    (Instruction* instr);
 393 
 394   void bind_block_entry(BlockBegin* block);
 395   void start_block(BlockBegin* block);
 396 
 397   LIR_Opr new_register(BasicType type);
 398   LIR_Opr new_register(Value value)              { return new_register(as_BasicType(value->type())); }
 399   LIR_Opr new_register(ValueType* type)          { return new_register(as_BasicType(type)); }
 400 
 401   // returns a register suitable for doing pointer math
 402   LIR_Opr new_pointer_register() {
 403 #ifdef _LP64
 404     return new_register(T_LONG);
 405 #else
 406     return new_register(T_INT);
 407 #endif
 408   }
 409 
 410   static LIR_Condition lir_cond(If::Condition cond) {
 411     LIR_Condition l;
 412     switch (cond) {
 413     case If::eql: l = lir_cond_equal;        break;
 414     case If::neq: l = lir_cond_notEqual;     break;
 415     case If::lss: l = lir_cond_less;         break;
 416     case If::leq: l = lir_cond_lessEqual;    break;
 417     case If::geq: l = lir_cond_greaterEqual; break;
 418     case If::gtr: l = lir_cond_greater;      break;
 419     case If::aeq: l = lir_cond_aboveEqual;   break;
 420     case If::beq: l = lir_cond_belowEqual;   break;
 421     };
 422     return l;
 423   }
 424 
 425 #ifdef __SOFTFP__
 426   void do_soft_float_compare(If *x);
 427 #endif // __SOFTFP__
 428 
 429   void init();
 430 
 431   SwitchRangeArray* create_lookup_ranges(TableSwitch* x);




 391   void do_root (Instruction* instr);
 392   void walk    (Instruction* instr);
 393 
 394   void bind_block_entry(BlockBegin* block);
 395   void start_block(BlockBegin* block);
 396 
 397   LIR_Opr new_register(BasicType type);
 398   LIR_Opr new_register(Value value)              { return new_register(as_BasicType(value->type())); }
 399   LIR_Opr new_register(ValueType* type)          { return new_register(as_BasicType(type)); }
 400 
 401   // returns a register suitable for doing pointer math
 402   LIR_Opr new_pointer_register() {
 403 #ifdef _LP64
 404     return new_register(T_LONG);
 405 #else
 406     return new_register(T_INT);
 407 #endif
 408   }
 409 
 410   static LIR_Condition lir_cond(If::Condition cond) {
 411     LIR_Condition l = lir_cond_unknown;
 412     switch (cond) {
 413     case If::eql: l = lir_cond_equal;        break;
 414     case If::neq: l = lir_cond_notEqual;     break;
 415     case If::lss: l = lir_cond_less;         break;
 416     case If::leq: l = lir_cond_lessEqual;    break;
 417     case If::geq: l = lir_cond_greaterEqual; break;
 418     case If::gtr: l = lir_cond_greater;      break;
 419     case If::aeq: l = lir_cond_aboveEqual;   break;
 420     case If::beq: l = lir_cond_belowEqual;   break;
 421     };
 422     return l;
 423   }
 424 
 425 #ifdef __SOFTFP__
 426   void do_soft_float_compare(If *x);
 427 #endif // __SOFTFP__
 428 
 429   void init();
 430 
 431   SwitchRangeArray* create_lookup_ranges(TableSwitch* x);


< prev index next >