Remove --enable-ivsalloc.

Continue to use ivsalloc() when --enable-debug is specified (and add
assertions to guard against 0 size), but stop providing a documented
explicit semantics-changing band-aid to dodge undefined behavior in
sallocx() and malloc_usable_size().  ivsalloc() remains compiled in,
unlike when #211 restored --enable-ivsalloc, and if
JEMALLOC_FORCE_IVSALLOC is defined during compilation, sallocx() and
malloc_usable_size() will still use ivsalloc().

This partially resolves #580.
This commit is contained in:
Jason Evans
2017-04-21 11:00:36 -07:00
parent b2a8453a3f
commit 3823effe12
5 changed files with 23 additions and 42 deletions

View File

@@ -104,7 +104,6 @@ any of the following arguments (not a definitive list) to 'configure':
--enable-debug
Enable assertions and validation code. This incurs a substantial
performance hit, but is very useful during application development.
Implies --enable-ivsalloc.
--enable-code-coverage
Enable code coverage support, for use during jemalloc test development.
@@ -123,12 +122,6 @@ any of the following arguments (not a definitive list) to 'configure':
Disable statistics gathering functionality. See the "opt.stats_print"
option documentation for usage details.
--enable-ivsalloc
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"
option documentation for usage details. When enabled, there are several