]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: fix mishandling of unsafe-uintptr arguments with call method in go/defer
authorCuong Manh Le <cuong.manhle.vn@gmail.com>
Fri, 26 Feb 2021 03:17:09 +0000 (10:17 +0700)
committerCuong Manh Le <cuong.manhle.vn@gmail.com>
Fri, 26 Feb 2021 10:18:26 +0000 (10:18 +0000)
commit23943a67378040340d835734a55dee7cb639e586
tree8d4b95d2375c1520dc9f958b1fef269ed6c53480
parente25040d16288563c89cead5e8da8d3b9c74ab655
cmd/compile: fix mishandling of unsafe-uintptr arguments with call method in go/defer

In CL 253457, we did the same fix for direct function calls. But for
method calls, the receiver argument also need to be passed through the
wrapper function, which we are not doing so the compiler crashes with
the code in #44415.

It will be nicer if we can rewrite OCALLMETHOD to normal OCALLFUNC, but
that will be for future CL. The passing receiver argument to wrapper
function is easier for backporting to go1.16 branch.

Fixes #44415

Change-Id: I03607a64429042c6066ce673931db9769deb3124
Reviewed-on: https://go-review.googlesource.com/c/go/+/296490
Trust: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
src/cmd/compile/internal/walk/stmt.go
test/fixedbugs/issue24491a.go