diff options
| author | Keith Randall <khr@golang.org> | 2017-01-30 14:55:12 -0800 |
|---|---|---|
| committer | Keith Randall <khr@golang.org> | 2017-02-03 15:21:47 +0000 |
| commit | 8179b9b462eb2946de8488a26dca91a89b3d22e6 (patch) | |
| tree | 89eef2caba11b63c6f5675794686caa6366b3744 /src/runtime/sys_linux_arm.s | |
| parent | 12c58bbf81c0feca25292a2291a59e16b5ed00f6 (diff) | |
| download | go-8179b9b462eb2946de8488a26dca91a89b3d22e6.tar.xz | |
cmd/compile: make sure output params are live if there is a defer
If there is a defer, and that defer recovers, then the caller
can see all of the output parameters. That means that we must
mark all the output parameters live at any point which might panic.
If there is no defer then this is not necessary. This is implemented.
We could also detect whether there is a recover in any of the defers.
If not, we would need to mark only output params that the defer
actually references (and the closure mechanism already does that).
This is not implemented.
Fixes #18860.
Change-Id: If984fe6686eddce9408bf25e725dd17fc16b8578
Reviewed-on: https://go-review.googlesource.com/36030
Reviewed-by: Austin Clements <austin@google.com>
Reviewed-by: Russ Cox <rsc@golang.org>
Diffstat (limited to 'src/runtime/sys_linux_arm.s')
0 files changed, 0 insertions, 0 deletions
