X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=src%2Fruntime%2Fmgc.go;h=b791acd163d67dfb11b9fd783bef96f12840f12b;hb=43ffe2a89230553efc9fc915e944b91438d9f1fd;hp=d015d6dbabaa8035f28b5debad991c9da3840195;hpb=f7c5cbb82087c55aa82081e931e0142783700ce8;p=gostls13.git diff --git a/src/runtime/mgc.go b/src/runtime/mgc.go index d015d6dbab..b791acd163 100644 --- a/src/runtime/mgc.go +++ b/src/runtime/mgc.go @@ -939,6 +939,9 @@ func gcMarkTermination() { mp.preemptoff = "gcing" mp.traceback = 2 curgp := mp.curg + // N.B. The execution tracer is not aware of this status + // transition and handles it specially based on the + // wait reason. casGToWaiting(curgp, _Grunning, waitReasonGarbageCollection) // Run gc on the g0 stack. We do this so that the g stack @@ -1359,6 +1362,10 @@ func gcBgMarkWorker() { // the G stack. However, stack shrinking is // disabled for mark workers, so it is safe to // read from the G stack. + // + // N.B. The execution tracer is not aware of this status + // transition and handles it specially based on the + // wait reason. casGToWaiting(gp, _Grunning, waitReasonGCWorkerActive) switch pp.gcMarkWorkerMode { default: