On 08/06/15 17:58, Richard Henderson wrote: > On 06/06/2015 06:24 AM, Richard Earnshaw wrote: >> That's going to make it impossible to implement Go closures on AArch32, >> then, since the only call-clobbered register not used for parameter >> passing is r12 (ip) and that can be clobbered by function calls. > > No, because r12 is only clobbered by plt stubs, and go closures never > use them. They're *already working* on aarch32. > > > r~ >
r12 can *also* be clobbered by interworking calls or calls that span more than the branch range of a call instruction. Rare, but possible. R.