1
0
mirror of https://github.com/golang/go synced 2024-10-04 10:21:21 -06:00
go/src/cmd/cc
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
..
acid.c 8c: fixes for Plan 9 build 2011-07-01 09:50:24 -04:00
bits.c 8c: fixes for Plan 9 build 2011-07-01 09:50:24 -04:00
bv.c cmd/dist: Plan 9 build needs an additional include path 2013-09-06 16:15:44 +10:00
cc.h cmd/cc: use a temporary bitmap when constructing pointer maps 2013-08-09 13:02:33 -07:00
cc.y cmd/cc: support 21-bit runes in wide string constants 2013-06-04 16:30:55 -07:00
com64.c cmd/cc: grow some global arrays 2012-02-23 22:45:55 -05:00
com.c build: remove various uses of C undefined behavior 2013-09-09 15:07:23 -04:00
dcl.c cmd/cc: support 21-bit runes in wide string constants 2013-06-04 16:30:55 -07:00
doc.go cmd/godoc: use go/build to determine package and example files 2013-02-19 11:19:58 -08:00
dpchk.c cmd/cc,runtime: change preprocessor to expand macros inside of 2013-08-29 12:36:59 -07:00
funct.c all: fix typos 2013-06-09 21:50:24 +08:00
godefs.c cmd/cc: map C int to int32 in Go defs 2012-10-06 13:56:12 +08:00
lex.c build: remove various uses of C undefined behavior 2013-09-09 15:07:23 -04:00
lexbody build: remove various uses of C undefined behavior 2013-09-09 15:07:23 -04:00
mac.c cc: fixes for Plan 9 build 2011-07-13 16:01:29 -07:00
macbody cmd/cgo, cmd/ld: new cgo object file section 2013-03-01 00:27:57 -05:00
Makefile cmd/cc: add PREFETCH built-in (like SET, USED) 2012-05-02 16:22:56 -04:00
omachcap.c 8c: fixes for Plan 9 build 2011-07-01 09:50:24 -04:00
pgen.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
pswt.c all: fix typos 2013-06-09 21:50:24 +08:00
scon.c cmd/6c, cmd/6g, cmd/cc: fix undefined behavior warnings 2013-09-17 13:43:27 +10:00
sub.c cmd/cc: support 21-bit runes in wide string constants 2013-06-04 16:30:55 -07:00
y.tab.c cmd/cc: support 21-bit runes in wide string constants 2013-06-04 16:30:55 -07:00
y.tab.h cmd/cc: support 21-bit runes in wide string constants 2013-06-04 16:30:55 -07:00