Mercurial > hg > truffle
diff src/share/vm/c1/c1_FrameMap.cpp @ 14416:6a936747b569
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
author | goetz |
---|---|
date | Thu, 12 Sep 2013 13:51:13 -0700 |
parents | 3c9db54c2660 |
children | abec000618bf |
line wrap: on
line diff
--- a/src/share/vm/c1/c1_FrameMap.cpp Fri Sep 06 20:16:09 2013 +0200 +++ b/src/share/vm/c1/c1_FrameMap.cpp Thu Sep 12 13:51:13 2013 -0700 @@ -133,7 +133,7 @@ } } - 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];