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