aboutsummaryrefslogtreecommitdiff
path: root/src/share/vm/c1
diff options
context:
space:
mode:
authorgoetz <none@none>2013-09-12 13:51:13 -0700
committergoetz <none@none>2013-09-12 13:51:13 -0700
commit36cab65124a8fadedf996e99aafe708b0243198b (patch)
treecd2ecb7df1d054445cd09f0bd439888ae6c66034 /src/share/vm/c1
parent15ff683db830583dcee4d9da624ad828e59a1d20 (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.cpp2
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];