This patch adds support to initialize byval arguments in stack memory when required.
On AIX, available GPRs are consumed for passing byval arguments. When available GPRs are exhausted, any remaining bytes of byval arguments are written to the parameter save area on the stack.
Note that when an argument passes in both registers and the stack, memory is reserved in the parameter save area for the entire object. Only the portion that does not reside in registers needs to be written by the caller. On entry, the callee cannot expect that the portion of the byval argument that passed in register is initialized in the parameter save area.
'I != E' shouldn't be part of the while loops condition. If you really want a sanity check on the value you can have an assertion inside the while loop after I is incremented (And LoadOffset is incremented) that checks that either 'I' is not equal to 'E' or we have copied the whole ByVal argument.