mirror of
https://github.com/golang/go
synced 2024-11-26 22:11:25 -07:00
0387bedadf
We already remove racefuncenter and racefuncexit if they are not needed (i.e. the function doesn't have any other race calls). racefuncenterfp is like racefuncenter but used on LR machines. Remove unnecessary racefuncenterfp as well. Change-Id: I65edb00e19c6d9ab55a204cbbb93e9fb710559f1 Reviewed-on: https://go-review.googlesource.com/c/go/+/267099 Trust: Cherry Zhang <cherryyz@google.com> Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
23 lines
651 B
Go
23 lines
651 B
Go
// asmcheck -race
|
|
|
|
// Copyright 2019 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package codegen
|
|
|
|
// Check that we elide racefuncenter/racefuncexit for
|
|
// functions with no calls (but which might panic
|
|
// in various ways). See issue 31219.
|
|
// amd64:-"CALL.*racefuncenter.*"
|
|
// arm64:-"CALL.*racefuncenter.*"
|
|
// ppc64le:-"CALL.*racefuncenter.*"
|
|
func RaceMightPanic(a []int, i, j, k, s int) {
|
|
var b [4]int
|
|
_ = b[i] // panicIndex
|
|
_ = a[i:j] // panicSlice
|
|
_ = a[i:j:k] // also panicSlice
|
|
_ = i << s // panicShift
|
|
_ = i / j // panicDivide
|
|
}
|