go/src/cmd/compile/internal
Ian Lance Taylor bbe5da4260 cmd/compile, syscall: add //go:uintptrescapes comment, and use it
This new comment can be used to declare that the uintptr arguments to a
function may be converted from pointers, and that those pointers should
be considered to escape. This is used for the Call methods in
dll_windows.go that take uintptr arguments, because they call Syscall.

We can't treat these functions as we do syscall.Syscall, because unlike
Syscall they may cause the stack to grow. For Syscall we can assume that
stack arguments can remain on the stack, but for these functions we need
them to escape.

Fixes #16035.

Change-Id: Ia0e5b4068c04f8d303d95ab9ea394939f1f57454
Reviewed-on: https://go-review.googlesource.com/24551
Reviewed-by: David Chase <drchase@google.com>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-07-06 20:48:41 +00:00
..
amd64 cmd/compile: fix liveness computation for heap-escaped parameters 2016-05-27 03:19:52 +00:00
arm cmd/compile: for arm, zero unaligned memory 1 byte at a time 2016-06-01 14:14:13 +00:00
arm64 all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
big all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
gc cmd/compile, syscall: add //go:uintptrescapes comment, and use it 2016-07-06 20:48:41 +00:00
mips64 cmd/compile/internal/mips64: fix large uint -> float conversion 2016-05-06 16:02:30 +00:00
ppc64 cmd/compile: use power5 instructions for uint64 to float casts 2016-06-17 19:15:29 +00:00
s390x cmd/compile: allow 64-bit multiplication with immediates on s390x 2016-04-28 20:27:43 +00:00
ssa cmd/compile: shift tests, fix triple-shift rules 2016-05-29 20:36:21 +00:00
test cmd/compile: Move divconst_test out of test/bench/go1 2016-04-29 16:20:18 +00:00
x86 cmd/compile: eliminate PPARAMREF 2016-05-27 05:16:16 +00:00