diff options
author | goetz <none@none> | 2013-09-12 13:51:13 -0700 |
---|---|---|
committer | goetz <none@none> | 2013-09-12 13:51:13 -0700 |
commit | 36cab65124a8fadedf996e99aafe708b0243198b (patch) | |
tree | cd2ecb7df1d054445cd09f0bd439888ae6c66034 /src/share/vm/c1 | |
parent | 15ff683db830583dcee4d9da624ad828e59a1d20 (diff) |
8024344: PPC64 (part 112): C argument in register AND stack slot.
Summary: On PPC, the first 13 floating point arguments to C calls are passed in floating point registers. Also, all but the first 8 arguments are passed on the stack. So there can be floating point arguments that are passed on the stack and in a register. We duplicate the regs datastructure in c_calling_convention() to represent this.
Reviewed-by: kvn, cjplummer
Diffstat (limited to 'src/share/vm/c1')
-rw-r--r-- | src/share/vm/c1/c1_FrameMap.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/share/vm/c1/c1_FrameMap.cpp b/src/share/vm/c1/c1_FrameMap.cpp index f5eef6f0b..331690dcf 100644 --- a/src/share/vm/c1/c1_FrameMap.cpp +++ b/src/share/vm/c1/c1_FrameMap.cpp @@ -133,7 +133,7 @@ CallingConvention* FrameMap::c_calling_convention(const BasicTypeArray* signatur } } - intptr_t out_preserve = SharedRuntime::c_calling_convention(sig_bt, regs, sizeargs); + intptr_t out_preserve = SharedRuntime::c_calling_convention(sig_bt, regs, NULL, sizeargs); LIR_OprList* args = new LIR_OprList(signature->length()); for (i = 0; i < sizeargs;) { BasicType t = sig_bt[i]; |