commit | 52cae2763ee59ea63e885e9a41708e3ce677039a | [log] [tgz] |
---|---|---|
author | Cherry Zhang <cherryyz@google.com> | Wed Jan 09 11:21:07 2019 -0500 |
committer | Cherry Zhang <cherryyz@google.com> | Wed Jan 09 18:38:22 2019 +0000 |
tree | beca29fd1141c9fcc6a4c06573f4cd2399b7cf27 | |
parent | 8765a786b6e8199959bba8244ac5f95aa3eb9474 [diff] |
cmd/internal/obj/wasm: increment PC by 2 at sigpanic On Wasm, PC is not the instruction counter but the block ID. We advance the PC only when necessary. In the case of sigpanic (used in nil check), the panic stack trace expects the PC at the call of sigpanic, not the next one. However, runtime.Caller subtracts 1 from the PC. To make both PC and PC-1 work (have the same line number), we advance the PC by 2 at sigpanic. Fixes #29632. Change-Id: Ieb4d0bb9dc6a8103855a194e3d289f1db4bfb1e5 Reviewed-on: https://go-review.googlesource.com/c/157157 Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Richard Musiol <neelance@gmail.com> Run-TryBot: Richard Musiol <neelance@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
Gopher image by Renee French, licensed under Creative Commons 3.0 Attributions license.
Our canonical Git repository is located at https://go.googlesource.com/go. There is a mirror of the repository at https://github.com/golang/go.
Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.
Official binary distributions are available at https://golang.org/dl/.
After downloading a binary release, visit https://golang.org/doc/install or load doc/install.html in your web browser for installation instructions.
If a binary distribution is not available for your combination of operating system and architecture, visit https://golang.org/doc/install/source or load doc/install-source.html in your web browser for source installation instructions.
Go is the work of thousands of contributors. We appreciate your help!
To contribute, please read the contribution guidelines: https://golang.org/doc/contribute.html
Note that the Go project uses the issue tracker for bug reports and proposals only. See https://golang.org/wiki/Questions for a list of places to ask questions about the Go language.