1
0
mirror of https://github.com/golang/go synced 2024-10-05 11:31:22 -06:00
go/src/cmd/6l
Carl Shapiro f056daf075 cmd/5g, cmd/5l, cmd/6g, cmd/6l, cmd/8g, cmd/8l, cmd/gc, runtime: generate pointer maps by liveness analysis
This change allows the garbage collector to examine stack
slots that are determined as live and containing a pointer
value by the garbage collector.  This results in a mean
reduction of 65% in the number of stack slots scanned during
an invocation of "GOGC=1 all.bash".

Unfortunately, this does not yet allow garbage collection to
be precise for the stack slots computed as live.  Pointers
confound the determination of what definitions reach a given
instruction.  In general, this problem is not solvable without
runtime cost but some advanced cooperation from the compiler
might mitigate common cases.

R=golang-dev, rsc, cshapiro
CC=golang-dev
https://golang.org/cl/14430048
2013-12-05 17:35:22 -08:00
..
6.out.h cmd/5g, cmd/5l, cmd/6g, cmd/6l, cmd/8g, cmd/8l, cmd/gc, runtime: generate pointer maps by liveness analysis 2013-12-05 17:35:22 -08:00
asm.c cmd/5l,cmd/6l,cmd/8l: fix dragonflydynld path 2013-08-31 22:02:21 +10:00
doc.go cmd/godoc: use go/build to determine package and example files 2013-02-19 11:19:58 -08:00
l.h cmd/6l, cmd/8l: fix MOVL MOVQ optab 2013-09-10 14:53:41 -04:00
list.c cmd/gc: add temporary-merging optimization pass 2013-08-13 00:09:31 -04:00
Makefile build: delete make paraphernalia 2012-02-06 13:34:25 -05:00
mkenam 5l, 6l, 8l: drop use of ed during build 2011-06-27 12:03:19 -04:00
obj.c cmd/gc: support -installsuffix in the compiler and builder 2013-10-03 13:48:47 +10:00
optab.c cmd/5g, cmd/5l, cmd/6g, cmd/6l, cmd/8g, cmd/8l, cmd/gc, runtime: generate pointer maps by liveness analysis 2013-12-05 17:35:22 -08:00
pass.c runtime, cmd/gc, cmd/ld: ignore method wrappers in recover 2013-09-12 14:00:16 -04:00
prof.c 6a, 6c, 6l: fix for Plan 9 build 2011-07-15 11:58:39 -04:00
span.c build: more "undefined behavior" fixes 2013-09-10 14:54:55 -04:00