idsFromBackwardMap get all free page IDs from f.backwardMap. used by test only.
()
| 283 | // idsFromBackwardMap get all free page IDs from f.backwardMap. |
| 284 | // used by test only. |
| 285 | func (f *hashMap) idsFromBackwardMap() map[common.Pgid]struct{} { |
| 286 | ids := make(map[common.Pgid]struct{}) |
| 287 | for end, size := range f.backwardMap { |
| 288 | for i := 0; i < int(size); i++ { |
| 289 | id := end - common.Pgid(i) |
| 290 | if _, ok := ids[id]; ok { |
| 291 | panic(fmt.Sprintf("detected duplicated free page ID: %d in f.backwardMap: %v", id, f.backwardMap)) |
| 292 | } |
| 293 | ids[id] = struct{}{} |
| 294 | } |
| 295 | } |
| 296 | return ids |
| 297 | } |
| 298 | |
| 299 | func NewHashMapFreelist() Interface { |
| 300 | hm := &hashMap{ |