1
0
mirror of https://github.com/golang/go synced 2024-10-04 21:21:22 -06:00
go/src/cmd
Josh Bleecher Snyder ca19e55f9a cmd/link: make stkcheck more flexible
stkcheck is flow-insensitive: It processes calls in PC order.
Since morestack was always the first call in a function,
it was a safe, conservative approximation to simply adjust stack
space as we went, recognizing morestack when it showed up.

Subsequent CLS will rearrange the function prologue;
morestack may no longer be the first call in a function.

Introducing flow-sensitivity to stkcheck would allow this,
and possibly allow a smaller stackguard.
It is also a high risk change and possibly expensive.

Instead, assume that all calls to morestack occur as
part of the function prologue, no matter where they
are located in the program text.

Updates #10587.

Change-Id: I4dcdd4256a980fc4bc433a68a10989ff57f7034f
Reviewed-on: https://go-review.googlesource.com/10496
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
2015-06-04 03:14:23 +00:00
..
addr2line cmd/addr2line: skip fork test on darwin/arm64 2015-04-12 11:53:24 +00:00
api go/importer: added go/importer package, adjusted go/types 2015-04-15 02:28:53 +00:00
asm cmd/asm: delete Addr.Reg2 2015-05-30 02:47:25 +00:00
cgo cmd/cgo: wrap generated exports with extern "C" for C++ 2015-05-08 04:23:43 +00:00
compile cmd/internal/gc: accept map literals with omitted key type 2015-06-04 02:31:38 +00:00
cover cmd/cover: fix missing error check in test 2015-06-02 05:23:55 +00:00
dist cmd/dist: one more file for CL 9152 2015-06-03 20:42:13 +00:00
doc cmd/doc: try better when looking for package dir 2015-06-01 19:59:40 +00:00
fix all: use "reports whether" in place of "returns true if(f)" 2015-03-18 15:14:06 +00:00
go cmd/go: make test.bash pass again 2015-06-03 20:33:30 +00:00
gofmt cmd/gofmt, go/format: refactor common pieces into internal/format 2015-04-01 17:35:26 +00:00
internal cmd/compile, cmd/internal: replace %P with %v in a few final prints 2015-06-03 20:10:03 +00:00
link cmd/link: make stkcheck more flexible 2015-06-04 03:14:23 +00:00
newlink cmd/link: move to cmd/newlink 2015-05-21 17:31:40 +00:00
nm cmd/nm: skip fork test on darwin/arm64 2015-04-12 11:52:22 +00:00
objdump cmd/objdump: disable external linking test on openbsd/arm 2015-04-29 15:47:51 +00:00
old5a cmd/old5a, cmd/old8a, cmd/old9a: rebuild y.go 2015-05-29 17:36:43 +00:00
old6a cmd/internal/obj: make Prog.From3 a pointer 2015-05-29 16:19:02 +00:00
old8a cmd/old5a, cmd/old8a, cmd/old9a: rebuild y.go 2015-05-29 17:36:43 +00:00
old9a cmd/old5a, cmd/old8a, cmd/old9a: rebuild y.go 2015-05-29 17:36:43 +00:00
pack all: retire architecture letter in file names, public API 2015-05-21 17:32:17 +00:00
pprof cmd/pprof/internal/profile: fix missing error check 2015-06-02 05:25:52 +00:00
trace cmd/...: fix vet issues and cull dead code 2015-04-18 01:47:28 +00:00
yacc cmd/internal/gc, cmd/yacc: merge yaccerrors.go into cmd/yacc 2015-05-15 17:29:26 +00:00