aboutsummaryrefslogtreecommitdiff
path: root/libgo/go/runtime/heapdump.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/runtime/heapdump.go')
-rw-r--r--libgo/go/runtime/heapdump.go9
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))
}