From 400d02123303115cc46a2ccc949bdcc2bfcc30e4 Mon Sep 17 00:00:00 2001 From: LE Manh Cuong Date: Sat, 1 Jun 2019 00:36:02 +0700 Subject: [PATCH] cmd/compile: fix wrong field type in scasetype 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 TryBot-Result: Gobot Gobot Reviewed-by: Matthew Dempsky --- src/cmd/compile/internal/gc/select.go | 2 +- src/runtime/select.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cmd/compile/internal/gc/select.go b/src/cmd/compile/internal/gc/select.go index a09d779af6..e0ed1e2a9f 100644 --- a/src/cmd/compile/internal/gc/select.go +++ b/src/cmd/compile/internal/gc/select.go @@ -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) } diff --git a/src/runtime/select.go b/src/runtime/select.go index 85be1bc64d..86182890cc 100644 --- a/src/runtime/select.go +++ b/src/runtime/select.go @@ -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 -- 2.48.1