Right now the arm64 css jit uses a dedicated temporary register for swapping arguments. I found a way to prevent this by continuing to allocate registers and checking to make sure that they are not the registers we are swapping.
There are better ways of doing this.