diff options
| author | Russ Cox <rsc@golang.org> | 2013-06-25 17:28:49 -0400 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2013-06-25 17:28:49 -0400 |
| commit | 148fac79a33bf7e9be279002aa289eacad41cb8f (patch) | |
| tree | 8cf3414c63884a3c727565231deeae86b132e9f4 /src | |
| parent | a14e143c2173e106b1155905a41f5144e1a864b7 (diff) | |
| download | go-148fac79a33bf7e9be279002aa289eacad41cb8f.tar.xz | |
cmd/gc: fix escape analysis ordering
Functions without bodies were excluded from the ordering logic,
because when I wrote the ordering logic there was no reason to
analyze them.
But then we added //go:noescape tags that need analysis, and we
didn't update the ordering logic.
So in the absence of good ordering, //go:noescape only worked
if it appeared before the use in the source code.
Fixes #5773.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/10570043
Diffstat (limited to 'src')
| -rw-r--r-- | src/cmd/gc/esc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/cmd/gc/esc.c b/src/cmd/gc/esc.c index df273e3927..497645ab59 100644 --- a/src/cmd/gc/esc.c +++ b/src/cmd/gc/esc.c @@ -144,7 +144,7 @@ visitcode(Node *n, uint32 min) fn = n->left; if(n->op == OCALLMETH) fn = n->left->right->sym->def; - if(fn && fn->op == ONAME && fn->class == PFUNC && fn->defn && fn->defn->nbody) + if(fn && fn->op == ONAME && fn->class == PFUNC && fn->defn) if((m = visit(fn->defn)) < min) min = m; } |
