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();
|