From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: <5b4d94141226d62a37865d39633f9f61@proxima.alt.za> References: <3891398c35e3d0d813c6104e2a6a71a9@hamnavoe.com> <5b4d94141226d62a37865d39633f9f61@proxima.alt.za> Date: Tue, 3 Dec 2013 11:14:44 +0000 Message-ID: From: Charles Forsyth To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: multipart/alternative; boundary=047d7ba9839854f90d04ec9f6728 Subject: Re: [9fans] Go and 21-bit runes (and a bit of Go status) Topicbox-Message-UUID: 9129c0ee-ead8-11e9-9d60-3106f5b1d025 --047d7ba9839854f90d04ec9f6728 Content-Type: text/plain; charset=UTF-8 On 3 December 2013 10:08, wrote: > I seem to remember > Charles suggesting that it is difficult to do. And as it caught a > rather embarrassing case of sloppy programming > It's not sloppy programming, but an underlying assumption about RISC machines in the (then) future having a respectable number of (truly) general-purpose registers, and the x86 does not. The S-U numbers guide register allocation, but there is no spilling code, except for nested function calls, and a few special cases that don't use the S-U numbers. Given that the out of fixed registers diagnostic occurs rarely in the normal source, and the S-U numbers might or might not be strictly accurate, the potential disadvantage of introducing inefficiency in existing compiled code by spill code misguided by inaccurate estimates made it seem not worthwhile at the time. --047d7ba9839854f90d04ec9f6728 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

= On 3 December 2013 10:08, <lucio@proxima.alt.za> wrote:<= br>
I seem to remember
Charles suggesting that it is difficult to do. =C2=A0And as it caught a
rather embarrassing case of sloppy programming

= It's not sloppy programming, but an underlying assumption about RISC ma= chines in the (then) future
having a respec= table number of (truly) general-purpose registers, and the x86
does not. The S-U numbers guide register allocat= ion, but there is no spilling code,
except = for nested function calls, and a few special cases that don't use the S= -U numbers.
Given that the out of fixed registers diagnostic= occurs rarely in the normal source,
and th= e S-U numbers might or might not be strictly accurate, the potential disadv= antage
of introducing inefficiency in existing compiled= code by spill code misguided by inaccurate
estimates made it seem not worthwhile at the time.
--047d7ba9839854f90d04ec9f6728--