]> Cypherpunks repositories - gostls13.git/commit
cmd/internal/obj/wasm: increment PC by 2 at sigpanic
authorCherry Zhang <cherryyz@google.com>
Wed, 9 Jan 2019 16:21:07 +0000 (11:21 -0500)
committerCherry Zhang <cherryyz@google.com>
Wed, 9 Jan 2019 18:38:22 +0000 (18:38 +0000)
commit52cae2763ee59ea63e885e9a41708e3ce677039a
treebeca29fd1141c9fcc6a4c06573f4cd2399b7cf27
parent8765a786b6e8199959bba8244ac5f95aa3eb9474
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>
src/cmd/internal/obj/wasm/wasmobj.go