Replaces #include "jemalloc_internal_includes.h" with explicit
per-symbol includes in five small TUs:
src/edata.c -> edata.h
src/exp_grow.c -> exp_grow.h
src/ticker.c -> ticker.h
src/bin_info.c -> assert.h, bin_info.h
src/counter.c -> counter.h, witness.h
One latent hermeticity bug surfaced: sz.h's
sz_large_size_classes_disabled() inline references
opt_disable_large_size_classes (declared in
jemalloc_internal_externs.h) but sz.h didn't include that header.
Worked under the umbrella but breaks once consumers stop including
everything. Added the include to sz.h so it stands on its own.
Step 6 (Option B) of the cyclical-dep cleanup, batch 1 of N.
By force-inlining everything that would otherwise be a macro, we get the same
effect (it's not clear in the first place that this is actually a good idea, but
it avoids making any changes to the existing performance profile).
This makes the code more maintainable (in anticipation of subsequent changes),
as well as making performance profiles and debug info more readable (we get
"real" line numbers, instead of making everything point to the macro definition
of all associated functions).
Using an edata_t both for hugepages and the allocations within those hugepages
was convenient at first, but has outlived its usefulness. Representing
hugepages explicitly, with their own data structure, will make future
development easier.