Blame memkind-1.10.0/jemalloc/test/unit/slab.c

Packit Service 724aca
#include "test/jemalloc_test.h"
Packit Service 724aca
Packit Service 724aca
TEST_BEGIN(test_arena_slab_regind) {
Packit Service 724aca
	szind_t binind;
Packit Service 724aca
Packit Service 724aca
	for (binind = 0; binind < SC_NBINS; binind++) {
Packit Service 724aca
		size_t regind;
Packit Service 724aca
		extent_t slab;
Packit Service 724aca
		const bin_info_t *bin_info = &bin_infos[binind];
Packit Service 724aca
		extent_init(&slab, NULL, mallocx(bin_info->slab_size,
Packit Service 724aca
		    MALLOCX_LG_ALIGN(LG_PAGE)), bin_info->slab_size, true,
Packit Service 724aca
		    binind, 0, extent_state_active, false, true, true,
Packit Service 724aca
		    EXTENT_NOT_HEAD);
Packit Service 724aca
		assert_ptr_not_null(extent_addr_get(&slab),
Packit Service 724aca
		    "Unexpected malloc() failure");
Packit Service 724aca
		for (regind = 0; regind < bin_info->nregs; regind++) {
Packit Service 724aca
			void *reg = (void *)((uintptr_t)extent_addr_get(&slab) +
Packit Service 724aca
			    (bin_info->reg_size * regind));
Packit Service 724aca
			assert_zu_eq(arena_slab_regind(&slab, binind, reg),
Packit Service 724aca
			    regind,
Packit Service 724aca
			    "Incorrect region index computed for size %zu",
Packit Service 724aca
			    bin_info->reg_size);
Packit Service 724aca
		}
Packit Service 724aca
		free(extent_addr_get(&slab));
Packit Service 724aca
	}
Packit Service 724aca
}
Packit Service 724aca
TEST_END
Packit Service 724aca
Packit Service 724aca
int
Packit Service 724aca
main(void) {
Packit Service 724aca
	return test(
Packit Service 724aca
	    test_arena_slab_regind);
Packit Service 724aca
}