diff options
| author | Russ Cox <rsc@golang.org> | 2014-08-25 14:38:19 -0400 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2014-08-25 14:38:19 -0400 |
| commit | 613383c7651d490aae045eb70cd515b151735766 (patch) | |
| tree | c77f23bff111b953d23cb7a3bf288116dcca137f /src/pkg/runtime/runtime.h | |
| parent | c6f7c176a3a46ff87d72c4b744bbadf02df1890e (diff) | |
| download | go-613383c7651d490aae045eb70cd515b151735766.tar.xz | |
cmd/gc, runtime: treat slices and strings like pointers in garbage collection
Before, a slice with cap=0 or a string with len=0 might have its
base pointer pointing beyond the actual slice/string data into
the next block. The collector had to ignore slices and strings with
cap=0 in order to avoid misinterpreting the base pointer.
Now, a slice with cap=0 or a string with len=0 still has a base
pointer pointing into the actual slice/string data, no matter what.
The collector can now always scan the pointer, which means
strings and slices are no longer special.
Fixes #8404.
LGTM=khr, josharian
R=josharian, khr, dvyukov
CC=golang-codereviews
https://golang.org/cl/112570044
Diffstat (limited to 'src/pkg/runtime/runtime.h')
| -rw-r--r-- | src/pkg/runtime/runtime.h | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/src/pkg/runtime/runtime.h b/src/pkg/runtime/runtime.h index df2999bbd9..4f63fdf718 100644 --- a/src/pkg/runtime/runtime.h +++ b/src/pkg/runtime/runtime.h @@ -762,8 +762,6 @@ extern uint32 runtime·cpuid_ecx; extern uint32 runtime·cpuid_edx; extern DebugVars runtime·debug; extern uintptr runtime·maxstacksize; -extern byte* runtime·gcdatamask; -extern byte* runtime·gcbssmask; extern Note runtime·signote; /* |
