Skip to content

Commit c3f8650

Browse files
author
Jason Evans
committed
Add relevant function attributes to [msn]allocx().
1 parent a1f3929 commit c3f8650

File tree

2 files changed

+15
-20
lines changed

2 files changed

+15
-20
lines changed

include/jemalloc/jemalloc_protos.h.in

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,16 @@ JEMALLOC_EXPORT void *@je_@aligned_alloc(size_t alignment, size_t size)
1717
JEMALLOC_EXPORT void *@je_@realloc(void *ptr, size_t size);
1818
JEMALLOC_EXPORT void @je_@free(void *ptr);
1919

20-
JEMALLOC_EXPORT void *@je_@mallocx(size_t size, int flags);
20+
JEMALLOC_EXPORT void *@je_@mallocx(size_t size, int flags)
21+
JEMALLOC_ATTR(malloc);
2122
JEMALLOC_EXPORT void *@je_@rallocx(void *ptr, size_t size, int flags);
2223
JEMALLOC_EXPORT size_t @je_@xallocx(void *ptr, size_t size, size_t extra,
2324
int flags);
24-
JEMALLOC_EXPORT size_t @je_@sallocx(const void *ptr, int flags);
25+
JEMALLOC_EXPORT size_t @je_@sallocx(const void *ptr, int flags)
26+
JEMALLOC_ATTR(pure);
2527
JEMALLOC_EXPORT void @je_@dallocx(void *ptr, int flags);
26-
JEMALLOC_EXPORT size_t @je_@nallocx(size_t size, int flags);
28+
JEMALLOC_EXPORT size_t @je_@nallocx(size_t size, int flags)
29+
JEMALLOC_ATTR(pure);
2730

2831
JEMALLOC_EXPORT int @je_@mallctl(const char *name, void *oldp,
2932
size_t *oldlenp, void *newp, size_t newlen);

test/stress/microbench.c

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ TEST_BEGIN(test_free_vs_dallocx)
8181
TEST_END
8282

8383
static void
84-
mus_vs_sallocx_mus(void)
84+
malloc_mus_free(void)
8585
{
8686
void *p;
8787

@@ -91,48 +91,40 @@ mus_vs_sallocx_mus(void)
9191
}
9292

9393
static void
94-
mus_vs_sallocx_sallocx(void)
94+
malloc_sallocx_free(void)
9595
{
9696
void *p;
9797

9898
p = malloc(1);
99-
sallocx(p, 0);
99+
if (sallocx(p, 0) < 1)
100+
test_fail("Unexpected sallocx() failure");
100101
free(p);
101102
}
102103

103104
TEST_BEGIN(test_mus_vs_sallocx)
104105
{
105106

106107
compare_funcs(10*1000*1000, 100*1000*1000, "malloc_usable_size",
107-
mus_vs_sallocx_mus, "sallocx", mus_vs_sallocx_sallocx);
108+
malloc_mus_free, "sallocx", malloc_sallocx_free);
108109
}
109110
TEST_END
110111

111112
static void
112-
sallocx_vs_nallocx_sallocx(void)
113+
malloc_nallocx_free(void)
113114
{
114115
void *p;
115116

116117
p = malloc(1);
117-
sallocx(p, 0);
118-
free(p);
119-
}
120-
121-
static void
122-
sallocx_vs_nallocx_nallocx(void)
123-
{
124-
void *p;
125-
126-
p = malloc(1);
127-
nallocx(1, 0);
118+
if (nallocx(1, 0) < 1)
119+
test_fail("Unexpected nallocx() failure");
128120
free(p);
129121
}
130122

131123
TEST_BEGIN(test_sallocx_vs_nallocx)
132124
{
133125

134126
compare_funcs(10*1000*1000, 100*1000*1000, "sallocx",
135-
sallocx_vs_nallocx_sallocx, "nallocx", sallocx_vs_nallocx_nallocx);
127+
malloc_sallocx_free, "nallocx", malloc_nallocx_free);
136128
}
137129
TEST_END
138130

0 commit comments

Comments
 (0)