Agreed, except the generated code uses SP and not FP so when using additional 
storage it is a bit more difficult to work with IMO 

> On Dec 15, 2018, at 5:17 PM, Nathan Fisher <nfis...@junctionbox.ca> wrote:
> 
> One trick I’ve used when writing algorithms that use SSE is write it in Go 
> first, run go build to output the assembler for the function, and then tweak 
> the output manually.
>> On Sat, Dec 15, 2018 at 09:36, Jason E. Aten <j.e.a...@gmail.com> wrote:
>> reflect.Method(i) and reflect.MethodByName("myFunc") have got to be fully 
>> dynamic, perhaps they hold a clue.
>> 
>>> On Saturday, December 15, 2018 at 8:20:20 AM UTC-6, Robert Engels wrote:
>>> That’s a possibility, but I would think there must be some assembly syntax 
>>> to obtain the offset of a method of an interface function table.  When you 
>>> look at the assembly generated the offsets are constants...  otherwise you 
>>> need to perform multiple lookups to determine it - ruining the performance. 
>>> If I hardcore the constant than any change to the interface breaks the 
>>> assembly code, but I guess that’s the same for struct parameters and 
>>> parameter order in general. 
>>> 
>>>> On Dec 15, 2018, at 8:12 AM, Jason E. Aten <j.e....@gmail.com> wrote:
>>>> 
>>>>> On Saturday, December 15, 2018 at 1:29:14 AM UTC-6, robert engels wrote:
>>>>> Are there any examples of a hand-written assembly function that accepts 
>>>>> an interface and then makes calls on the interface methods? 
>>>>> 
>>>>> In reviewing the documentation, it seems impossible, as the PCDATA, and 
>>>>> FUNCDATA are not documented, and thus, I think the GC scanner ends up 
>>>>> barfing when these are omitted. 
>>>>> 
>>>>> Although, since the interface is passed as a parameter, I would expect 
>>>>> that the caller would retain the reference, so adding NO_LOCAL_POINTERS 
>>>>> should suffice, but it is failing. 
>>>>> 
>>>>> Any help would be appreciated. Thanks.
>>>> 
>>>> I would try writing what I wanted to do using the `reflect` package, and 
>>>> then looking at the disassembly of it. 
>>>> -- 
>>>> You received this message because you are subscribed to the Google Groups 
>>>> "golang-nuts" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>>> email to golang-nuts...@googlegroups.com.
>> 
>>>> 
>>>> For more options, visit https://groups.google.com/d/optout.
>> 
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "golang-nuts" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to golang-nuts+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
> -- 
> - sent from my mobile
> -- 
> You received this message because you are subscribed to the Google Groups 
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to golang-nuts+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to