gcc/libgo/go
Ian Lance Taylor 58f7dab40d runtime: copy mstats code from Go 1.7 runtime
This replaces mem.go and the C runtime_ReadMemStats function with the Go
    1.7 mstats.go.
    
    The GCStats code is commented out for now.  The corresponding gccgo code
    is in runtime/mgc0.c.
    
    The variables memstats and worldsema are shared between the Go code and
    the C code, but are not exported.  To make this work, add temporary
    accessor functions acquireWorldsema, releaseWorldsema, getMstats (the
    latter known as mstats in the C code).
    
    Check the preemptoff field of m when allocating and when considering
    whether to start a GC.  This works with the new stopTheWorld and
    startTheWorld functions in Go, which are essentially the Go 1.7
    versions.
    
    Change the compiler to stack allocate closures when compiling the
    runtime package.  Within the runtime packages closures do not escape.
    This is similar to what the gc compiler does, except that the gc
    compiler, when compiling the runtime package, gives an error if escape
    analysis shows that a closure does escape.  I added this here because
    the Go version of ReadMemStats calls systemstack with a closure, and
    having that allocate memory was causing some tests that measure memory
    allocations to fail.
    
    Reviewed-on: https://go-review.googlesource.com/30972

From-SVN: r241124
2016-10-13 15:24:50 +00:00
..
archive
bufio
builtin
bytes
cmd cmd/go: ignore errors from go/build for standard packages 2016-08-15 18:05:24 +00:00
compress libgo: update to Go 1.7.1 release 2016-09-10 13:14:00 +00:00
container
context runtime: copy channel code from Go 1.7 runtime 2016-10-10 16:52:09 +00:00
crypto libgo: update to Go 1.7.1 release 2016-09-10 13:14:00 +00:00
database/sql
debug
encoding
errors
exp
expvar
flag
fmt
go
golang_org/x/net
hash libgo: update to Go 1.7.1 release 2016-09-10 13:14:00 +00:00
html
image
index/suffixarray
internal syscall, internal/syscall/unix: Fix getrandom, clone on sparc64 2016-10-12 14:28:05 +00:00
io libgo: update to Go 1.7.1 release 2016-09-10 13:14:00 +00:00
log libgo: change build procedure to use build tags 2016-08-06 00:36:33 +00:00
math libgo: change build procedure to use build tags 2016-08-06 00:36:33 +00:00
mime
net libgo: update to Go 1.7.1 release 2016-09-10 13:14:00 +00:00
old
os libgo: update to Go 1.7.1 release 2016-09-10 13:14:00 +00:00
path libgo: update to Go 1.7.1 release 2016-09-10 13:14:00 +00:00
reflect compiler, runtime: replace hashmap code with Go 1.7 hashmap 2016-09-21 20:58:51 +00:00
regexp
runtime runtime: copy mstats code from Go 1.7 runtime 2016-10-13 15:24:50 +00:00
sort
strconv
strings libgo: change build procedure to use build tags 2016-08-06 00:36:33 +00:00
sync
syscall syscall: don't use pt_regs in clone_linux.c 2016-10-13 04:19:57 +00:00
testing
text text/template: reduce maxExecDepth for gccgo further 2016-08-08 22:55:29 +00:00
time
unicode