arm: Fix memory corruption bug in the arm code generator
arm: Fix memory corruption bug in the arm code generator

At the start of each section the code generator inserts a
mov instruction to set the amount of bytes that need to be
reserved on the stack for the function.  This value is
initialised to 0 and filled in later once register allocation
has been done.  The code generator was keeping a pointer
to the move instruction, and updating it after register allocation,
but if the function caused a relloc of the op pool, the original
pointer gets invalidated and the mov instruction does not
get updated correctly.  Fix the issue by keeping an index
rather than a pointer to the instruction that we want to modify.

Signed-off-by: Mark Ryan <88ffc4093c40652fbbf052f026a8b6147509f0aa@gmail.com>

markdryan/subtilis,markdryan/subtilis