mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
runtime: remove legacy eager write barrier
Now that the buffered write barrier is implemented for all architectures, we can remove the old eager write barrier implementation. This CL removes the implementation from the runtime, support in the compiler for calling it, and updates some compiler tests that relied on the old eager barrier support. It also makes sure that all of the useful comments from the old write barrier implementation still have a place to live. Fixes #22460. Updates #21640 since this fixes the layering concerns of the write barrier (but not the other things in that issue). Change-Id: I580f93c152e89607e0a72fe43370237ba97bae74 Reviewed-on: https://go-review.googlesource.com/92705 Run-TryBot: Austin Clements <austin@google.com> Reviewed-by: Rick Hudson <rlh@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
245310883d
commit
2010189407
24 changed files with 128 additions and 250 deletions
|
|
@ -44,7 +44,6 @@ var (
|
|||
Debug_slice int
|
||||
Debug_vlog bool
|
||||
Debug_wb int
|
||||
Debug_eagerwb int
|
||||
Debug_pctab string
|
||||
Debug_locationlist int
|
||||
Debug_typecheckinl int
|
||||
|
|
@ -73,7 +72,6 @@ var debugtab = []struct {
|
|||
{"slice", "print information about slice compilation", &Debug_slice},
|
||||
{"typeassert", "print information about type assertion inlining", &Debug_typeassert},
|
||||
{"wb", "print information about write barriers", &Debug_wb},
|
||||
{"eagerwb", "use unbuffered write barrier", &Debug_eagerwb},
|
||||
{"export", "print export data", &Debug_export},
|
||||
{"pctab", "print named pc-value table", &Debug_pctab},
|
||||
{"locationlists", "print information about DWARF location list creation", &Debug_locationlist},
|
||||
|
|
@ -407,14 +405,6 @@ func Main(archInit func(*Arch)) {
|
|||
Debug['l'] = 1 - Debug['l']
|
||||
}
|
||||
|
||||
switch objabi.GOARCH {
|
||||
case "amd64", "amd64p32", "386", "arm", "arm64", "ppc64", "ppc64le", "mips64", "mips64le", "mips", "mipsle", "s390x":
|
||||
default:
|
||||
// Other architectures don't support the buffered
|
||||
// write barrier yet.
|
||||
Debug_eagerwb = 1
|
||||
}
|
||||
|
||||
trackScopes = flagDWARF && ((Debug['l'] == 0 && Debug['N'] != 0) || Ctxt.Flag_locationlists)
|
||||
|
||||
Widthptr = thearch.LinkArch.PtrSize
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue