Static Chain Register on iOS AArch64

Richard Earnshaw Richard.Earnshaw@foss.arm.com
Sat Jun 6 13:25:00 GMT 2015


On 05/06/15 16:55, Richard Henderson wrote:
> On 06/04/2015 03:40 AM, Richard Earnshaw wrote:
>> The static chain register is pretty much private to a translation unit...
> 
> That was true when the static chain was restricted to trampolines. 
> Since Go has started using it for cross-translation-unit closures, that
> makes it part of the ABI.
> 
> I did raise this issue at the start of the year, when I submitted the
> patches.  At the time, folks seemed ok with the additional restriction.
> 
> 
> r~

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.

R.



More information about the Gcc mailing list