Thanks for the hints, I could finally have a look at it and found that a 
uint64 value was escaping regardless of the actual function code path. I 
can reproduce it with this dummy function example: 

func foo(cond bool, v int) *int {
    if cond {
        return &v
    }
    return nil
}

The compiled function prolog allocates the int value regardless of the fact 
it's not always needed.
I fixed it for now by declaring a new value in the condition block:

func foo(cond bool, v int) *int {
    if cond {
        v := v // new declaration in this scope to avoid using function 
scope
        return &v
    }
    return nil
}

Is it something expected?

Best
-- 
Julio Guerra

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/d6e14db3-6689-40d9-a400-ef76d6e01137n%40googlegroups.com.

Reply via email to