mirror of
https://github.com/jemalloc/jemalloc.git
synced 2026-05-06 03:37:33 +03:00
Rename zero_realloc option "strict" to "alloc".
With realloc(ptr, 0) being UB per C23, the option name "strict" makes less sense now. Rename to "alloc" which describes the behavior.
This commit is contained in:
parent
5841b6dbe7
commit
0e29ad4efa
7 changed files with 16 additions and 16 deletions
48
test/unit/zero_realloc_alloc.c
Normal file
48
test/unit/zero_realloc_alloc.c
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
#include "test/jemalloc_test.h"
|
||||
|
||||
static uint64_t
|
||||
allocated() {
|
||||
if (!config_stats) {
|
||||
return 0;
|
||||
}
|
||||
uint64_t allocated;
|
||||
size_t sz = sizeof(allocated);
|
||||
expect_d_eq(mallctl("thread.allocated", (void *)&allocated, &sz, NULL,
|
||||
0), 0, "Unexpected mallctl failure");
|
||||
return allocated;
|
||||
}
|
||||
|
||||
static uint64_t
|
||||
deallocated() {
|
||||
if (!config_stats) {
|
||||
return 0;
|
||||
}
|
||||
uint64_t deallocated;
|
||||
size_t sz = sizeof(deallocated);
|
||||
expect_d_eq(mallctl("thread.deallocated", (void *)&deallocated, &sz,
|
||||
NULL, 0), 0, "Unexpected mallctl failure");
|
||||
return deallocated;
|
||||
}
|
||||
|
||||
TEST_BEGIN(test_realloc_alloc) {
|
||||
void *ptr = mallocx(1, 0);
|
||||
expect_ptr_not_null(ptr, "Unexpected mallocx error");
|
||||
uint64_t allocated_before = allocated();
|
||||
uint64_t deallocated_before = deallocated();
|
||||
ptr = realloc(ptr, 0);
|
||||
uint64_t allocated_after = allocated();
|
||||
uint64_t deallocated_after = deallocated();
|
||||
if (config_stats) {
|
||||
expect_u64_lt(allocated_before, allocated_after,
|
||||
"Unexpected stats change");
|
||||
expect_u64_lt(deallocated_before, deallocated_after,
|
||||
"Unexpected stats change");
|
||||
}
|
||||
dallocx(ptr, 0);
|
||||
}
|
||||
TEST_END
|
||||
int
|
||||
main(void) {
|
||||
return test(
|
||||
test_realloc_alloc);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue