go/src
Austin Clements b30d19de59 runtime: introduce higher-level GC work abstraction
This introduces a producer/consumer abstraction for GC work pointers
that internally handles the details of filling, draining, and
shuffling work buffers.

In addition to simplifying the GC code, this should make it easy for
us to change how we use work buffers, including cleaning up how we use
the work.partial queue, reintroducing a FIFO lookahead cache, adding
prefetching, and using dual buffers to avoid flapping.

This commit doesn't change any existing code.  The following commit
will switch the garbage collector from explicit workbuf manipulation
to gcWork.

Change-Id: Ifbfe5fff45bf0362d6d7c3cecb061f0c9874077d
Reviewed-on: https://go-review.googlesource.com/5231
Reviewed-by: Russ Cox <rsc@golang.org>
Reviewed-by: Rick Hudson <rlh@golang.org>
2015-02-19 16:59:26 +00:00
..
archive archive/tar: set Header.Mode in example 2015-01-26 01:54:06 +00:00
bufio bufio: add Reader.Discard 2015-01-07 06:37:57 +00:00
builtin
bytes bytes, strings: improve documentation for Count functions 2015-01-22 18:28:35 +00:00
cmd cmd/gc: replace NULL by nil 2015-02-18 07:49:04 +00:00
compress all: don't refer to code.google.com/p/go{,-wiki}/ 2015-02-06 14:41:47 +00:00
container
crypto crypto/x509: embed certificates on darwin/arm 2015-02-18 14:19:17 +00:00
database/sql database/sql: reduce lock contention in Stmt.connStmt 2015-01-24 09:56:25 +00:00
debug
encoding encoding/json: Fixed the comment specifying Marshal behavior for maps. 2015-02-18 23:57:36 +00:00
errors
expvar expvar: fix build 2015-02-05 13:53:29 +00:00
flag flag: Check for Set error 2014-12-22 00:17:07 +00:00
fmt cmd/gc: allocate buffers for non-escaped strings on stack 2015-01-28 20:12:38 +00:00
go net: re-implement Interfaces and InterfaceAddrs for IPNet, IPv6 on Windows 2015-02-10 00:44:05 +00:00
hash
html all: don't refer to code.google.com/p/go{,-wiki}/ 2015-02-06 14:41:47 +00:00
image image/jpeg: support 16-bit quantization tables and Extended Sequential 2015-02-19 05:00:43 +00:00
index/suffixarray
internal/syscall net: re-implement Interfaces and InterfaceAddrs for IPNet, IPv6 on Windows 2015-02-10 00:44:05 +00:00
io
lib9 lib9: provide alterantive implementation of ldexp and frexp 2015-02-06 05:40:28 +00:00
libbio
liblink cmd/gc: factor newly-portable code into gc directory 2015-02-11 20:36:27 +00:00
log log: add SetOutput method on Logger 2015-01-30 16:00:10 +00:00
math math: change Nextafter64 to Nextafter in the description of Nextafter 2015-02-17 14:29:18 +00:00
mime mime/multipart: moved some code to mime/internal/quotedprintable 2014-12-23 19:30:02 +00:00
net net/http/cgi: fix REMOTE_ADDR, REMOTE_HOST, add REMOTE_PORT 2015-02-18 19:56:50 +00:00
os all: fix typo in doc 2015-02-17 04:37:18 +00:00
path all: don't refer to code.google.com/p/go{,-wiki}/ 2015-02-06 14:41:47 +00:00
reflect cmd/gc: fix noscan maps 2015-02-15 08:52:14 +00:00
regexp regexp: update URLs in tests 2015-01-26 01:54:28 +00:00
runtime runtime: introduce higher-level GC work abstraction 2015-02-19 16:59:26 +00:00
sort sort: fixed small typo in comments 2015-02-08 23:38:50 +00:00
strconv strconv: simplified logic resulting in faster float formatting 2015-02-11 17:45:19 +00:00
strings bytes, strings: improve documentation for Count functions 2015-01-22 18:28:35 +00:00
sync sync/atomic: darwin/arm support 2015-02-06 05:49:14 +00:00
syscall syscall: make mksyscall_windows.go to work even when output does not uses unsafe package 2015-02-17 08:31:38 +00:00
testing testing: pad benchmark names to align results 2015-02-07 21:52:25 +00:00
text
time Build fix for plan9 after 8bf13838eb. 2015-02-08 22:30:46 +00:00
unicode unicode: Fixed an out of date comment (MaxLatin1, not Latin1Max). 2015-02-16 21:35:33 +00:00
unsafe unsafe: minor doc string improvements 2015-01-28 19:42:15 +00:00
Make.dist
all.bash
all.bat
all.rc
androidtest.bash androidtest.bash: remove use of cp --preserve. 2015-02-13 21:16:25 +00:00
clean.bash
clean.bat
clean.rc
make.bash cmd/go, make: remove ccflags 2015-02-04 16:15:00 +00:00
make.bat [dev.cc] build: do not pass GOHOSTOS and GOHOSTARCH to Go 1.4 build 2015-01-14 20:17:20 +00:00
make.rc cmd/go, make: remove ccflags 2015-02-04 16:15:00 +00:00
nacltest.bash cmd/dist: reactivate vfp detection on linux/arm 2015-02-10 00:17:06 +00:00
race.bash
race.bat build: fix race.bat flags 2015-02-07 01:54:43 +00:00
run.bash cmd/cgo: remove obsolete -cdefs flag 2015-01-07 22:49:59 +00:00
run.bat
run.rc build: add GOTESTONLY environment test for Plan 9's run.rc 2015-01-08 04:35:23 +00:00