diff --git a/src/static_vars.cc b/src/static_vars.cc index 1fa9b40..6d08ca1 100644 --- a/src/static_vars.cc +++ b/src/static_vars.cc @@ -96,6 +96,7 @@ void Static::InitStaticVars() { // in is caches as pointers that are sources of heap object liveness, // which leads to it missing some memory leaks. pageheap_ = new (MetaDataAlloc(sizeof(PageHeap))) PageHeap; + pageheap_->SetAggressiveDecommit(EnvToBool("TCMALLOC_AGGRESSIVE_DECOMMIT", false)); DLL_Init(&sampled_objects_); Sampler::InitStatics(); } @@ -114,11 +115,4 @@ REGISTER_MODULE_INITIALIZER(tcmalloc_fork_handler, SetupAtForkLocksHandler()); #endif -static -void SetupAggressiveDecommit() -{ - Static::pageheap()->SetAggressiveDecommit(EnvToBool("TCMALLOC_AGGRESSIVE_DECOMMIT", false)); -} -REGISTER_MODULE_INITIALIZER(tcmalloc_setup_aggressive_decommit, SetupAggressiveDecommit()); - } // namespace tcmalloc