go/src/cmd/6g
Russ Cox 613383c765 cmd/gc, runtime: treat slices and strings like pointers in garbage collection
Before, a slice with cap=0 or a string with len=0 might have its
base pointer pointing beyond the actual slice/string data into
the next block. The collector had to ignore slices and strings with
cap=0 in order to avoid misinterpreting the base pointer.

Now, a slice with cap=0 or a string with len=0 still has a base
pointer pointing into the actual slice/string data, no matter what.
The collector can now always scan the pointer, which means
strings and slices are no longer special.

Fixes #8404.

LGTM=khr, josharian
R=josharian, khr, dvyukov
CC=golang-codereviews
https://golang.org/cl/112570044
2014-08-25 14:38:19 -04:00
..
Makefile build: delete make paraphernalia 2012-02-06 13:34:25 -05:00
cgen.c cmd/gc, runtime: treat slices and strings like pointers in garbage collection 2014-08-25 14:38:19 -04:00
doc.go cmd/godoc: use go/build to determine package and example files 2013-02-19 11:19:58 -08:00
galign.c build: annotations and modifications for c2go 2014-07-02 15:41:29 -04:00
gg.h cmd/gc: fix build 2014-08-24 21:26:07 -04:00
ggen.c cmd/6g, cmd/8g: fix, test byte-sized magic multiply 2014-08-11 15:24:36 -04:00
gobj.c cmd/gc: bypass DATA instruction for data initialized to integer constant 2013-12-20 14:24:39 -05:00
gsubr.c cmd/gc, runtime: treat slices and strings like pointers in garbage collection 2014-08-25 14:38:19 -04:00
opt.h build: annotations and modifications for c2go 2014-07-02 15:41:29 -04:00
peep.c cmd/6g, cmd/8g: fix, test byte-sized magic multiply 2014-08-11 15:24:36 -04:00
prog.c runtime: get rid of most uses of REP for copying/zeroing. 2014-04-01 12:51:02 -07:00
reg.c cmd/5g, cmd/6g, cmd/8g: clear Addr node when registerizing 2014-08-24 19:07:27 -07:00