1
0
mirror of https://github.com/golang/go synced 2024-11-20 06:54:42 -07:00
go/src/cmd/gc
Luuk van Dijk 507fcf37d2 cmd/gc: escape analysis to track flow of in to out parameters.
includes step 0: synthesize outparams, from 6600044
includes step 1,2: give outparams loopdepth 0 and verify unchanged results
         generate esc:$mask tags, but still tie to sink if a param has mask != 0
from 6610054

adds final steps:
- have esccall generate n->escretval, a list of nodes the function results flow to
- use these in esccall and ORETURN/OAS2FUNC/and f(g())
- only tie parameters to sink if tag is absent, otherwise according to mask, tie them to escretval

R=rsc, bradfitz
CC=dave, gobot, golang-dev, iant, rsc
https://golang.org/cl/6741044
2012-10-29 13:38:21 +01:00
..
align.c cmd/gc: more graceful handling of invalid fields in widstruct. 2012-10-07 21:46:10 +02:00
bisonerrors
bits.c
builtin.c cmd/gc: rebuild builtin.c 2012-10-21 17:15:56 -04:00
closure.c cmd/gc: track parameter flow, step 0: synthesize name nodes for anonymous PPARAMOUTs without breaking anything. 2012-10-22 10:09:52 +02:00
const.c cmd/gc: Friendlier errors on oversized arrays. 2012-10-21 19:22:51 +02:00
cplx.c cmd/gc: contiguous loop layout 2012-05-30 18:07:39 -04:00
dcl.c cmd/gc: track parameter flow, step 0: synthesize name nodes for anonymous PPARAMOUTs without breaking anything. 2012-10-22 10:09:52 +02:00
doc.go race: gc changes 2012-10-02 10:05:46 +04:00
esc.c cmd/gc: escape analysis to track flow of in to out parameters. 2012-10-29 13:38:21 +01:00
export.c cmd/gc, cmd/ld: use go.weak instead of weak as the weak symbol prefix 2012-10-23 11:16:08 -04:00
fmt.c cmd/gc: track parameter flow, step 0: synthesize name nodes for anonymous PPARAMOUTs without breaking anything. 2012-10-22 10:09:52 +02:00
gen.c cmd/gc: avoid clobbering the AST in cgen_callmeth. 2012-10-07 00:52:40 +02:00
go.errors gc: improve error message for composite literals with unexpected newlines 2012-04-02 11:00:55 -04:00
go.h cmd/gc: escape analysis to track flow of in to out parameters. 2012-10-29 13:38:21 +01:00
go.y cmd/gc, cmd/ld: use go.weak instead of weak as the weak symbol prefix 2012-10-23 11:16:08 -04:00
init.c gc: changes in export format in preparation of inlining. 2011-12-05 14:40:19 -05:00
inl.c cmd/gc: fix comment for caninl 2012-09-24 12:30:32 -04:00
lex.c cmd/gc, cmd/ld: use go.weak instead of weak as the weak symbol prefix 2012-10-23 11:16:08 -04:00
Makefile build: update Makefile to track source code dependencies better 2012-03-13 03:31:11 +08:00
md5.c
md5.h
mkbuiltin gc: fix comment in mkbuiltin 2012-02-14 16:27:35 -05:00
mkbuiltin1.c gc: delete old unsafe functions 2012-02-13 15:37:35 -05:00
mkopnames gc: use octal escapes in mkopnames 2012-01-31 18:15:42 -08:00
mparith1.c build: fix various 'set and not used' for Plan 9 2012-09-17 17:25:26 -04:00
mparith2.c cmd/gc: error on constant shift overflows. 2012-02-16 00:19:42 +01:00
mparith3.c gc: make constant arith errors a little more friendly 2012-02-11 00:50:56 -05:00
obj.c cmd/gc: prepare for 64-bit ints 2012-09-24 14:59:44 -04:00
order.c cmd/gc: forgotten recursion on ninit itself in order.c 2012-01-26 15:10:24 +01:00
pgen.c race: gc changes 2012-10-02 10:05:46 +04:00
racewalk.c cmd/gc: fix compiler crash during race instrumentation 2012-10-10 18:09:23 +04:00
range.c test/fixedbugs/bug454.go: add a test for CL 6564052 2012-09-29 23:23:56 +08:00
reflect.c cmd/gc: Don't export embedded builtins 2012-10-07 06:53:57 +02:00
runtime.go race: gc changes 2012-10-02 10:05:46 +04:00
select.c cmd/gc: fix strict tree property for AST for OAS2RECV nodes. 2012-10-22 10:01:14 +02:00
sinit.c cmd/gc: avoid clobbering the AST in cgen_callmeth. 2012-10-07 00:52:40 +02:00
subr.c cmd/gc, cmd/ld: use go.weak instead of weak as the weak symbol prefix 2012-10-23 11:16:08 -04:00
swt.c cmd/gc: add missing conversion from bool to interface in switches. 2012-09-17 21:29:10 +02:00
typecheck.c cmd/gc: Mark use of builtin functions as calls. 2012-10-22 19:14:30 +02:00
unsafe.c gc: keep pointer to original node in constant rewrites. 2011-12-07 16:18:50 -05:00
unsafe.go gc: delete old unsafe functions 2012-02-13 15:37:35 -05:00
walk.c cmd/gc: prepare for 64-bit ints 2012-09-24 14:59:44 -04:00
y.tab.c cmd/gc, cmd/ld: use go.weak instead of weak as the weak symbol prefix 2012-10-23 11:16:08 -04:00
y.tab.h cmd/gc, cmd/ld: use go.weak instead of weak as the weak symbol prefix 2012-10-23 11:16:08 -04:00
yerr.h gc: improve error message for composite literals with unexpected newlines 2012-04-02 11:00:55 -04:00