hotspot/src/share/vm/runtime/sharedRuntime.hpp
changeset 22832 03720a5b7595
parent 22808 88bca865e247
child 22834 3e2df6a4a28c
--- a/hotspot/src/share/vm/runtime/sharedRuntime.hpp	Fri Sep 06 20:16:09 2013 +0200
+++ b/hotspot/src/share/vm/runtime/sharedRuntime.hpp	Thu Sep 12 13:51:13 2013 -0700
@@ -356,7 +356,15 @@
                                                           const VMRegPair* regs) NOT_DEBUG_RETURN;
 
   // Ditto except for calling C
-  static int c_calling_convention(const BasicType *sig_bt, VMRegPair *regs, int total_args_passed);
+  //
+  // C argument in register AND stack slot.
+  // Some architectures require that an argument must be passed in a register
+  // AND in a stack slot. These architectures provide a second VMRegPair array
+  // to be filled by the c_calling_convention method. On other architectures,
+  // NULL is being passed as the second VMRegPair array, so arguments are either
+  // passed in a register OR in a stack slot.
+  static int c_calling_convention(const BasicType *sig_bt, VMRegPair *regs, VMRegPair *regs2,
+                                  int total_args_passed);
 
   // Generate I2C and C2I adapters. These adapters are simple argument marshalling
   // blobs. Unlike adapters in the tiger and earlier releases the code in these