The MacroAssembler::call_VM_leaf methods don't include asserts to check if the passed arguments collide with the C calling convention registers consistently. Some versions omit them completely (e.g. aarch64 MacroAssembler::call_VM_leaf), other ones use regular asserts (where the assert_different_registers function should be used).
We should consistently use assert_different_registers in all MacroAssembler::call_VM_leaf implementations.
We should consistently use assert_different_registers in all MacroAssembler::call_VM_leaf implementations.