go/src/cmd/6g
Russ Cox 335da67e00 gc: make static initialization more static
Does as much as possible in data layout instead
of during the init function.

Handles var x = y; var y = z as a special case too,
because it is so prevalent in package unicode
(var Greek = _Greek; var _Greek = []...).

Introduces InitPlan description of initialized data
so that it can be traversed multiple times (for example,
in the copy handler).

Cuts package unicode's init function size by 8x.
All that remains there is map initialization, which
is on the chopping block too.

Fixes sinit.go test case.

Aggregate DATA instructions at end of object file.

Checkpoint.  More to come.

R=ken2
CC=golang-dev
https://golang.org/cl/4969051
2011-08-31 07:37:14 -04:00
..
Makefile gc: typecheck the whole tree before walking. preparation for some escape-analysis related changes. 2011-06-02 18:48:17 +02:00
cgen.c 6g: fix build on Plan 9 2011-08-29 09:34:59 -04:00
doc.go tweak documentation of commands 2009-11-09 11:45:15 -08:00
galign.c gc: shuffle #includes 2011-08-25 16:25:10 -04:00
gg.h 6g: fix build on Plan 9 2011-08-29 09:34:59 -04:00
ggen.c gc: fix div bug 2011-08-30 08:47:28 -04:00
gobj.c gc: make static initialization more static 2011-08-31 07:37:14 -04:00
gsubr.c gc: make static initialization more static 2011-08-31 07:37:14 -04:00
list.c 6g: fix build on Plan 9 2011-08-29 09:34:59 -04:00
opt.h sped up optimization by not optimizing 2009-08-29 20:33:21 -07:00
peep.c 6g: fix build on Plan 9 2011-08-29 09:34:59 -04:00
reg.c 6g: fix build on Plan 9 2011-08-29 09:34:59 -04:00