libgo: update to Go 1.8 release candidate 1
Compiler changes: * Change map assignment to use mapassign and assign value directly. * Change string iteration to use decoderune, faster for ASCII strings. * Change makeslice to take int, and use makeslice64 for larger values. * Add new noverflow field to hmap struct used for maps. Unresolved problems, to be fixed later: * Commented out test in go/types/sizes_test.go that doesn't compile. * Commented out reflect.TestStructOf test for padding after zero-sized field. Reviewed-on: https://go-review.googlesource.com/35231 gotools/: Updates for Go 1.8rc1. * Makefile.am (go_cmd_go_files): Add bug.go. (s-zdefaultcc): Write defaultPkgConfig. * Makefile.in: Rebuild. From-SVN: r244456
This commit is contained in:
parent
829afb8f05
commit
c2047754c3
983 changed files with 69318 additions and 17662 deletions
|
@ -80,7 +80,7 @@ func TestReadGCStats(t *testing.T) {
|
|||
for i := 0; i < n; i++ {
|
||||
dt := stats.PauseEnd[i]
|
||||
if dt.UnixNano() != int64(mstats.PauseEnd[off]) {
|
||||
t.Errorf("stats.PauseEnd[%d] = %d, want %d", i, dt, mstats.PauseEnd[off])
|
||||
t.Errorf("stats.PauseEnd[%d] = %d, want %d", i, dt.UnixNano(), mstats.PauseEnd[off])
|
||||
}
|
||||
off = (off + len(mstats.PauseEnd) - 1) % len(mstats.PauseEnd)
|
||||
}
|
||||
|
@ -89,10 +89,6 @@ func TestReadGCStats(t *testing.T) {
|
|||
var big = make([]byte, 1<<20)
|
||||
|
||||
func TestFreeOSMemory(t *testing.T) {
|
||||
if runtime.GOARCH == "arm64" || runtime.GOARCH == "ppc64" || runtime.GOARCH == "ppc64le" || runtime.GOARCH == "mips64" || runtime.GOARCH == "mips64le" ||
|
||||
runtime.GOOS == "nacl" {
|
||||
t.Skip("issue 9993; scavenger temporarily disabled on systems with physical pages larger than logical pages")
|
||||
}
|
||||
var ms1, ms2 runtime.MemStats
|
||||
|
||||
if big == nil {
|
||||
|
@ -118,3 +114,16 @@ func TestSetGCPercent(t *testing.T) {
|
|||
t.Errorf("SetGCPercent(123); SetGCPercent(x) = %d, want 123", new)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSetMaxThreadsOvf(t *testing.T) {
|
||||
// Verify that a big threads count will not overflow the int32
|
||||
// maxmcount variable, causing a panic (see Issue 16076).
|
||||
//
|
||||
// This can only happen when ints are 64 bits, since on platforms
|
||||
// with 32 bit ints SetMaxThreads (which takes an int parameter)
|
||||
// cannot be given anything that will overflow an int32.
|
||||
//
|
||||
// Call SetMaxThreads with 1<<31, but only on 64 bit systems.
|
||||
nt := SetMaxThreads(1 << (30 + ^uint(0)>>63))
|
||||
SetMaxThreads(nt) // restore previous value
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue