issue-626: Fix SetupAggressiveDecommit initialization
This patch fixes the SetupAggressiveDecommit initialization to run after
pageheap_ creation. Current code it not enforcing it, since
InitStaticVars is being called outside the static_vars module.
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 @@
// 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 @@
#endif
-static
-void SetupAggressiveDecommit()
-{
- Static::pageheap()->SetAggressiveDecommit(EnvToBool("TCMALLOC_AGGRESSIVE_DECOMMIT", false));
-}
-REGISTER_MODULE_INITIALIZER(tcmalloc_setup_aggressive_decommit, SetupAggressiveDecommit());
-
} // namespace tcmalloc