aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/gc/main.go
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2020-12-21 01:56:46 -0500
committerRuss Cox <rsc@golang.org>2020-12-21 19:23:33 +0000
commit1a523c8ab08e95ddfb7c50e19ddd6c73bb45daf5 (patch)
tree395738de0a3569f3f5cd51b4895402c17b8c358a /src/cmd/compile/internal/gc/main.go
parente999c1702250222b069691491d24dd5d020744de (diff)
downloadgo-1a523c8ab08e95ddfb7c50e19ddd6c73bb45daf5.tar.gz
go-1a523c8ab08e95ddfb7c50e19ddd6c73bb45daf5.zip
[dev.regabi] cmd/compile: separate nowritebarrierrec from main
Main knows a bit too much about nowritebarrierrec. Abstract the API a little bit to make the package split easier. Change-Id: I4b76bdb1fed73dfb0d44e1a6c86de8c2d29a9488 Reviewed-on: https://go-review.googlesource.com/c/go/+/279301 Trust: Russ Cox <rsc@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Diffstat (limited to 'src/cmd/compile/internal/gc/main.go')
-rw-r--r--src/cmd/compile/internal/gc/main.go12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/cmd/compile/internal/gc/main.go b/src/cmd/compile/internal/gc/main.go
index afb47cf15d..7f7cd63cdf 100644
--- a/src/cmd/compile/internal/gc/main.go
+++ b/src/cmd/compile/internal/gc/main.go
@@ -57,8 +57,6 @@ var Target *ir.Package
// timing data for compiler phases
var timings Timings
-var nowritebarrierrecCheck *nowritebarrierrecChecker
-
// Main parses flags and Go source files specified in the command-line
// arguments, type-checks the parsed Go package, compiles functions to machine
// code, and finally writes the compiled package definition to disk.
@@ -382,7 +380,7 @@ func Main(archInit func(*Arch)) {
// We'll do the final check after write barriers are
// inserted.
if base.Flag.CompilingRuntime {
- nowritebarrierrecCheck = newNowritebarrierrecChecker()
+ EnableNoWriteBarrierRecCheck()
}
// Phase 7: Transform closure bodies to properly reference captured variables.
@@ -422,11 +420,9 @@ func Main(archInit func(*Arch)) {
compileFunctions()
- if nowritebarrierrecCheck != nil {
- // Write barriers are now known. Check the
- // call graph.
- nowritebarrierrecCheck.check()
- nowritebarrierrecCheck = nil
+ if base.Flag.CompilingRuntime {
+ // Write barriers are now known. Check the call graph.
+ NoWriteBarrierRecCheck()
}
// Finalize DWARF inline routine DIEs, then explicitly turn off