mirror of
https://github.com/golang/go
synced 2024-11-21 20:34:40 -07:00
335da67e00
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 |
||
---|---|---|
.. | ||
bench | ||
bugs | ||
chan | ||
fixedbugs | ||
garbage | ||
interface | ||
ken | ||
nilptr | ||
syntax | ||
64bit.go | ||
235.go | ||
append.go | ||
args.go | ||
assign1.go | ||
assign.go | ||
bigalg.go | ||
bigmap.go | ||
blank1.go | ||
blank.go | ||
chancap.go | ||
char_lit1.go | ||
char_lit.go | ||
closedchan.go | ||
closure.go | ||
cmp1.go | ||
cmp2.go | ||
cmp3.go | ||
cmp4.go | ||
cmp5.go | ||
cmp6.go | ||
cmplx.go | ||
cmplxdivide1.go | ||
cmplxdivide.c | ||
cmplxdivide.go | ||
complit.go | ||
compos.go | ||
const1.go | ||
const2.go | ||
const3.go | ||
const.go | ||
convert3.go | ||
convert.go | ||
convlit1.go | ||
convlit.go | ||
copy.go | ||
ddd1.go | ||
ddd2.go | ||
ddd3.go | ||
ddd.go | ||
decl.go | ||
declbad.go | ||
defer.go | ||
deferprint.go | ||
divide.go | ||
empty.go | ||
env.go | ||
eof1.go | ||
eof.go | ||
errchk | ||
escape2.go | ||
escape.go | ||
float_lit.go | ||
floatcmp.go | ||
for.go | ||
func1.go | ||
func2.go | ||
func3.go | ||
func4.go | ||
func5.go | ||
func6.go | ||
func7.go | ||
func.go | ||
gc1.go | ||
gc2.go | ||
gc.go | ||
golden.out | ||
goprint.go | ||
goto.go | ||
hashmap.go | ||
helloworld.go | ||
if.go | ||
import1.go | ||
import2.go | ||
import3.go | ||
import4.go | ||
import.go | ||
index.go | ||
indirect1.go | ||
indirect.go | ||
init.go | ||
initcomma.go | ||
initialize.go | ||
initializerr.go | ||
initsyscall.go | ||
int_lit.go | ||
intcvt.go | ||
iota.go | ||
label1.go | ||
label.go | ||
literal.go | ||
malloc1.go | ||
mallocfin.go | ||
mallocrand.go | ||
mallocrep1.go | ||
mallocrep.go | ||
map.go | ||
method1.go | ||
method2.go | ||
method3.go | ||
method.go | ||
named1.go | ||
named.go | ||
nil.go | ||
nul1.go | ||
parentype.go | ||
peano.go | ||
printbig.go | ||
range.go | ||
recover1.go | ||
recover2.go | ||
recover3.go | ||
recover.go | ||
rename1.go | ||
rename.go | ||
run | ||
runtime.go | ||
shift1.go | ||
shift2.go | ||
sieve.go | ||
sigchld.go | ||
simassign.go | ||
sinit.go | ||
sizeof.go | ||
solitaire.go | ||
stack.go | ||
string_lit.go | ||
stringrange.go | ||
switch1.go | ||
switch.go | ||
test0.go | ||
turing.go | ||
typeswitch1.go | ||
typeswitch2.go | ||
typeswitch.go | ||
undef.go | ||
utf.go | ||
varerr.go | ||
varinit.go | ||
vectors.go | ||
zerodivide.go |