all: wire up swisstable maps

Use the new SwissTable-based map in internal/runtime/maps as the basis
for the runtime map when GOEXPERIMENT=swissmap.

Integration is complete enough to pass all.bash. Notable missing
features:

* Race integration / concurrent write detection
* Stack-allocated maps
* Specialized "fast" map variants
* Indirect key / elem

For #54766.

Cq-Include-Trybots: luci.golang.try:gotip-linux-ppc64_power10,gotip-linux-amd64-longtest-swissmap
Change-Id: Ie97b656b6d8e05c0403311ae08fef9f51756a639
Reviewed-on: https://go-review.googlesource.com/c/go/+/594596
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: Keith Randall <khr@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
This commit is contained in:
Michael Pratt 2024-05-03 13:03:04 -04:00
parent 48849e0866
commit c39bc22c14
50 changed files with 930 additions and 2484 deletions

View file

@ -9,6 +9,7 @@ import (
"flag"
"fmt"
"internal/abi"
"internal/goexperiment"
"internal/testenv"
"os"
"os/exec"
@ -185,6 +186,9 @@ func TestGdbPythonCgo(t *testing.T) {
}
func testGdbPython(t *testing.T, cgo bool) {
if goexperiment.SwissMap {
t.Skip("TODO(prattmic): swissmap DWARF")
}
if cgo {
testenv.MustHaveCGO(t)
}
@ -527,6 +531,10 @@ func main() {
// TestGdbAutotmpTypes ensures that types of autotmp variables appear in .debug_info
// See bug #17830.
func TestGdbAutotmpTypes(t *testing.T) {
if goexperiment.SwissMap {
t.Skip("TODO(prattmic): swissmap DWARF")
}
checkGdbEnvironment(t)
t.Parallel()
checkGdbVersion(t)