]> Cypherpunks repositories - gostls13.git/commitdiff
[release-branch.go1.24] internal/runtime/maps: pass proper func PC to race.WritePC...
authorMateusz Poliwczak <mpoliwczak34@gmail.com>
Sat, 5 Apr 2025 17:29:49 +0000 (19:29 +0200)
committerGopher Robot <gobot@golang.org>
Mon, 28 Apr 2025 17:31:34 +0000 (10:31 -0700)
Fixes #73192
For #73191

Change-Id: I0f8a5a19faa745943a98476c7caf4c97ccdce184
Reviewed-on: https://go-review.googlesource.com/c/go/+/663175
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
Auto-Submit: Michael Pratt <mpratt@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
(cherry picked from commit 14b15a2beaed423ba6b6c97fa5983bd57999038e)
Reviewed-on: https://go-review.googlesource.com/c/go/+/663777
Reviewed-by: Carlos Amedee <carlos@golang.org>
Auto-Submit: Junyang Shao <shaojunyang@google.com>
Reviewed-by: Junyang Shao <shaojunyang@google.com>
src/internal/runtime/maps/runtime_fast32_swiss.go
src/internal/runtime/maps/runtime_fast64_swiss.go
src/internal/runtime/maps/runtime_faststr_swiss.go

index 46023cc9b70729f01b8239c2766d9e4d8c6b8bc3..bd2100ea8bd139e4f7f7a3837d3118bfcfca895a 100644 (file)
@@ -17,7 +17,7 @@ import (
 func runtime_mapaccess1_fast32(typ *abi.SwissMapType, m *Map, key uint32) unsafe.Pointer {
        if race.Enabled && m != nil {
                callerpc := sys.GetCallerPC()
-               pc := abi.FuncPCABIInternal(runtime_mapaccess1)
+               pc := abi.FuncPCABIInternal(runtime_mapaccess1_fast32)
                race.ReadPC(unsafe.Pointer(m), callerpc, pc)
        }
 
@@ -86,7 +86,7 @@ func runtime_mapaccess1_fast32(typ *abi.SwissMapType, m *Map, key uint32) unsafe
 func runtime_mapaccess2_fast32(typ *abi.SwissMapType, m *Map, key uint32) (unsafe.Pointer, bool) {
        if race.Enabled && m != nil {
                callerpc := sys.GetCallerPC()
-               pc := abi.FuncPCABIInternal(runtime_mapaccess1)
+               pc := abi.FuncPCABIInternal(runtime_mapaccess2_fast32)
                race.ReadPC(unsafe.Pointer(m), callerpc, pc)
        }
 
@@ -198,7 +198,7 @@ func runtime_mapassign_fast32(typ *abi.SwissMapType, m *Map, key uint32) unsafe.
        }
        if race.Enabled {
                callerpc := sys.GetCallerPC()
-               pc := abi.FuncPCABIInternal(runtime_mapassign)
+               pc := abi.FuncPCABIInternal(runtime_mapassign_fast32)
                race.WritePC(unsafe.Pointer(m), callerpc, pc)
        }
        if m.writing != 0 {
@@ -332,7 +332,7 @@ func runtime_mapassign_fast32ptr(typ *abi.SwissMapType, m *Map, key unsafe.Point
        }
        if race.Enabled {
                callerpc := sys.GetCallerPC()
-               pc := abi.FuncPCABIInternal(runtime_mapassign)
+               pc := abi.FuncPCABIInternal(runtime_mapassign_fast32ptr)
                race.WritePC(unsafe.Pointer(m), callerpc, pc)
        }
        if m.writing != 0 {
@@ -458,7 +458,7 @@ outer:
 func runtime_mapdelete_fast32(typ *abi.SwissMapType, m *Map, key uint32) {
        if race.Enabled {
                callerpc := sys.GetCallerPC()
-               pc := abi.FuncPCABIInternal(runtime_mapassign)
+               pc := abi.FuncPCABIInternal(runtime_mapdelete_fast32)
                race.WritePC(unsafe.Pointer(m), callerpc, pc)
        }
 
index 6bc6b2f0b1f5cab30e5973ea7bb25219531b4ac8..e18277101c4d54e445638ac1e15b6cba01c3d889 100644 (file)
@@ -17,7 +17,7 @@ import (
 func runtime_mapaccess1_fast64(typ *abi.SwissMapType, m *Map, key uint64) unsafe.Pointer {
        if race.Enabled && m != nil {
                callerpc := sys.GetCallerPC()
-               pc := abi.FuncPCABIInternal(runtime_mapaccess1)
+               pc := abi.FuncPCABIInternal(runtime_mapaccess1_fast64)
                race.ReadPC(unsafe.Pointer(m), callerpc, pc)
        }
 
@@ -86,7 +86,7 @@ func runtime_mapaccess1_fast64(typ *abi.SwissMapType, m *Map, key uint64) unsafe
 func runtime_mapaccess2_fast64(typ *abi.SwissMapType, m *Map, key uint64) (unsafe.Pointer, bool) {
        if race.Enabled && m != nil {
                callerpc := sys.GetCallerPC()
-               pc := abi.FuncPCABIInternal(runtime_mapaccess1)
+               pc := abi.FuncPCABIInternal(runtime_mapaccess2_fast64)
                race.ReadPC(unsafe.Pointer(m), callerpc, pc)
        }
 
@@ -198,7 +198,7 @@ func runtime_mapassign_fast64(typ *abi.SwissMapType, m *Map, key uint64) unsafe.
        }
        if race.Enabled {
                callerpc := sys.GetCallerPC()
-               pc := abi.FuncPCABIInternal(runtime_mapassign)
+               pc := abi.FuncPCABIInternal(runtime_mapassign_fast64)
                race.WritePC(unsafe.Pointer(m), callerpc, pc)
        }
        if m.writing != 0 {
@@ -370,7 +370,7 @@ func runtime_mapassign_fast64ptr(typ *abi.SwissMapType, m *Map, key unsafe.Point
        }
        if race.Enabled {
                callerpc := sys.GetCallerPC()
-               pc := abi.FuncPCABIInternal(runtime_mapassign)
+               pc := abi.FuncPCABIInternal(runtime_mapassign_fast64ptr)
                race.WritePC(unsafe.Pointer(m), callerpc, pc)
        }
        if m.writing != 0 {
@@ -497,7 +497,7 @@ outer:
 func runtime_mapdelete_fast64(typ *abi.SwissMapType, m *Map, key uint64) {
        if race.Enabled {
                callerpc := sys.GetCallerPC()
-               pc := abi.FuncPCABIInternal(runtime_mapassign)
+               pc := abi.FuncPCABIInternal(runtime_mapdelete_fast64)
                race.WritePC(unsafe.Pointer(m), callerpc, pc)
        }
 
index 077c05ae8b94b765526cc22bd1d45cf56f0e3f4d..669e771013d8195d77dd42101c26c5456a543f2c 100644 (file)
@@ -103,7 +103,7 @@ func stringPtr(s string) unsafe.Pointer {
 func runtime_mapaccess1_faststr(typ *abi.SwissMapType, m *Map, key string) unsafe.Pointer {
        if race.Enabled && m != nil {
                callerpc := sys.GetCallerPC()
-               pc := abi.FuncPCABIInternal(runtime_mapaccess1)
+               pc := abi.FuncPCABIInternal(runtime_mapaccess1_faststr)
                race.ReadPC(unsafe.Pointer(m), callerpc, pc)
        }
 
@@ -162,7 +162,7 @@ func runtime_mapaccess1_faststr(typ *abi.SwissMapType, m *Map, key string) unsaf
 func runtime_mapaccess2_faststr(typ *abi.SwissMapType, m *Map, key string) (unsafe.Pointer, bool) {
        if race.Enabled && m != nil {
                callerpc := sys.GetCallerPC()
-               pc := abi.FuncPCABIInternal(runtime_mapaccess1)
+               pc := abi.FuncPCABIInternal(runtime_mapaccess2_faststr)
                race.ReadPC(unsafe.Pointer(m), callerpc, pc)
        }
 
@@ -266,7 +266,7 @@ func runtime_mapassign_faststr(typ *abi.SwissMapType, m *Map, key string) unsafe
        }
        if race.Enabled {
                callerpc := sys.GetCallerPC()
-               pc := abi.FuncPCABIInternal(runtime_mapassign)
+               pc := abi.FuncPCABIInternal(runtime_mapassign_faststr)
                race.WritePC(unsafe.Pointer(m), callerpc, pc)
        }
        if m.writing != 0 {
@@ -396,7 +396,7 @@ outer:
 func runtime_mapdelete_faststr(typ *abi.SwissMapType, m *Map, key string) {
        if race.Enabled {
                callerpc := sys.GetCallerPC()
-               pc := abi.FuncPCABIInternal(runtime_mapassign)
+               pc := abi.FuncPCABIInternal(runtime_mapdelete_faststr)
                race.WritePC(unsafe.Pointer(m), callerpc, pc)
        }