src/share/vm/opto/matcher.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/opto

src/share/vm/opto/matcher.hpp

Print this page
rev 5777 : 8027754: Enable loop optimizations for loops with MathExact inside


 323   virtual OptoReg::Name return_addr() const;
 324   RegMask              _return_addr_mask;
 325   // Return value register.  On Intel it is EAX.  On Sparc i0/o0.
 326   static OptoRegPair   return_value(int ideal_reg, bool is_outgoing);
 327   static OptoRegPair c_return_value(int ideal_reg, bool is_outgoing);
 328   RegMask                     _return_value_mask;
 329   // Inline Cache Register
 330   static OptoReg::Name  inline_cache_reg();
 331   static int            inline_cache_reg_encode();
 332 
 333   // Register for DIVI projection of divmodI
 334   static RegMask divI_proj_mask();
 335   // Register for MODI projection of divmodI
 336   static RegMask modI_proj_mask();
 337 
 338   // Register for DIVL projection of divmodL
 339   static RegMask divL_proj_mask();
 340   // Register for MODL projection of divmodL
 341   static RegMask modL_proj_mask();
 342 
 343   static const RegMask mathExactI_result_proj_mask();
 344   static const RegMask mathExactL_result_proj_mask();
 345   static const RegMask mathExactI_flags_proj_mask();
 346 
 347   // Use hardware DIV instruction when it is faster than
 348   // a code which use multiply for division by constant.
 349   static bool use_asm_for_ldiv_by_con( jlong divisor );
 350 
 351   static const RegMask method_handle_invoke_SP_save_mask();
 352 
 353   // Java-Interpreter calling convention
 354   // (what you use when calling between compiled-Java and Interpreted-Java
 355 
 356   // Number of callee-save + always-save registers
 357   // Ignores frame pointer and "special" registers
 358   static int  number_of_saved_registers();
 359 
 360   // The Method-klass-holder may be passed in the inline_cache_reg
 361   // and then expanded into the inline_cache_reg and a method_oop register
 362 
 363   static OptoReg::Name  interpreter_method_oop_reg();
 364   static int            interpreter_method_oop_reg_encode();
 365 
 366   static OptoReg::Name  compiler_method_oop_reg();




 323   virtual OptoReg::Name return_addr() const;
 324   RegMask              _return_addr_mask;
 325   // Return value register.  On Intel it is EAX.  On Sparc i0/o0.
 326   static OptoRegPair   return_value(int ideal_reg, bool is_outgoing);
 327   static OptoRegPair c_return_value(int ideal_reg, bool is_outgoing);
 328   RegMask                     _return_value_mask;
 329   // Inline Cache Register
 330   static OptoReg::Name  inline_cache_reg();
 331   static int            inline_cache_reg_encode();
 332 
 333   // Register for DIVI projection of divmodI
 334   static RegMask divI_proj_mask();
 335   // Register for MODI projection of divmodI
 336   static RegMask modI_proj_mask();
 337 
 338   // Register for DIVL projection of divmodL
 339   static RegMask divL_proj_mask();
 340   // Register for MODL projection of divmodL
 341   static RegMask modL_proj_mask();
 342 




 343   // Use hardware DIV instruction when it is faster than
 344   // a code which use multiply for division by constant.
 345   static bool use_asm_for_ldiv_by_con( jlong divisor );
 346 
 347   static const RegMask method_handle_invoke_SP_save_mask();
 348 
 349   // Java-Interpreter calling convention
 350   // (what you use when calling between compiled-Java and Interpreted-Java
 351 
 352   // Number of callee-save + always-save registers
 353   // Ignores frame pointer and "special" registers
 354   static int  number_of_saved_registers();
 355 
 356   // The Method-klass-holder may be passed in the inline_cache_reg
 357   // and then expanded into the inline_cache_reg and a method_oop register
 358 
 359   static OptoReg::Name  interpreter_method_oop_reg();
 360   static int            interpreter_method_oop_reg_encode();
 361 
 362   static OptoReg::Name  compiler_method_oop_reg();


src/share/vm/opto/matcher.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File