Better document --enable-ivsalloc.
This commit is contained in:
parent
22588dda6e
commit
03eea4fb8b
7
INSTALL
7
INSTALL
@ -124,9 +124,10 @@ any of the following arguments (not a definitive list) to 'configure':
|
||||
option documentation for usage details.
|
||||
|
||||
--enable-ivsalloc
|
||||
Enable validation code, which verifies that pointers reside within
|
||||
jemalloc-owned chunks before dereferencing them. This incurs a minor
|
||||
performance hit.
|
||||
Enable validation code for malloc_usable_size() and sallocx(), which
|
||||
verifies that pointers reside within jemalloc-owned extents before
|
||||
dereferencing metadata. This incurs a minor performance hit, and causes
|
||||
the functions to return 0 for failed lookups.
|
||||
|
||||
--enable-prof
|
||||
Enable heap profiling and leak detection functionality. See the "opt.prof"
|
||||
|
@ -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));
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user