aboutsummaryrefslogtreecommitdiff
path: root/src/internal/runtime/maps/export_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/internal/runtime/maps/export_test.go')
-rw-r--r--src/internal/runtime/maps/export_test.go42
1 files changed, 8 insertions, 34 deletions
diff --git a/src/internal/runtime/maps/export_test.go b/src/internal/runtime/maps/export_test.go
index e2512d332a..2856a7314e 100644
--- a/src/internal/runtime/maps/export_test.go
+++ b/src/internal/runtime/maps/export_test.go
@@ -6,7 +6,6 @@ package maps
import (
"internal/abi"
- sabi "internal/runtime/maps/internal/abi"
"unsafe"
)
@@ -16,41 +15,16 @@ const DebugLog = debugLog
var AlignUpPow2 = alignUpPow2
-type instantiatedGroup[K comparable, V any] struct {
- ctrls ctrlGroup
- slots [sabi.SwissMapGroupSlots]instantiatedSlot[K, V]
-}
-
-type instantiatedSlot[K comparable, V any] struct {
- key K
- elem V
+func (t *table) Type() *abi.SwissMapType {
+ return t.typ
}
-func NewTestTable[K comparable, V any](length uint64) *table {
- var m map[K]V
- mTyp := abi.TypeOf(m)
- omt := (*abi.OldMapType)(unsafe.Pointer(mTyp))
-
- var grp instantiatedGroup[K, V]
- var slot instantiatedSlot[K, V]
-
- mt := &sabi.SwissMapType{
- Key: omt.Key,
- Elem: omt.Elem,
- Group: abi.TypeOf(grp),
- Hasher: omt.Hasher,
- SlotSize: unsafe.Sizeof(slot),
- ElemOff: unsafe.Offsetof(slot.elem),
- }
- if omt.NeedKeyUpdate() {
- mt.Flags |= sabi.SwissMapNeedKeyUpdate
- }
- if omt.HashMightPanic() {
- mt.Flags |= sabi.SwissMapHashMightPanic
- }
- return newTable(mt, length)
+// Returns the start address of the groups array.
+func (t *table) GroupsStart() unsafe.Pointer {
+ return t.groups.data
}
-func (t *table) Type() *sabi.SwissMapType {
- return t.typ
+// Returns the length of the groups array.
+func (t *table) GroupsLength() uintptr {
+ return uintptr(t.groups.lengthMask + 1)
}