• Matthew Dempsky's avatar
    cmd/compile, runtime: simplify multiway select implementation · c310c688
    Matthew Dempsky authored
    This commit reworks multiway select statements to use normal control
    flow primitives instead of the previous setjmp/longjmp-like behavior.
    This simplifies liveness analysis and should prevent issues around
    "returns twice" function calls within SSA passes.
    
    test/live.go is updated because liveness analysis's CFG is more
    representative of actual control flow. The case bodies are the only
    real successors of the selectgo call, but previously the selectsend,
    selectrecv, etc. calls were included in the successors list too.
    
    Updates #19331.
    
    Change-Id: I7f879b103a4b85e62fc36a270d812f54c0aa3e83
    Reviewed-on: https://go-review.googlesource.com/37661
    Run-TryBot: Matthew Dempsky <mdempsky@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarKeith Randall <khr@golang.org>
    c310c688
Name
Last commit
Last update
..
addr2line Loading commit data...
api Loading commit data...
asm Loading commit data...
cgo Loading commit data...
compile Loading commit data...
cover Loading commit data...
dist Loading commit data...
doc Loading commit data...
fix Loading commit data...
go Loading commit data...
gofmt Loading commit data...
internal Loading commit data...
link Loading commit data...
nm Loading commit data...
objdump Loading commit data...
pack Loading commit data...
pprof Loading commit data...
trace Loading commit data...
vendor Loading commit data...
vet Loading commit data...