1
0
mirror of https://github.com/golang/go synced 2024-11-12 07:00:21 -07:00
go/test
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
..
bench timing.log: significant improvements after custom algorithms 2011-08-10 15:45:37 +10:00
bugs gc: relax assignability of method receivers 2011-05-24 19:48:19 -04:00
chan test/chan/sieve2.go: remove container/vector. 2011-08-22 13:29:17 +10:00
fixedbugs gc: fix div bug 2011-08-30 08:47:28 -04:00
garbage log: rename Exit* to Fatal* 2011-02-01 12:47:35 -08:00
interface errchk: allow multiple patterns 2011-08-16 11:14:26 -04:00
ken fix tree for reflect rename 2011-04-25 13:39:36 -04:00
nilptr remove nacl 2010-12-15 11:49:23 -05:00
syntax test: avoid undefined error in syntax/if.go. 2011-03-29 06:48:20 -07:00
64bit.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
235.go single argument panic 2010-03-30 10:34:57 -07:00
append.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00
args.go move things out of sys into os and runtime 2009-05-08 15:21:41 -07:00
assign1.go test: Match gccgo error messages. 2010-09-10 19:12:10 -07:00
assign.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
bigalg.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
bigmap.go runtime: allow large map values 2010-05-19 12:57:47 -07:00
blank1.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
blank.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00
chancap.go delete all uses of panicln by rewriting them using panic or, 2010-03-24 16:46:53 -07:00
char_lit1.go test: Match gccgo error messages. 2010-08-31 11:43:52 -07:00
char_lit.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
closedchan.go go code: replace closed(c) with x, ok := <-c 2011-03-11 14:47:44 -05:00
closure.go gc: issue 1231 2010-12-13 16:51:19 -05:00
cmp1.go gc: implement new comparison rule 2010-09-13 15:42:47 -04:00
cmp2.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
cmp3.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
cmp4.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
cmp5.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
cmp6.go test: match gccgo error messages for cmp6.go 2011-03-25 17:51:02 -07:00
cmplx.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00
cmplxdivide1.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00
cmplxdivide.c delete float, complex - code changes 2011-01-19 23:09:00 -05:00
cmplxdivide.go more soft float support. passes several basic tests 2010-07-20 15:53:16 +03:00
complit.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00
compos.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
const1.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00
const2.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
const3.go gc: another shift bug 2010-12-13 13:42:51 -05:00
const.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
convert3.go test: don't assign address of array to slice. 2010-08-31 07:34:01 -07:00
convert.go fix tree for reflect rename 2011-04-25 13:39:36 -04:00
convlit1.go more 6g reorg; checkpoint. 2009-08-03 11:58:52 -07:00
convlit.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00
copy.go test copy([]byte, string) 2010-10-26 08:36:23 -07:00
ddd1.go gc: disallow [...][...]int{{1,2,3}} 2011-07-26 00:52:02 -04:00
ddd2.go gc: add ... T, rework plain ... 2010-02-01 00:25:59 -08:00
ddd3.go delete all uses of panicln by rewriting them using panic or, 2010-03-24 16:46:53 -07:00
ddd.go gc: ... bug 2010-10-06 11:12:30 -04:00
decl.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00
declbad.go errchk: allow multiple patterns 2011-08-16 11:14:26 -04:00
defer.go ... changes 2010-09-24 11:55:48 -04:00
deferprint.go gc: implement defer print/println/panic/panicln 2010-01-27 15:37:08 -08:00
divide.go 6g, 8g: divide corner case 2011-07-28 14:18:22 -04:00
empty.go test of new empty productions 2008-10-08 15:33:18 -07:00
env.go test: don't require specific GOARCH values. 2011-03-30 14:24:32 -07:00
eof1.go gc: line comments may end in EOF 2010-11-04 16:04:04 -04:00
eof.go gc: insert semicolon at EOF if needed 2010-09-28 10:35:02 -04:00
errchk errchk: allow multiple patterns 2011-08-16 11:14:26 -04:00
escape2.go gc: fix arm build 2011-08-28 23:29:34 -04:00
escape.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
float_lit.go arm: enable all tests 2010-10-25 21:25:13 -07:00
floatcmp.go more soft float support. passes several basic tests 2010-07-20 15:53:16 +03:00
for.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
func1.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00
func2.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
func3.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
func4.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
func5.go single argument panic 2010-03-30 10:34:57 -07:00
func6.go gc: fix func syntax error 2011-04-13 22:48:21 -04:00
func7.go gc: fix order of operations for f() < g(). 2011-04-26 00:57:03 -04:00
func.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00
gc1.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
gc2.go runtime: add UpdateMemStats, use in tests 2011-07-22 00:55:01 -04:00
gc.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
golden.out gc: make static initialization more static 2011-08-31 07:37:14 -04:00
goprint.go gc: handle go print() and go println() 2011-06-13 22:50:51 +10:00
goto.go test: test of goto restrictions 2011-06-20 14:06:00 -04:00
hashmap.go gc, spec, tests: no auto-indirect of pointer to interface value 2010-09-30 14:59:41 -04:00
helloworld.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
if.go go: require { } around else block 2011-07-14 17:15:52 -04:00
import1.go errchk: allow multiple patterns 2011-08-16 11:14:26 -04:00
import2.go gc: fix chan <- chan precedence. 2010-01-26 10:40:28 -08:00
import3.go gc: fix chan <- chan precedence. 2010-01-26 10:40:28 -08:00
import4.go gc: fix imported and not used message - show path 2010-03-03 17:23:47 -08:00
import.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
index.go test: fix NaCl build 2010-09-19 23:28:32 -04:00
indirect1.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
indirect.go delete all uses of panicln by rewriting them using panic or, 2010-03-24 16:46:53 -07:00
init.go test: match gccgo error messages for init.go 2011-03-26 11:24:02 -07:00
initcomma.go delete all uses of panicln by rewriting them using panic or, 2010-03-24 16:46:53 -07:00
initialize.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
initializerr.go errchk: allow multiple patterns 2011-08-16 11:14:26 -04:00
initsyscall.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
int_lit.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
intcvt.go delete all uses of panicln by rewriting them using panic or, 2010-03-24 16:46:53 -07:00
iota.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00
label1.go test: match gccgo error messages for label.go and label1.go. 2011-03-25 10:36:46 -07:00
label.go test: match gccgo error messages for label.go and label1.go. 2011-03-25 10:36:46 -07:00
literal.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00
malloc1.go runtime: add UpdateMemStats, use in tests 2011-07-22 00:55:01 -04:00
mallocfin.go single argument panic 2010-03-30 10:34:57 -07:00
mallocrand.go runtime: add UpdateMemStats, use in tests 2011-07-22 00:55:01 -04:00
mallocrep1.go runtime: add UpdateMemStats, use in tests 2011-07-22 00:55:01 -04:00
mallocrep.go runtime: add UpdateMemStats, use in tests 2011-07-22 00:55:01 -04:00
map.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00
method1.go test: s/float/float64/ 2011-01-21 08:37:58 -08:00
method2.go gc: explain why invalid receiver types are invalid 2011-04-25 17:16:44 -04:00
method3.go delete all uses of panicln by rewriting them using panic or, 2010-03-24 16:46:53 -07:00
method.go gc, spec, tests: no auto-indirect of pointer to interface value 2010-09-30 14:59:41 -04:00
named1.go go code: replace closed(c) with x, ok := <-c 2011-03-11 14:47:44 -05:00
named.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00
nil.go test: new nil semantics 2011-08-17 15:55:06 -04:00
nul1.go errchk: allow multiple patterns 2011-08-16 11:14:26 -04:00
parentype.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
peano.go test/peano: use directly recursive type def 2010-08-06 15:07:54 -07:00
printbig.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
range.go gc: implement new len spec, range bug fix, optimization 2010-07-01 18:04:25 -07:00
recover1.go test for panic and recover 2010-03-31 11:47:09 -07:00
recover2.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00
recover3.go remove nacl 2010-12-15 11:49:23 -05:00
recover.go runtime: turn run time errors checks into panics 2010-04-01 22:31:27 -07:00
rename1.go errchk: allow multiple patterns 2011-08-16 11:14:26 -04:00
rename.go delete all uses of panicln by rewriting them using panic or, 2010-03-24 16:46:53 -07:00
run test: put GOROOT/bin before all others in run 2011-08-24 16:12:20 +02:00
runtime.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
shift1.go errchk: allow multiple patterns 2011-08-16 11:14:26 -04:00
shift2.go gc: implement new shift rules 2011-05-31 15:05:40 -04:00
sieve.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
sigchld.go remove nacl 2010-12-15 11:49:23 -05:00
simassign.go single argument panic 2010-03-30 10:34:57 -07:00
sinit.go gc: make static initialization more static 2011-08-31 07:37:14 -04:00
sizeof.go gc: unsafe.Alignof, unsafe.Offsetof, unsafe.Sizeof now return uintptr 2011-06-17 16:12:14 -04:00
solitaire.go solitaire: an exercise in backtracking and string conversions 2010-09-03 10:52:45 -07:00
stack.go 5l, 8l: pass stack frame size to morestack when needed 2011-02-01 18:34:41 -05:00
string_lit.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
stringrange.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
switch1.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
switch.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
test0.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00
turing.go test/turing: refactor 2010-09-04 10:40:00 +10:00
typeswitch1.go single argument panic 2010-03-30 10:34:57 -07:00
typeswitch2.go type switches: test for pathological case 2011-08-19 09:31:50 -07:00
typeswitch.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00
undef.go test: Match gccgo error messages. 2010-09-10 12:44:37 -07:00
utf.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
varerr.go test: Match gccgo error messages. 2010-09-10 12:45:46 -07:00
varinit.go single argument panic 2010-03-30 10:34:57 -07:00
vectors.go single argument panic 2010-03-30 10:34:57 -07:00
zerodivide.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00