This is a bug fix in mustang that missed being backported to tiger.
Here is an example of the mustang code:
void MacroAssembler::call_VM_leaf_base(address entry_point, int num_args)
{
Label L, E;
#ifdef _WIN64
// Windows always allocates space for it's register args
assert(num_args <= 4, "only register arguments supported");
subq(rsp, frame::arg_reg_save_area_bytes);
#endif
...
and the tiger code:
void MacroAssembler::call_VM_leaf_base(address entry_point, int num_args)
{
Label L, E;
#ifdef _WIN64
// Windows always allocates space for it's register args
subq(rsp, (num_args+1)*wordSize);
#endif