Skip to content

Commit 6a88519

Browse files
committed
Always inline performance-critical rtree operations.
1 parent 6c460ad commit 6a88519

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

include/jemalloc/internal/rtree.h

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ bool rtree_set(rtree_t *rtree, uintptr_t key, const extent_node_t *val);
155155
#endif
156156

157157
#if (defined(JEMALLOC_ENABLE_INLINE) || defined(JEMALLOC_RTREE_C_))
158-
JEMALLOC_INLINE unsigned
158+
JEMALLOC_ALWAYS_INLINE unsigned
159159
rtree_start_level(rtree_t *rtree, uintptr_t key)
160160
{
161161
unsigned start_level;
@@ -169,7 +169,7 @@ rtree_start_level(rtree_t *rtree, uintptr_t key)
169169
return (start_level);
170170
}
171171

172-
JEMALLOC_INLINE uintptr_t
172+
JEMALLOC_ALWAYS_INLINE uintptr_t
173173
rtree_subkey(rtree_t *rtree, uintptr_t key, unsigned level)
174174
{
175175

@@ -178,14 +178,14 @@ rtree_subkey(rtree_t *rtree, uintptr_t key, unsigned level)
178178
rtree->levels[level].bits) - 1));
179179
}
180180

181-
JEMALLOC_INLINE bool
181+
JEMALLOC_ALWAYS_INLINE bool
182182
rtree_node_valid(rtree_node_elm_t *node)
183183
{
184184

185185
return ((uintptr_t)node > (uintptr_t)RTREE_NODE_INITIALIZING);
186186
}
187187

188-
JEMALLOC_INLINE rtree_node_elm_t *
188+
JEMALLOC_ALWAYS_INLINE rtree_node_elm_t *
189189
rtree_child_tryread(rtree_node_elm_t *elm, bool dependent)
190190
{
191191
rtree_node_elm_t *child;
@@ -198,7 +198,7 @@ rtree_child_tryread(rtree_node_elm_t *elm, bool dependent)
198198
return (child);
199199
}
200200

201-
JEMALLOC_INLINE rtree_node_elm_t *
201+
JEMALLOC_ALWAYS_INLINE rtree_node_elm_t *
202202
rtree_child_read(rtree_t *rtree, rtree_node_elm_t *elm, unsigned level,
203203
bool dependent)
204204
{
@@ -211,7 +211,7 @@ rtree_child_read(rtree_t *rtree, rtree_node_elm_t *elm, unsigned level,
211211
return (child);
212212
}
213213

214-
JEMALLOC_INLINE extent_node_t *
214+
JEMALLOC_ALWAYS_INLINE extent_node_t *
215215
rtree_val_read(rtree_t *rtree, rtree_node_elm_t *elm, bool dependent)
216216
{
217217

@@ -240,7 +240,7 @@ rtree_val_write(rtree_t *rtree, rtree_node_elm_t *elm, const extent_node_t *val)
240240
atomic_write_p(&elm->pun, val);
241241
}
242242

243-
JEMALLOC_INLINE rtree_node_elm_t *
243+
JEMALLOC_ALWAYS_INLINE rtree_node_elm_t *
244244
rtree_subtree_tryread(rtree_t *rtree, unsigned level, bool dependent)
245245
{
246246
rtree_node_elm_t *subtree;
@@ -253,7 +253,7 @@ rtree_subtree_tryread(rtree_t *rtree, unsigned level, bool dependent)
253253
return (subtree);
254254
}
255255

256-
JEMALLOC_INLINE rtree_node_elm_t *
256+
JEMALLOC_ALWAYS_INLINE rtree_node_elm_t *
257257
rtree_subtree_read(rtree_t *rtree, unsigned level, bool dependent)
258258
{
259259
rtree_node_elm_t *subtree;
@@ -265,7 +265,7 @@ rtree_subtree_read(rtree_t *rtree, unsigned level, bool dependent)
265265
return (subtree);
266266
}
267267

268-
JEMALLOC_INLINE extent_node_t *
268+
JEMALLOC_ALWAYS_INLINE extent_node_t *
269269
rtree_get(rtree_t *rtree, uintptr_t key, bool dependent)
270270
{
271271
uintptr_t subkey;
@@ -352,6 +352,7 @@ rtree_get(rtree_t *rtree, uintptr_t key, bool dependent)
352352
#undef RTREE_GET_LEAF
353353
default: not_reached();
354354
}
355+
#undef RTREE_GET_BIAS
355356
not_reached();
356357
}
357358

0 commit comments

Comments
 (0)