]> Cypherpunks repositories - gostls13.git/commit
all: wire up swisstable maps
authorMichael Pratt <mpratt@google.com>
Fri, 3 May 2024 17:03:04 +0000 (13:03 -0400)
committerMichael Pratt <mpratt@google.com>
Mon, 14 Oct 2024 19:58:47 +0000 (19:58 +0000)
commitc39bc22c141bc6990e4e2abf604dcf56669ff779
tree5384243aaaa9d9f9796674223cf186ee3ceb63a9
parent48849e0866f64a40d04a9151e44e5a73acdfc17b
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>
50 files changed:
src/cmd/compile/internal/gc/main.go
src/cmd/compile/internal/ir/symtab.go
src/cmd/compile/internal/reflectdata/map_swiss.go
src/cmd/compile/internal/ssagen/ssa.go
src/cmd/compile/internal/test/inl_test.go
src/cmd/compile/internal/types/fmt.go
src/cmd/compile/internal/types/type.go
src/cmd/compile/internal/walk/builtin.go
src/cmd/compile/internal/walk/range.go
src/cmd/go/internal/test/test.go
src/cmd/internal/objabi/path_test.go
src/cmd/internal/objabi/pkgspecial.go
src/cmd/link/internal/ld/deadcode.go
src/cmd/link/internal/ld/dwarf.go
src/go/build/deps_test.go
src/internal/abi/map_noswiss.go
src/internal/abi/map_swiss.go
src/internal/coverage/pkid.go
src/internal/runtime/maps/export_noswiss_test.go [new file with mode: 0644]
src/internal/runtime/maps/export_swiss_test.go [new file with mode: 0644]
src/internal/runtime/maps/export_test.go
src/internal/runtime/maps/group.go
src/internal/runtime/maps/internal/abi/map_swiss.go [deleted file]
src/internal/runtime/maps/map_test.go
src/internal/runtime/maps/table.go
src/internal/runtime/maps/table_debug.go
src/reflect/all_test.go
src/reflect/export_noswiss_test.go [new file with mode: 0644]
src/reflect/export_swiss_test.go [new file with mode: 0644]
src/reflect/export_test.go
src/reflect/map_noswiss_test.go [new file with mode: 0644]
src/reflect/map_swiss.go
src/reflect/map_swiss_test.go [new file with mode: 0644]
src/runtime/export_map_noswiss_test.go
src/runtime/export_map_swiss_test.go
src/runtime/export_test.go
src/runtime/map_fast32_swiss.go
src/runtime/map_fast64_swiss.go
src/runtime/map_faststr_swiss.go
src/runtime/map_noswiss_test.go
src/runtime/map_swiss.go
src/runtime/map_swiss_test.go
src/runtime/map_test.go
src/runtime/runtime-gdb_test.go
test/fixedbugs/issue69110.go
test/live.go
test/live2.go
test/live_regabi.go
test/live_regabi_noswiss.go
test/live_regabi_swiss.go