aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/asm_ppc64x.s
diff options
context:
space:
mode:
authorMatthew Dempsky <mdempsky@google.com>2017-03-01 15:50:57 -0800
committerMatthew Dempsky <mdempsky@google.com>2017-03-07 20:14:17 +0000
commitc310c688ffa46e2f91e40284c16d71f3921feed9 (patch)
tree4eaf626a618d12018a5ae11be7a17e0634baef47 /src/runtime/asm_ppc64x.s
parent5ed952368e3777845afd934e38219c5567b09cc4 (diff)
downloadgo-c310c688ffa46e2f91e40284c16d71f3921feed9.tar.gz
go-c310c688ffa46e2f91e40284c16d71f3921feed9.zip
cmd/compile, runtime: simplify multiway select implementation
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: Keith Randall <khr@golang.org>
Diffstat (limited to 'src/runtime/asm_ppc64x.s')
-rw-r--r--src/runtime/asm_ppc64x.s5
1 files changed, 0 insertions, 5 deletions
diff --git a/src/runtime/asm_ppc64x.s b/src/runtime/asm_ppc64x.s
index c367518b2d..4ab5dec5cd 100644
--- a/src/runtime/asm_ppc64x.s
+++ b/src/runtime/asm_ppc64x.s
@@ -719,11 +719,6 @@ TEXT runtime·getcallerpc(SB),NOSPLIT,$8-16
MOVD R3, ret+8(FP)
RET
-TEXT runtime·setcallerpc(SB),NOSPLIT,$8-16
- MOVD pc+8(FP), R3
- MOVD R3, FIXED_FRAME+8(R1) // set LR in caller
- RET
-
TEXT runtime·abort(SB),NOSPLIT|NOFRAME,$0-0
MOVW (R0), R0
UNDEF