initialize mimalloc options at process load

This commit is contained in:
daan 2019-08-26 11:44:41 -07:00
parent 7ce9c02fd4
commit 2c19388bcf
3 changed files with 9 additions and 0 deletions

View File

@ -27,6 +27,7 @@ void _mi_error_message(const char* fmt, ...);
void _mi_warning_message(const char* fmt, ...);
void _mi_verbose_message(const char* fmt, ...);
void _mi_trace_message(const char* fmt, ...);
void _mi_options_init(void);
// "init.c"
extern mi_stats_t _mi_stats_main;

View File

@ -416,6 +416,7 @@ static void mi_allocator_done() {
static void mi_process_load(void) {
os_preloading = false;
atexit(&mi_process_done);
_mi_options_init();
mi_process_init();
//mi_stats_reset();
if (mi_redirected) _mi_verbose_message("malloc is redirected.\n");

View File

@ -73,6 +73,13 @@ static mi_option_desc_t options[_mi_option_last] =
static void mi_option_init(mi_option_desc_t* desc);
void _mi_options_init(void) {
// called on process load
for(int i = 0; i < _mi_option_last; i++ ) {
mi_option_get((mi_option_t)i); // initialize
}
}
long mi_option_get(mi_option_t option) {
mi_assert(option >= 0 && option < _mi_option_last);
mi_option_desc_t* desc = &options[option];