summaryrefslogtreecommitdiffstats
path: root/include/jemalloc
diff options
context:
space:
mode:
Diffstat (limited to 'include/jemalloc')
-rw-r--r--include/jemalloc/internal/jemalloc_internal.h.in11
-rw-r--r--include/jemalloc/internal/jemalloc_internal_defs.h.in2
2 files changed, 10 insertions, 3 deletions
diff --git a/include/jemalloc/internal/jemalloc_internal.h.in b/include/jemalloc/internal/jemalloc_internal.h.in
index fb3991b..243aae6 100644
--- a/include/jemalloc/internal/jemalloc_internal.h.in
+++ b/include/jemalloc/internal/jemalloc_internal.h.in
@@ -1061,12 +1061,19 @@ ivsalloc(tsdn_t *tsdn, const void *ptr)
{
extent_t *extent;
- /* Return 0 if ptr is not within a chunk managed by jemalloc. */
+ /*
+ * Return 0 if ptr is not within an extent managed by jemalloc. This
+ * function has two extra costs relative to isalloc():
+ * - The extent_lookup() call cannot claim to be a dependent lookup,
+ * which induces rtree lookup load dependencies.
+ * - The lookup may fail, so there is an extra branch to check for
+ * failure.
+ * */
extent = extent_lookup(tsdn, ptr, false);
if (extent == NULL)
return (0);
assert(extent_active_get(extent));
- /* Only arena chunks should be looked up via interior pointers. */
+ /* Only slab members should be looked up via interior pointers. */
assert(extent_addr_get(extent) == ptr || extent_slab_get(extent));
return (isalloc(tsdn, extent, ptr));
diff --git a/include/jemalloc/internal/jemalloc_internal_defs.h.in b/include/jemalloc/internal/jemalloc_internal_defs.h.in
index 7a38c91..6721bc8 100644
--- a/include/jemalloc/internal/jemalloc_internal_defs.h.in
+++ b/include/jemalloc/internal/jemalloc_internal_defs.h.in
@@ -195,7 +195,7 @@
/*
* JEMALLOC_IVSALLOC enables ivsalloc(), which verifies that pointers reside
- * within jemalloc-owned chunks before dereferencing them.
+ * within jemalloc-owned extents before dereferencing them.
*/
#undef JEMALLOC_IVSALLOC