diff options
| author | Michael Pratt <mpratt@google.com> | 2024-09-17 15:42:26 -0400 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2024-10-30 14:59:34 +0000 |
| commit | 3a6795554daf96d4e01ab02f999a1ea7dde2660c (patch) | |
| tree | 6b489a1f0f48b1193ff8d00712764d6281d7b179 /src/runtime | |
| parent | e25b913127ac8ba26c4ecc39288c7f8781f4ef5d (diff) | |
| download | go-3a6795554daf96d4e01ab02f999a1ea7dde2660c.tar.xz | |
internal/runtime/maps: enable race for map functions in internal/runtime/maps
For #54766.
Cq-Include-Trybots: luci.golang.try:gotip-linux-amd64-longtest-swissmap
Change-Id: Iebc7f5482299cb7c4ecccc4c2eb46b4bc42c5fc3
Reviewed-on: https://go-review.googlesource.com/c/go/+/616459
Reviewed-by: Keith Randall <khr@google.com>
Auto-Submit: Michael Pratt <mpratt@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Keith Randall <khr@golang.org>
Diffstat (limited to 'src/runtime')
| -rw-r--r-- | src/runtime/race.go | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/runtime/race.go b/src/runtime/race.go index 75ca4f86d5..6b7bbe5245 100644 --- a/src/runtime/race.go +++ b/src/runtime/race.go @@ -168,6 +168,11 @@ func raceReadObjectPC(t *_type, addr unsafe.Pointer, callerpc, pc uintptr) { } } +//go:linkname race_ReadObjectPC internal/race.ReadObjectPC +func race_ReadObjectPC(t *abi.Type, addr unsafe.Pointer, callerpc, pc uintptr) { + raceReadObjectPC(t, addr, callerpc, pc) +} + func raceWriteObjectPC(t *_type, addr unsafe.Pointer, callerpc, pc uintptr) { kind := t.Kind_ & abi.KindMask if kind == abi.Array || kind == abi.Struct { @@ -181,12 +186,27 @@ func raceWriteObjectPC(t *_type, addr unsafe.Pointer, callerpc, pc uintptr) { } } +//go:linkname race_WriteObjectPC internal/race.WriteObjectPC +func race_WriteObjectPC(t *abi.Type, addr unsafe.Pointer, callerpc, pc uintptr) { + raceWriteObjectPC(t, addr, callerpc, pc) +} + //go:noescape func racereadpc(addr unsafe.Pointer, callpc, pc uintptr) //go:noescape func racewritepc(addr unsafe.Pointer, callpc, pc uintptr) +//go:linkname race_ReadPC internal/race.ReadPC +func race_ReadPC(addr unsafe.Pointer, callerpc, pc uintptr) { + racereadpc(addr, callerpc, pc) +} + +//go:linkname race_WritePC internal/race.WritePC +func race_WritePC(addr unsafe.Pointer, callerpc, pc uintptr) { + racewritepc(addr, callerpc, pc) +} + type symbolizeCodeContext struct { pc uintptr fn *byte |
