This fixes passing an arbitrarily large number of arguments to
microtasks, fixing the misc_bugs/many-microtask-args.c testcase on
ARM.
I'm not entirely sure if this works on older arm architectures though;
it's been tested on armv7 (Linux and Windows, with both thumb and arm
modes).
You might want to add "for when we call pkfn below".
Since AAPCS32 says align to 4, unless at a public interface where it should be 8. Which includes calling a function.
(which evidently you knew but I did not)
Also worth saying which is the extra register.