aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAustin Clements <austin@google.com>2019-04-19 15:56:37 -0400
committerAustin Clements <austin@google.com>2019-04-22 16:01:16 +0000
commit744fcfec4e94d9585d2be6f9efae8480a2f2fc8d (patch)
tree93dba80aa5db09882122dfc6831613635aca6dc5
parentfe1afe8d4ca06c56f583a9296282697f39d27d97 (diff)
downloadgo-744fcfec4e94d9585d2be6f9efae8480a2f2fc8d.tar.xz
runtime: improve mstart comments
Some of the comments were unclear or outdated. Change-Id: I02e01bf60def0074c1fa760e94aa992e9e4969b9 Reviewed-on: https://go-review.googlesource.com/c/go/+/172987 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Michael Knyszek <mknyszek@google.com>
-rw-r--r--src/runtime/proc.go8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/runtime/proc.go b/src/runtime/proc.go
index 30ddeadff5..57ad17d594 100644
--- a/src/runtime/proc.go
+++ b/src/runtime/proc.go
@@ -1125,7 +1125,7 @@ func startTheWorldWithSema(emitTraceEvent bool) int64 {
return startTime
}
-// Called to start an M.
+// mstart is the entry-point for new Ms.
//
// This must not split the stack because we may not even have stack
// bounds set up yet.
@@ -1150,9 +1150,11 @@ func mstart() {
_g_.stack.hi = uintptr(noescape(unsafe.Pointer(&size)))
_g_.stack.lo = _g_.stack.hi - size + 1024
}
- // Initialize stack guards so that we can start calling
- // both Go and C functions with stack growth prologues.
+ // Initialize stack guard so that we can start calling regular
+ // Go code.
_g_.stackguard0 = _g_.stack.lo + _StackGuard
+ // This is the g0, so we can also call go:systemstack
+ // functions, which check stackguard1.
_g_.stackguard1 = _g_.stackguard0
mstart1()