Lindenii Project Forge
Login

hare-ds

Data structures for Hare

Warning: Due to various recent migrations, viewing non-HEAD refs may be broken.

/ds/map/swiss/finish.ha (raw)

// SPDX-License-Identifier: Apache-2.0 AND MPL-2.0
// SPDX-FileCopyrightText: 2024 The Cockroach Authors
// SPDX-FileCopyrightText: 2025 Runxi Yu

// Frees resources associated with a [[map]].
export fn finish(m: *map) void = {
	if (len(m.groups) != 0) {
		for (let gi = 0z; gi <= m.group_mask; gi += 1) {
			let g = &m.groups[gi];
			for (let si = 0z; si < GROUP_SIZE; si += 1) {
				let c = g.ctrl[si];
				if (!is_full_ctrl(c)) continue;
				free(g.keys[si]);
			};
		};
		free(m.groups);
	};
	free(m);
};