On 10/01/2014 03:08 PM, Ian Lance Taylor wrote:
>> func TestMakeFunc(t *testing.T) {
>> switch runtime.GOARCH {
>> case "amd64", "386":
>> default:
>> t.Skip("MakeFunc not implemented for " + runtime.GOARCH)
>> }
>
> Wait, what sources are you looking at? I took that out on July 19.
Err.. too many different ones, apparently. Sorry for the confusion.
> Partly historical reasons. I wrote the x86 support because I didn't
> know that libffi had closures. But then even using closures, the x86
> support looks a lot nicer: it doesn't have to call mmap. All the mmap
> stuff is elegant and is necessary for C style function pointers, but
> it's not necessary for Go func values since they carry their own
> closures anyhow. So, yes, I think we should write direct
> implementations for other targets that we care about.
Ok. I'd forgotten about the extra mmap overhead implied by libffi closures.
r~