I can't help you with your specific question, but two procedural points. 
First, while such a question is welcome in this group (golang-nuts), you 
may reach an audience better able to answer it on the golang-dev 
<https://groups.google.com/g/golang-dev> group, since it deals with the 
internal details of the compiler. But I would also note that golang-dev 
<https://groups.google.com/g/golang-dev> is in "Quiet Week" 
<https://groups.google.com/g/golang-dev/c/onqurcX6pV8>, so will be less 
active than normal. 

However you proceed, I hope you get an answer. 

On Sunday, June 27, 2021 at 10:57:17 PM UTC-4 cuiw...@gmail.com wrote:

> a defer call generate some code like:
>
>    - 
>       - v42 (8) = StaticLECall <mem> {AuxCall{runtime.deferprocStack}} 
>       [8] v36 v41
>       - v43 (8) = SelectN <mem> [0] v42
>    - Defer v42 → b2 b3 (likely) (8)
>
>
>    - b2: ← b1-
>    - 
>       - v48 (7) = Copy <mem> v43
>       - v49 (7) = VarKill <mem> {.autotmp_0} v48
>       - v50 (9) = StaticLECall <mem> {AuxCall{runtime.deferreturn}} v49
>       - v51 (9) = SelectN <mem> [0] v50
>       - v52 (9) = MakeResult <mem> v51
>    - Ret v52 (9)
>
>
>    - b3: ← b1-
>    - 
>       - v44 (8) = Copy <mem> v43
>       - v45 (8) = StaticLECall <mem> {AuxCall{runtime.deferreturn}} v44
>       - v46 (8) = SelectN <mem> [0] v45
>       - v47 (8) = MakeResult <mem> v46
>    - Ret v47 (8)
>
> my question is Under what circumstances the deferprocStack return 1?
> some useful info: 
>
> https://github.com/golang/go/blob/master/src/cmd/compile/internal/amd64/ssa.go#L1287-L1289
>
> https://github.com/golang/go/blob/master/src/runtime/panic.go#L290-L328, 
> in these lines it seems deferprocStack always return 0. i think i have miss 
> some thing, please help me to find when it get to branch return 1.
>

-- 
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/1710d4fa-13a1-4846-b408-e5464a41e970n%40googlegroups.com.

Reply via email to