]> Cypherpunks repositories - gostls13.git/commit
gc: inlining fixes
authorLuuk van Dijk <lvd@golang.org>
Tue, 10 Jan 2012 20:24:31 +0000 (21:24 +0100)
committerLuuk van Dijk <lvd@golang.org>
Tue, 10 Jan 2012 20:24:31 +0000 (21:24 +0100)
commit97fd7d5f34744de9327b3f9850bef4b21777263c
tree20d975e0e7a980e4c7db0c34d2ac4c62532160c7
parent5032a7dc0cb95eefe92714f572b58e5fa1569d6b
gc: inlining fixes

flag -l means: inlining on, -ll inline with early typecheck
-l lazily typechecks imports on use and re-export, nicer for debugging
-lm produces output suitable for errchk tests, repeated -mm... increases inl.c's verbosity
export processed constants, instead of originals
outparams get ->inlvar too, and initialized to zero
fix shared rlist bug, that lead to typecheck messing up the patched tree
properly handle non-method calls to methods T.meth(t, a...)
removed embryonic code to handle closures in inlined bodies
also inline calls inside closures (todo: move from phase 6b to 4)

Fixes #2579.

R=rsc
CC=golang-dev
https://golang.org/cl/5489106
src/cmd/gc/export.c
src/cmd/gc/fmt.c
src/cmd/gc/go.h
src/cmd/gc/inl.c
src/cmd/gc/lex.c