]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile: fix wrong field type in scasetype
authorLE Manh Cuong <cuong.manhle.vn@gmail.com>
Fri, 31 May 2019 17:36:02 +0000 (00:36 +0700)
committerMatthew Dempsky <mdempsky@google.com>
Wed, 28 Aug 2019 19:43:09 +0000 (19:43 +0000)
The only place set releasetime to negative is in runtime.selectgo
(when blockprofilerate greater than zero), so we are safe in compiler
code.

But scasetype must keep in sync with runtime/select.go scase struct, so
releasetime must be int64.

Change-Id: I39ea944f5f2872452d3ffd57f7604d51e0d2590a
Reviewed-on: https://go-review.googlesource.com/c/go/+/179799
Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
src/cmd/compile/internal/gc/select.go
src/runtime/select.go

index a09d779af678216c28acb1076a2a17c158beabd5..e0ed1e2a9f320a4be0febbe89f2bb19bbdabfb9f 100644 (file)
@@ -388,7 +388,7 @@ func scasetype() *types.Type {
                        namedfield("elem", types.Types[TUNSAFEPTR]),
                        namedfield("kind", types.Types[TUINT16]),
                        namedfield("pc", types.Types[TUINTPTR]),
-                       namedfield("releasetime", types.Types[TUINT64]),
+                       namedfield("releasetime", types.Types[TINT64]),
                })
                scase.SetNoalg(true)
        }
index 85be1bc64da0f0369983eca56566255b9fe59b4a..86182890cc20c0c8a9f30f9d575123449c2f91cd 100644 (file)
@@ -14,7 +14,7 @@ const debugSelect = false
 
 // scase.kind values.
 // Known to compiler.
-// Changes here must also be made in src/cmd/compile/internal/gc/select.go's walkselect.
+// Changes here must also be made in src/cmd/compile/internal/gc/select.go's walkselectcases.
 const (
        caseNil = iota
        caseRecv