1
0
mirror of https://github.com/golang/go synced 2024-11-23 20:50:04 -07:00

cmd/compile: seed rand with time when race enabled

When the race detector is enabled,
the compiler randomizes the order in which functions are compiled,
in an attempt to shake out bugs.
But we never re-seed the rand source, so every execution is identical.
Fix that to get more coverage.

Change-Id: If5cdde03ef4f1bab5f45e07f03fb6614945481d7
Reviewed-on: https://go-review.googlesource.com/43572
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
Josh Bleecher Snyder 2017-05-17 08:29:18 -07:00
parent 7555a45dc2
commit ff262913fe

View File

@ -16,6 +16,7 @@ import (
"math/rand"
"sort"
"sync"
"time"
)
// "Portable" code generation.
@ -249,6 +250,12 @@ func compileSSA(fn *Node, worker int) {
pp.Free()
}
func init() {
if raceEnabled {
rand.Seed(time.Now().UnixNano())
}
}
// compileFunctions compiles all functions in compilequeue.
// It fans out nBackendWorkers to do the work
// and waits for them to complete.