diff options
Diffstat (limited to 'libgo/go/runtime/heapdump.go')
-rw-r--r-- | libgo/go/runtime/heapdump.go | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/libgo/go/runtime/heapdump.go b/libgo/go/runtime/heapdump.go index f3f7382..171acb8 100644 --- a/libgo/go/runtime/heapdump.go +++ b/libgo/go/runtime/heapdump.go @@ -294,9 +294,10 @@ func dumpgoroutine(gp *g) { } func dumpgs() { + assertWorldStopped() + // goroutines & stacks - for i := 0; uintptr(i) < allglen; i++ { - gp := allgs[i] + forEachG(func(gp *g) { status := readgstatus(gp) // The world is stopped so gp will not be in a scan state. switch status { default: @@ -309,7 +310,7 @@ func dumpgs() { _Gwaiting: dumpgoroutine(gp) } - } + }) } func finq_callback(fn *funcval, obj unsafe.Pointer, ft *functype, ot *ptrtype) { @@ -409,7 +410,7 @@ func dumpparams() { dumpint(uint64(arenaStart)) dumpint(uint64(arenaEnd)) dumpstr(sys.GOARCH) - dumpstr(sys.Goexperiment) + dumpstr(buildVersion) dumpint(uint64(ncpu)) } |