8256205: Simplify compiler calling convention handling

Reviewed-by: kvn, neliasso
This commit is contained in:
Claes Redestad 2020-11-16 19:39:36 +00:00
parent 68fd71d2ad
commit 6e35bcbf03
31 changed files with 104 additions and 305 deletions

View file

@ -40,6 +40,7 @@
#include "opto/phase.hpp"
#include "opto/regmask.hpp"
#include "runtime/deoptimization.hpp"
#include "runtime/sharedRuntime.hpp"
#include "runtime/timerTrace.hpp"
#include "runtime/vmThread.hpp"
#include "utilities/ticks.hpp"
@ -1033,14 +1034,16 @@ class Compile : public Phase {
// Stack slots that may be unused by the calling convention but must
// otherwise be preserved. On Intel this includes the return address.
// On PowerPC it includes the 4 words holding the old TOC & LR glue.
uint in_preserve_stack_slots();
uint in_preserve_stack_slots() {
return SharedRuntime::in_preserve_stack_slots();
}
// "Top of Stack" slots that may be unused by the calling convention but must
// otherwise be preserved.
// On Intel these are not necessary and the value can be zero.
// On Sparc this describes the words reserved for storing a register window
// when an interrupt occurs.
static uint out_preserve_stack_slots();
static uint out_preserve_stack_slots() {
return SharedRuntime::out_preserve_stack_slots();
}
// Number of outgoing stack slots killed above the out_preserve_stack_slots
// for calls to C. Supports the var-args backing area for register parms.