aboutsummaryrefslogtreecommitdiff
path: root/src/pkg/runtime/runtime.h
diff options
context:
space:
mode:
authorDmitriy Vyukov <dvyukov@google.com>2014-07-03 22:58:42 +0400
committerDmitriy Vyukov <dvyukov@google.com>2014-07-03 22:58:42 +0400
commitd3be3daafef4b614fc676c807956047976848c7e (patch)
tree5b4d096a0d74c67da43a94a65f7614b0425fc774 /src/pkg/runtime/runtime.h
parent2ec3a0a72fbe2cdd4affc67383ae67c503e7469b (diff)
downloadgo-d3be3daafef4b614fc676c807956047976848c7e.tar.xz
runtime: delete unnecessary confusing code
The code in GC that handles gp->gobuf.ctxt is wrong, because it does not mark the ctxt object itself, if just queues the ctxt object for scanning. So the ctxt object can be collected as garbage. However, Gobuf.ctxt is void*, so it's always marked and scanned through G. LGTM=khr R=golang-codereviews, khr CC=golang-codereviews, khr, rsc https://golang.org/cl/105490044
Diffstat (limited to 'src/pkg/runtime/runtime.h')
-rw-r--r--src/pkg/runtime/runtime.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/pkg/runtime/runtime.h b/src/pkg/runtime/runtime.h
index 0f630abbf2..2fab69b3a2 100644
--- a/src/pkg/runtime/runtime.h
+++ b/src/pkg/runtime/runtime.h
@@ -213,7 +213,7 @@ struct Gobuf
uintptr sp;
uintptr pc;
G* g;
- void* ctxt;
+ void* ctxt; // this has to be a pointer so that GC scans it
uintreg ret;
uintptr lr;
};