<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.11.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>mi-malloc: mimalloc-doc.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="mimalloc-doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="mimalloc-logo.svg"/></td>
<td id="projectalign">
<div id="projectname">mi-malloc<span id="projectnumber"> 1.8/2.1</span>
</div>
</td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()"> </span>
<input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.11.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function(){initNavTree('mimalloc-doc_8h_source.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">mimalloc-doc.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/* ----------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment">Copyright (c) 2018-2025, Microsoft Research, Daan Leijen</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">This is free software; you can redistribute it and/or modify it under the</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">terms of the MIT license. A copy of the license can be found in the file</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">"LICENSE" at the root of this distribution.</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment">-----------------------------------------------------------------------------*/</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#error "documentation file only!"</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> </div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> </div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> </div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> </div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"><a class="line" href="group__malloc.html#gaf2c7b89c327d1f60f59e68b9ea644d95"> 126</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__malloc.html#gaf2c7b89c327d1f60f59e68b9ea644d95">mi_free</a>(<span class="keywordtype">void</span>* p);</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> </div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"><a class="line" href="group__malloc.html#gae1dd97b542420c87ae085e822b1229e8"> 132</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__malloc.html#gae1dd97b542420c87ae085e822b1229e8">mi_malloc</a>(<span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> </div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"><a class="line" href="group__malloc.html#gae6e38c4403247a7b40d80419e093bfb8"> 138</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__malloc.html#gae6e38c4403247a7b40d80419e093bfb8">mi_zalloc</a>(<span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> </div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"><a class="line" href="group__malloc.html#ga6686568014b54d1e6c7ac64a076e4f56"> 149</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__malloc.html#ga6686568014b54d1e6c7ac64a076e4f56">mi_calloc</a>(<span class="keywordtype">size_t</span> count, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> </div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"><a class="line" href="group__malloc.html#ga0621af6a5e3aa384e6a1b548958bf583"> 164</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__malloc.html#ga0621af6a5e3aa384e6a1b548958bf583">mi_realloc</a>(<span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> newsize);</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> </div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"><a class="line" href="group__malloc.html#ga19299856216cfbb08e2628593654dfb0"> 179</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__malloc.html#ga19299856216cfbb08e2628593654dfb0">mi_expand</a>(<span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> newsize);</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> </div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"><a class="line" href="group__malloc.html#ga61f46bade3db76ca24aaafedc40de7b6"> 190</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__malloc.html#ga61f46bade3db76ca24aaafedc40de7b6">mi_mallocn</a>(<span class="keywordtype">size_t</span> count, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> </div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"><a class="line" href="group__malloc.html#ga8bddfb4a1270a0854bbcf44cb3980467"> 201</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__malloc.html#ga8bddfb4a1270a0854bbcf44cb3980467">mi_reallocn</a>(<span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> count, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> </div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"><a class="line" href="group__malloc.html#ga4dc3a4067037b151a64629fe8a332641"> 219</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__malloc.html#ga4dc3a4067037b151a64629fe8a332641">mi_reallocf</a>(<span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> newsize);</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> </div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> </div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"><a class="line" href="group__malloc.html#ga245ac90ebc2cfdd17de599e5fea59889"> 230</a></span><span class="keywordtype">char</span>* <a class="code hl_function" href="group__malloc.html#ga245ac90ebc2cfdd17de599e5fea59889">mi_strdup</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* s);</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> </div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"><a class="line" href="group__malloc.html#ga486d0d26b3b3794f6d1cdb41a9aed92d"> 241</a></span><span class="keywordtype">char</span>* <a class="code hl_function" href="group__malloc.html#ga486d0d26b3b3794f6d1cdb41a9aed92d">mi_strndup</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* s, <span class="keywordtype">size_t</span> n);</div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> </div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"><a class="line" href="group__malloc.html#ga94c3afcc086e85d75a57e9f76b9b71dd"> 255</a></span><span class="keywordtype">char</span>* <a class="code hl_function" href="group__malloc.html#ga94c3afcc086e85d75a57e9f76b9b71dd">mi_realpath</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* fname, <span class="keywordtype">char</span>* resolved_name);</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> </div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"><a class="line" href="group__malloc.html#ga089c859d9eddc5f9b4bd946cd53cebee"> 270</a></span><span class="keywordtype">size_t</span> <a class="code hl_function" href="group__malloc.html#ga089c859d9eddc5f9b4bd946cd53cebee">mi_usable_size</a>(<span class="keywordtype">void</span>* p);</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> </div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"><a class="line" href="group__malloc.html#gac057927cd06c854b45fe7847e921bd47"> 281</a></span><span class="keywordtype">size_t</span> <a class="code hl_function" href="group__malloc.html#gac057927cd06c854b45fe7847e921bd47">mi_good_size</a>(<span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> </div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> </div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> </div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span><span class="comment">// ------------------------------------------------------</span></div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span><span class="comment">// Aligned allocation</span></div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span><span class="comment">// ------------------------------------------------------</span></div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> </div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span> </div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"><a class="line" href="group__aligned.html#ga69578ff1a98ca16e1dcd02c0995cd65c"> 315</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__aligned.html#ga69578ff1a98ca16e1dcd02c0995cd65c">mi_malloc_aligned</a>(<span class="keywordtype">size_t</span> size, <span class="keywordtype">size_t</span> alignment);</div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"><a class="line" href="group__aligned.html#gaac7d0beb782f9b9ac31f47492b130f82"> 316</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__aligned.html#gaac7d0beb782f9b9ac31f47492b130f82">mi_zalloc_aligned</a>(<span class="keywordtype">size_t</span> size, <span class="keywordtype">size_t</span> alignment);</div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"><a class="line" href="group__aligned.html#ga424ef386fb1f9f8e0a86ab53f16eaaf1"> 317</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__aligned.html#ga424ef386fb1f9f8e0a86ab53f16eaaf1">mi_calloc_aligned</a>(<span class="keywordtype">size_t</span> count, <span class="keywordtype">size_t</span> size, <span class="keywordtype">size_t</span> alignment);</div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"><a class="line" href="group__aligned.html#ga5d7a46d054b4d7abe9d8d2474add2edf"> 318</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__aligned.html#ga5d7a46d054b4d7abe9d8d2474add2edf">mi_realloc_aligned</a>(<span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> newsize, <span class="keywordtype">size_t</span> alignment);</div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> </div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"><a class="line" href="group__aligned.html#ga2022f71b95a7cd6cce1b6e07752ae8ca"> 331</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__aligned.html#ga2022f71b95a7cd6cce1b6e07752ae8ca">mi_malloc_aligned_at</a>(<span class="keywordtype">size_t</span> size, <span class="keywordtype">size_t</span> alignment, <span class="keywordtype">size_t</span> offset);</div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"><a class="line" href="group__aligned.html#ga7c1778805ce50ebbf02ccbd5e39d5dba"> 332</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__aligned.html#ga7c1778805ce50ebbf02ccbd5e39d5dba">mi_zalloc_aligned_at</a>(<span class="keywordtype">size_t</span> size, <span class="keywordtype">size_t</span> alignment, <span class="keywordtype">size_t</span> offset);</div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"><a class="line" href="group__aligned.html#ga977f96bd2c5c141bcd70e6685c90d6c3"> 333</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__aligned.html#ga977f96bd2c5c141bcd70e6685c90d6c3">mi_calloc_aligned_at</a>(<span class="keywordtype">size_t</span> count, <span class="keywordtype">size_t</span> size, <span class="keywordtype">size_t</span> alignment, <span class="keywordtype">size_t</span> offset);</div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"><a class="line" href="group__aligned.html#gad06dcf2bb8faadb2c8ea61ee5d24bbf6"> 334</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__aligned.html#gad06dcf2bb8faadb2c8ea61ee5d24bbf6">mi_realloc_aligned_at</a>(<span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> newsize, <span class="keywordtype">size_t</span> alignment, <span class="keywordtype">size_t</span> offset);</div>
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span> </div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> </div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> </div>
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span> </div>
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"><a class="line" href="group__typed.html#ga0619a62c5fd886f1016030abe91f0557"> 359</a></span><span class="preprocessor">#define mi_malloc_tp(tp) ((tp*)mi_malloc(sizeof(tp)))</span></div>
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span> </div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"><a class="line" href="group__typed.html#gac77a61bdaf680a803785fe307820b48c"> 362</a></span><span class="preprocessor">#define mi_zalloc_tp(tp) ((tp*)mi_zalloc(sizeof(tp)))</span></div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span> </div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"><a class="line" href="group__typed.html#gae80c47c9d4cab10961fff1a8ac98fc07"> 365</a></span><span class="preprocessor">#define mi_calloc_tp(tp,count) ((tp*)mi_calloc(count,sizeof(tp)))</span></div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> </div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"><a class="line" href="group__typed.html#gae5cb6e0fafc9f23169c5622e077afe8b"> 368</a></span><span class="preprocessor">#define mi_mallocn_tp(tp,count) ((tp*)mi_mallocn(count,sizeof(tp)))</span></div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span> </div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"><a class="line" href="group__typed.html#ga1158b49a55dfa81f58a4426a7578f523"> 371</a></span><span class="preprocessor">#define mi_reallocn_tp(p,tp,count) ((tp*)mi_reallocn(p,count,sizeof(tp)))</span></div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span> </div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"><a class="line" href="group__typed.html#ga02d3e85bf26aa3120132f2552c408a88"> 374</a></span><span class="preprocessor">#define mi_heap_malloc_tp(tp,hp) ((tp*)mi_heap_malloc(hp,sizeof(tp)))</span></div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> </div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"><a class="line" href="group__typed.html#ga0aaa1aa747d8863e844c37e424ed096c"> 377</a></span><span class="preprocessor">#define mi_heap_zalloc_tp(tp,hp) ((tp*)mi_heap_zalloc(hp,sizeof(tp)))</span></div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span> </div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"><a class="line" href="group__typed.html#ga953f22101bb354a8b6de2a6d6fda9b98"> 380</a></span><span class="preprocessor">#define mi_heap_calloc_tp(tp,hp,count) ((tp*)mi_heap_calloc(hp,count,sizeof(tp)))</span></div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span> </div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"><a class="line" href="group__typed.html#gaa58690658cc6f5dd54c99a9971d4aa7d"> 383</a></span><span class="preprocessor">#define mi_heap_mallocn_tp(tp,hp,count) ((tp*)mi_heap_mallocn(hp,count,sizeof(tp)))</span></div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span> </div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"><a class="line" href="group__typed.html#ga817e315c24133294caad4d50470ff313"> 386</a></span><span class="preprocessor">#define mi_heap_reallocn_tp(tp,hp,p,count) ((tp*)mi_heap_reallocn(p,count,sizeof(tp)))</span></div>
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span> </div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"><a class="line" href="group__typed.html#ga7bf06ad296e20d1d74c90d64294eecec"> 389</a></span><span class="preprocessor">#define mi_heap_recalloc_tp(tp,hp,p,count) ((tp*)mi_heap_recalloc(p,count,sizeof(tp)))</span></div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span> </div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span> </div>
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"> 402</span> </div>
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"><a class="line" href="group__zeroinit.html#ga23a0fbb452b5dce8e31fab1a1958cacc"> 413</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__zeroinit.html#ga23a0fbb452b5dce8e31fab1a1958cacc">mi_recalloc</a>(<span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> count, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span> </div>
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"><a class="line" href="group__zeroinit.html#gadfd34cd7b4f2bbda7ae06367a6360756"> 415</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__zeroinit.html#gadfd34cd7b4f2bbda7ae06367a6360756">mi_rezalloc</a>(<span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> newsize);</div>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__zeroinit.html#ga23a0fbb452b5dce8e31fab1a1958cacc">mi_recalloc</a>(<span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> newcount, <span class="keywordtype">size_t</span> size) ;</div>
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span> </div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"><a class="line" href="group__zeroinit.html#ga4d02404fe1e7db00beb65f185e012caa"> 418</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__zeroinit.html#ga4d02404fe1e7db00beb65f185e012caa">mi_rezalloc_aligned</a>(<span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> newsize, <span class="keywordtype">size_t</span> alignment);</div>
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"><a class="line" href="group__zeroinit.html#ga6843a88285bbfcc3bdfccc60aafd1270"> 419</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__zeroinit.html#ga6843a88285bbfcc3bdfccc60aafd1270">mi_rezalloc_aligned_at</a>(<span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> newsize, <span class="keywordtype">size_t</span> alignment, <span class="keywordtype">size_t</span> offset);</div>
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"><a class="line" href="group__zeroinit.html#ga3e2169b48683aa0ab64f813fd68d839e"> 420</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__zeroinit.html#ga3e2169b48683aa0ab64f813fd68d839e">mi_recalloc_aligned</a>(<span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> newcount, <span class="keywordtype">size_t</span> size, <span class="keywordtype">size_t</span> alignment);</div>
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"><a class="line" href="group__zeroinit.html#gaae25e4ddedd4e0fb61b1a8bd5d452750"> 421</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__zeroinit.html#gaae25e4ddedd4e0fb61b1a8bd5d452750">mi_recalloc_aligned_at</a>(<span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> newcount, <span class="keywordtype">size_t</span> size, <span class="keywordtype">size_t</span> alignment, <span class="keywordtype">size_t</span> offset);</div>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span> </div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"><a class="line" href="group__zeroinit.html#ga8d8b7ebb24b513cd84d1a696048da60d"> 423</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__zeroinit.html#ga8d8b7ebb24b513cd84d1a696048da60d">mi_heap_rezalloc</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> newsize);</div>
<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"><a class="line" href="group__zeroinit.html#gad1a0d325d930eeb80f25e3fea37aacde"> 424</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__zeroinit.html#gad1a0d325d930eeb80f25e3fea37aacde">mi_heap_recalloc</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> newcount, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"> 425</span> </div>
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"><a class="line" href="group__zeroinit.html#ga5129f6dc46ee1613d918820a8a0533a7"> 426</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__zeroinit.html#ga5129f6dc46ee1613d918820a8a0533a7">mi_heap_rezalloc_aligned</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> newsize, <span class="keywordtype">size_t</span> alignment);</div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"><a class="line" href="group__zeroinit.html#ga2bafa79c3f98ea74882349d44cffa5d9"> 427</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__zeroinit.html#ga2bafa79c3f98ea74882349d44cffa5d9">mi_heap_rezalloc_aligned_at</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> newsize, <span class="keywordtype">size_t</span> alignment, <span class="keywordtype">size_t</span> offset);</div>
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"><a class="line" href="group__zeroinit.html#ga87ddd674bf1c67237d780d0b9e0f0f32"> 428</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__zeroinit.html#ga87ddd674bf1c67237d780d0b9e0f0f32">mi_heap_recalloc_aligned</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> newcount, <span class="keywordtype">size_t</span> size, <span class="keywordtype">size_t</span> alignment);</div>
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"><a class="line" href="group__zeroinit.html#ga07b5bcbaf00d0d2e598c232982588496"> 429</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__zeroinit.html#ga07b5bcbaf00d0d2e598c232982588496">mi_heap_recalloc_aligned_at</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> newcount, <span class="keywordtype">size_t</span> size, <span class="keywordtype">size_t</span> alignment, <span class="keywordtype">size_t</span> offset);</div>
<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"> 430</span> </div>
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"> 432</span> </div>
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"> 433</span> </div>
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"> 434</span> </div>
<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"> 452</span> </div>
<div class="line"><a id="l00458" name="l00458"></a><span class="lineno"> 458</span><span class="keyword">struct </span>mi_heap_s;</div>
<div class="line"><a id="l00459" name="l00459"></a><span class="lineno"> 459</span> </div>
<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"><a class="line" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2"> 465</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span>mi_heap_s <a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>;</div>
<div class="line"><a id="l00466" name="l00466"></a><span class="lineno"> 466</span> </div>
<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"><a class="line" href="group__heap.html#gaa718bb226ec0546ba6d1b6cb32179f3a"> 468</a></span><a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* <a class="code hl_function" href="group__heap.html#gaa718bb226ec0546ba6d1b6cb32179f3a">mi_heap_new</a>();</div>
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"> 469</span> </div>
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"><a class="line" href="group__heap.html#ga2ab1af8d438819b55319c7ef51d1e409"> 476</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__heap.html#ga2ab1af8d438819b55319c7ef51d1e409">mi_heap_delete</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap);</div>
<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"> 477</span> </div>
<div class="line"><a id="l00484" name="l00484"></a><span class="lineno"><a class="line" href="group__heap.html#ga9f9c0844edb9717f4feacd79116b8e0d"> 484</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__heap.html#ga9f9c0844edb9717f4feacd79116b8e0d">mi_heap_destroy</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap);</div>
<div class="line"><a id="l00485" name="l00485"></a><span class="lineno"> 485</span> </div>
<div class="line"><a id="l00490" name="l00490"></a><span class="lineno"><a class="line" href="group__heap.html#ga349b677dec7da5eacdbc7a385bd62a4a"> 490</a></span><a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* <a class="code hl_function" href="group__heap.html#ga349b677dec7da5eacdbc7a385bd62a4a">mi_heap_set_default</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap);</div>
<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"> 491</span> </div>
<div class="line"><a id="l00495" name="l00495"></a><span class="lineno"><a class="line" href="group__heap.html#ga14c667a6e2c5d28762d8cb7d4e057909"> 495</a></span><a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* <a class="code hl_function" href="group__heap.html#ga14c667a6e2c5d28762d8cb7d4e057909">mi_heap_get_default</a>();</div>
<div class="line"><a id="l00496" name="l00496"></a><span class="lineno"> 496</span> </div>
<div class="line"><a id="l00503" name="l00503"></a><span class="lineno"><a class="line" href="group__heap.html#gac6ac9f0e7be9ab4ff70acfc8dad1235a"> 503</a></span><a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* <a class="code hl_function" href="group__heap.html#gac6ac9f0e7be9ab4ff70acfc8dad1235a">mi_heap_get_backing</a>();</div>
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno"> 504</span> </div>
<div class="line"><a id="l00508" name="l00508"></a><span class="lineno"><a class="line" href="group__heap.html#gaab93abbc0624f570e2900f95cac18591"> 508</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__heap.html#gaab93abbc0624f570e2900f95cac18591">mi_heap_set_numa_affinity</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keywordtype">int</span> numa_node);</div>
<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"> 509</span> </div>
<div class="line"><a id="l00515" name="l00515"></a><span class="lineno"><a class="line" href="group__heap.html#ga8fc318a65dc79ee8778c6a0e52d12477"> 515</a></span><a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* <a class="code hl_function" href="group__heap.html#ga8fc318a65dc79ee8778c6a0e52d12477">mi_heap_main</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00516" name="l00516"></a><span class="lineno"> 516</span> </div>
<div class="line"><a id="l00522" name="l00522"></a><span class="lineno"><a class="line" href="group__heap.html#ga424b69f285109b2515631d59f5eecb1b"> 522</a></span><a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* <a class="code hl_function" href="group__heap.html#ga424b69f285109b2515631d59f5eecb1b">mi_heap_of</a>(<span class="keyword">const</span> <span class="keywordtype">void</span>* p);</div>
<div class="line"><a id="l00523" name="l00523"></a><span class="lineno"> 523</span> </div>
<div class="line"><a id="l00528" name="l00528"></a><span class="lineno"><a class="line" href="group__heap.html#gac988496aea8ffc5c8bf92a8b10165fa0"> 528</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="group__heap.html#gac988496aea8ffc5c8bf92a8b10165fa0">mi_heap_contains</a>(<span class="keyword">const</span> <a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keyword">const</span> <span class="keywordtype">void</span>* p);</div>
<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"> 529</span> </div>
<div class="line"><a id="l00533" name="l00533"></a><span class="lineno"><a class="line" href="group__heap.html#ga29589f427702a1b873de8efb884a611b"> 533</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="group__heap.html#ga29589f427702a1b873de8efb884a611b">mi_any_heap_contains</a>(<span class="keyword">const</span> <span class="keywordtype">void</span>* p);</div>
<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"> 534</span> </div>
<div class="line"><a id="l00535" name="l00535"></a><span class="lineno"> 535</span> </div>
<div class="line"><a id="l00541" name="l00541"></a><span class="lineno"><a class="line" href="group__heap.html#ga5f071b10d4df1c3658e04e7fd67a94e6"> 541</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="group__heap.html#ga5f071b10d4df1c3658e04e7fd67a94e6">mi_is_in_heap_region</a>(<span class="keyword">const</span> <span class="keywordtype">void</span>* p);</div>
<div class="line"><a id="l00542" name="l00542"></a><span class="lineno"> 542</span> </div>
<div class="line"><a id="l00548" name="l00548"></a><span class="lineno"><a class="line" href="group__heap.html#ga628c237489c2679af84a4d0d143b3dd5"> 548</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="group__heap.html#ga628c237489c2679af84a4d0d143b3dd5">mi_check_owned</a>(<span class="keyword">const</span> <span class="keywordtype">void</span>* p);</div>
<div class="line"><a id="l00549" name="l00549"></a><span class="lineno"> 549</span> </div>
<div class="line"><a id="l00556" name="l00556"></a><span class="lineno"><a class="line" href="group__heap.html#gaa862aa8ed8d57d84cae41fc1022d71af"> 556</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="group__heap.html#gaa862aa8ed8d57d84cae41fc1022d71af">mi_heap_contains_block</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keyword">const</span> <span class="keywordtype">void</span>* p);</div>
<div class="line"><a id="l00557" name="l00557"></a><span class="lineno"> 557</span> </div>
<div class="line"><a id="l00564" name="l00564"></a><span class="lineno"><a class="line" href="group__heap.html#ga0d67c1789faaa15ff366c024fcaf6377"> 564</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="group__heap.html#ga0d67c1789faaa15ff366c024fcaf6377">mi_heap_check_owned</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keyword">const</span> <span class="keywordtype">void</span>* p);</div>
<div class="line"><a id="l00565" name="l00565"></a><span class="lineno"> 565</span> </div>
<div class="line"><a id="l00567" name="l00567"></a><span class="lineno"><a class="line" href="group__heap.html#ga7922f7495cde30b1984d0e6072419298"> 567</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__heap.html#ga7922f7495cde30b1984d0e6072419298">mi_heap_collect</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keywordtype">bool</span> force);</div>
<div class="line"><a id="l00568" name="l00568"></a><span class="lineno"> 568</span> </div>
<div class="line"><a id="l00571" name="l00571"></a><span class="lineno"><a class="line" href="group__heap.html#gab374e206c7034e0d899fb934e4f4a863"> 571</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__heap.html#gab374e206c7034e0d899fb934e4f4a863">mi_heap_malloc</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l00572" name="l00572"></a><span class="lineno"> 572</span> </div>
<div class="line"><a id="l00576" name="l00576"></a><span class="lineno"><a class="line" href="group__heap.html#ga012c5c8abe22b10043de39ff95909541"> 576</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__heap.html#ga012c5c8abe22b10043de39ff95909541">mi_heap_malloc_small</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l00577" name="l00577"></a><span class="lineno"> 577</span> </div>
<div class="line"><a id="l00580" name="l00580"></a><span class="lineno"><a class="line" href="group__heap.html#gabebc796399619d964d8db77aa835e8c1"> 580</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__heap.html#gabebc796399619d964d8db77aa835e8c1">mi_heap_zalloc</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l00581" name="l00581"></a><span class="lineno"> 581</span> </div>
<div class="line"><a id="l00585" name="l00585"></a><span class="lineno"><a class="line" href="group__heap.html#ga0994f44cc595f9c1840a9af162d98597"> 585</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__heap.html#ga0994f44cc595f9c1840a9af162d98597">mi_heap_zalloc_small</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l00586" name="l00586"></a><span class="lineno"> 586</span> </div>
<div class="line"><a id="l00589" name="l00589"></a><span class="lineno"><a class="line" href="group__heap.html#gac0098aaf231d3e9586c73136d5df95da"> 589</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__heap.html#gac0098aaf231d3e9586c73136d5df95da">mi_heap_calloc</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keywordtype">size_t</span> count, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l00590" name="l00590"></a><span class="lineno"> 590</span> </div>
<div class="line"><a id="l00593" name="l00593"></a><span class="lineno"><a class="line" href="group__heap.html#gab0f755c0b21c387fe8e9024200faa372"> 593</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__heap.html#gab0f755c0b21c387fe8e9024200faa372">mi_heap_mallocn</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keywordtype">size_t</span> count, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l00594" name="l00594"></a><span class="lineno"> 594</span> </div>
<div class="line"><a id="l00597" name="l00597"></a><span class="lineno"><a class="line" href="group__heap.html#ga5754e09ccc51dd6bc73885bb6ea21b7a"> 597</a></span><span class="keywordtype">char</span>* <a class="code hl_function" href="group__heap.html#ga5754e09ccc51dd6bc73885bb6ea21b7a">mi_heap_strdup</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keyword">const</span> <span class="keywordtype">char</span>* s);</div>
<div class="line"><a id="l00598" name="l00598"></a><span class="lineno"> 598</span> </div>
<div class="line"><a id="l00601" name="l00601"></a><span class="lineno"><a class="line" href="group__heap.html#gad224df78f1fbee942df8adf023e12cf3"> 601</a></span><span class="keywordtype">char</span>* <a class="code hl_function" href="group__heap.html#gad224df78f1fbee942df8adf023e12cf3">mi_heap_strndup</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keyword">const</span> <span class="keywordtype">char</span>* s, <span class="keywordtype">size_t</span> n);</div>
<div class="line"><a id="l00602" name="l00602"></a><span class="lineno"> 602</span> </div>
<div class="line"><a id="l00605" name="l00605"></a><span class="lineno"><a class="line" href="group__heap.html#ga55545a3ec6da29c5b4f62e540ecac1e2"> 605</a></span><span class="keywordtype">char</span>* <a class="code hl_function" href="group__heap.html#ga55545a3ec6da29c5b4f62e540ecac1e2">mi_heap_realpath</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keyword">const</span> <span class="keywordtype">char</span>* fname, <span class="keywordtype">char</span>* resolved_name);</div>
<div class="line"><a id="l00606" name="l00606"></a><span class="lineno"> 606</span> </div>
<div class="line"><a id="l00607" name="l00607"></a><span class="lineno"><a class="line" href="group__heap.html#gac5252d6a2e510bd349e4fcb452e6a93a"> 607</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__heap.html#gac5252d6a2e510bd349e4fcb452e6a93a">mi_heap_realloc</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> newsize);</div>
<div class="line"><a id="l00608" name="l00608"></a><span class="lineno"><a class="line" href="group__heap.html#gaccf7bfe10ce510a000d3547d9cf7fa29"> 608</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__heap.html#gaccf7bfe10ce510a000d3547d9cf7fa29">mi_heap_reallocn</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> count, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l00609" name="l00609"></a><span class="lineno"><a class="line" href="group__heap.html#gae7cd171425bee04c683c65a3701f0b4a"> 609</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__heap.html#gae7cd171425bee04c683c65a3701f0b4a">mi_heap_reallocf</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> newsize);</div>
<div class="line"><a id="l00610" name="l00610"></a><span class="lineno"> 610</span> </div>
<div class="line"><a id="l00611" name="l00611"></a><span class="lineno"><a class="line" href="group__heap.html#ga33f4f05b7fea7af2113c62a4bf882cc5"> 611</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__heap.html#ga33f4f05b7fea7af2113c62a4bf882cc5">mi_heap_malloc_aligned</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keywordtype">size_t</span> size, <span class="keywordtype">size_t</span> alignment);</div>
<div class="line"><a id="l00612" name="l00612"></a><span class="lineno"><a class="line" href="group__heap.html#gae7ffc045c3996497a7f3a5f6fe7b8aaa"> 612</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__heap.html#gae7ffc045c3996497a7f3a5f6fe7b8aaa">mi_heap_malloc_aligned_at</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keywordtype">size_t</span> size, <span class="keywordtype">size_t</span> alignment, <span class="keywordtype">size_t</span> offset);</div>
<div class="line"><a id="l00613" name="l00613"></a><span class="lineno"><a class="line" href="group__heap.html#ga6466bde8b5712aa34e081a8317f9f471"> 613</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__heap.html#ga6466bde8b5712aa34e081a8317f9f471">mi_heap_zalloc_aligned</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keywordtype">size_t</span> size, <span class="keywordtype">size_t</span> alignment);</div>
<div class="line"><a id="l00614" name="l00614"></a><span class="lineno"><a class="line" href="group__heap.html#ga484e3d01cd174f78c7e53370e5a7c819"> 614</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__heap.html#ga484e3d01cd174f78c7e53370e5a7c819">mi_heap_zalloc_aligned_at</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keywordtype">size_t</span> size, <span class="keywordtype">size_t</span> alignment, <span class="keywordtype">size_t</span> offset);</div>
<div class="line"><a id="l00615" name="l00615"></a><span class="lineno"><a class="line" href="group__heap.html#gacafcc26df827c7a7de5e850217566108"> 615</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__heap.html#gacafcc26df827c7a7de5e850217566108">mi_heap_calloc_aligned</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keywordtype">size_t</span> count, <span class="keywordtype">size_t</span> size, <span class="keywordtype">size_t</span> alignment);</div>
<div class="line"><a id="l00616" name="l00616"></a><span class="lineno"><a class="line" href="group__heap.html#gaa42ec2079989c4374f2c331d9b35f4e4"> 616</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__heap.html#gaa42ec2079989c4374f2c331d9b35f4e4">mi_heap_calloc_aligned_at</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keywordtype">size_t</span> count, <span class="keywordtype">size_t</span> size, <span class="keywordtype">size_t</span> alignment, <span class="keywordtype">size_t</span> offset);</div>
<div class="line"><a id="l00617" name="l00617"></a><span class="lineno"><a class="line" href="group__heap.html#gaccf8c249872f30bf1c2493a09197d734"> 617</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__heap.html#gaccf8c249872f30bf1c2493a09197d734">mi_heap_realloc_aligned</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> newsize, <span class="keywordtype">size_t</span> alignment);</div>
<div class="line"><a id="l00618" name="l00618"></a><span class="lineno"><a class="line" href="group__heap.html#ga6df988a7219d5707f010d5f3eb0dc3f5"> 618</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__heap.html#ga6df988a7219d5707f010d5f3eb0dc3f5">mi_heap_realloc_aligned_at</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> newsize, <span class="keywordtype">size_t</span> alignment, <span class="keywordtype">size_t</span> offset);</div>
<div class="line"><a id="l00619" name="l00619"></a><span class="lineno"> 619</span> </div>
<div class="line"><a id="l00621" name="l00621"></a><span class="lineno"> 621</span> </div>
<div class="line"><a id="l00622" name="l00622"></a><span class="lineno"> 622</span> </div>
<div class="line"><a id="l00623" name="l00623"></a><span class="lineno"> 623</span> </div>
<div class="line"><a id="l00628" name="l00628"></a><span class="lineno"> 628</span> </div>
<div class="line"><a id="l00629" name="l00629"></a><span class="lineno"> 629</span> </div>
<div class="foldopen" id="foldopen00632" data-start="{" data-end="};">
<div class="line"><a id="l00632" name="l00632"></a><span class="lineno"><a class="line" href="group__analysis.html"> 632</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span>mi_heap_area_s {</div>
<div class="line"><a id="l00633" name="l00633"></a><span class="lineno"><a class="line" href="group__analysis.html#ae0085e6e1cf059a4eb7767e30e9991b8"> 633</a></span> <span class="keywordtype">void</span>* <a class="code hl_variable" href="group__analysis.html#ae0085e6e1cf059a4eb7767e30e9991b8">blocks</a>; </div>
<div class="line"><a id="l00634" name="l00634"></a><span class="lineno"><a class="line" href="group__analysis.html#ae848a3e6840414891035423948ca0383"> 634</a></span> <span class="keywordtype">size_t</span> <a class="code hl_variable" href="group__analysis.html#ae848a3e6840414891035423948ca0383">reserved</a>; </div>
<div class="line"><a id="l00635" name="l00635"></a><span class="lineno"><a class="line" href="group__analysis.html#ab47526df656d8837ec3e97f11b83f835"> 635</a></span> <span class="keywordtype">size_t</span> <a class="code hl_variable" href="group__analysis.html#ab47526df656d8837ec3e97f11b83f835">committed</a>; </div>
<div class="line"><a id="l00636" name="l00636"></a><span class="lineno"><a class="line" href="group__analysis.html#ab820302c5cd0df133eb8e51650a008b4"> 636</a></span> <span class="keywordtype">size_t</span> <a class="code hl_variable" href="group__analysis.html#ab820302c5cd0df133eb8e51650a008b4">used</a>; </div>
<div class="line"><a id="l00637" name="l00637"></a><span class="lineno"><a class="line" href="group__analysis.html#a332a6c14d736a99699d5453a1cb04b41"> 637</a></span> <span class="keywordtype">size_t</span> <a class="code hl_variable" href="group__analysis.html#a332a6c14d736a99699d5453a1cb04b41">block_size</a>; </div>
<div class="line"><a id="l00638" name="l00638"></a><span class="lineno"><a class="line" href="group__analysis.html#ab53664e31d7fe2564f8d42041ef75cb3"> 638</a></span> <span class="keywordtype">size_t</span> <a class="code hl_variable" href="group__analysis.html#ab53664e31d7fe2564f8d42041ef75cb3">full_block_size</a>; </div>
<div class="line"><a id="l00639" name="l00639"></a><span class="lineno"><a class="line" href="group__analysis.html#a2b7a0c92ece8daf46b558efc990ebdc1"> 639</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="group__analysis.html#a2b7a0c92ece8daf46b558efc990ebdc1">heap_tag</a>; </div>
<div class="line"><a id="l00640" name="l00640"></a><span class="lineno"> 640</span>} <a class="code hl_struct" href="group__analysis.html#structmi__heap__area__t">mi_heap_area_t</a>;</div>
</div>
<div class="line"><a id="l00641" name="l00641"></a><span class="lineno"> 641</span> </div>
<div class="line"><a id="l00649" name="l00649"></a><span class="lineno"><a class="line" href="group__analysis.html#ga8255dc9371e6b299d9802a610c4e34ec"> 649</a></span><span class="keyword">typedef</span> bool (<a class="code hl_typedef" href="group__analysis.html#ga8255dc9371e6b299d9802a610c4e34ec">mi_block_visit_fun</a>)(<span class="keyword">const</span> <a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keyword">const</span> <a class="code hl_struct" href="group__analysis.html#structmi__heap__area__t">mi_heap_area_t</a>* area, <span class="keywordtype">void</span>* block, <span class="keywordtype">size_t</span> block_size, <span class="keywordtype">void</span>* arg);</div>
<div class="line"><a id="l00650" name="l00650"></a><span class="lineno"> 650</span> </div>
<div class="line"><a id="l00665" name="l00665"></a><span class="lineno"><a class="line" href="group__analysis.html#gae69fcff3324f8e419af850e34cf54c46"> 665</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="group__analysis.html#gae69fcff3324f8e419af850e34cf54c46">mi_heap_visit_blocks</a>(<span class="keyword">const</span> <a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keywordtype">bool</span> visit_blocks, <a class="code hl_typedef" href="group__analysis.html#ga8255dc9371e6b299d9802a610c4e34ec">mi_block_visit_fun</a>* visitor, <span class="keywordtype">void</span>* arg);</div>
<div class="line"><a id="l00666" name="l00666"></a><span class="lineno"> 666</span> </div>
<div class="line"><a id="l00682" name="l00682"></a><span class="lineno"><a class="line" href="group__analysis.html#ga6a4865a887b2ec5247854af61562503c"> 682</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="group__analysis.html#ga6a4865a887b2ec5247854af61562503c">mi_abandoned_visit_blocks</a>(<a class="code hl_typedef" href="group__subproc.html#ga8c0bcd1fee27c7641e9c3c0d991b3b7d">mi_subproc_id_t</a> subproc_id, <span class="keywordtype">int</span> heap_tag, <span class="keywordtype">bool</span> visit_blocks, <a class="code hl_typedef" href="group__analysis.html#ga8255dc9371e6b299d9802a610c4e34ec">mi_block_visit_fun</a>* visitor, <span class="keywordtype">void</span>* arg);</div>
<div class="line"><a id="l00683" name="l00683"></a><span class="lineno"> 683</span> </div>
<div class="line"><a id="l00685" name="l00685"></a><span class="lineno"> 685</span> </div>
<div class="line"><a id="l00686" name="l00686"></a><span class="lineno"> 686</span><span class="comment">// ------------------------------------------------------</span></div>
<div class="line"><a id="l00687" name="l00687"></a><span class="lineno"> 687</span><span class="comment">// Arenas</span></div>
<div class="line"><a id="l00688" name="l00688"></a><span class="lineno"> 688</span><span class="comment">// ------------------------------------------------------</span></div>
<div class="line"><a id="l00689" name="l00689"></a><span class="lineno"> 689</span> </div>
<div class="line"><a id="l00697" name="l00697"></a><span class="lineno"> 697</span> </div>
<div class="line"><a id="l00699" name="l00699"></a><span class="lineno"><a class="line" href="group__arenas.html#ga99fe38650d0b02e0e0f89ee024db91d3"> 699</a></span><span class="keyword">typedef</span> <span class="keywordtype">int</span> <a class="code hl_typedef" href="group__arenas.html#ga99fe38650d0b02e0e0f89ee024db91d3">mi_arena_id_t</a>;</div>
<div class="line"><a id="l00700" name="l00700"></a><span class="lineno"> 700</span> </div>
<div class="line"><a id="l00709" name="l00709"></a><span class="lineno"><a class="line" href="group__arenas.html#ga00ec3324b6b2591c7fe3677baa30a767"> 709</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="group__arenas.html#ga00ec3324b6b2591c7fe3677baa30a767">mi_reserve_os_memory</a>(<span class="keywordtype">size_t</span> size, <span class="keywordtype">bool</span> commit, <span class="keywordtype">bool</span> allow_large);</div>
<div class="line"><a id="l00710" name="l00710"></a><span class="lineno"> 710</span> </div>
<div class="line"><a id="l00718" name="l00718"></a><span class="lineno"><a class="line" href="group__arenas.html#ga32f519797fd9a81acb4f52d36e6d751b"> 718</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="group__arenas.html#ga32f519797fd9a81acb4f52d36e6d751b">mi_reserve_os_memory_ex</a>(<span class="keywordtype">size_t</span> size, <span class="keywordtype">bool</span> commit, <span class="keywordtype">bool</span> allow_large, <span class="keywordtype">bool</span> exclusive, <a class="code hl_typedef" href="group__arenas.html#ga99fe38650d0b02e0e0f89ee024db91d3">mi_arena_id_t</a>* arena_id);</div>
<div class="line"><a id="l00719" name="l00719"></a><span class="lineno"> 719</span> </div>
<div class="line"><a id="l00732" name="l00732"></a><span class="lineno"><a class="line" href="group__arenas.html#ga3132f521fb756fc0e8ec0b74fb58df50"> 732</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="group__arenas.html#ga3132f521fb756fc0e8ec0b74fb58df50">mi_reserve_huge_os_pages_interleave</a>(<span class="keywordtype">size_t</span> pages, <span class="keywordtype">size_t</span> numa_nodes, <span class="keywordtype">size_t</span> timeout_msecs);</div>
<div class="line"><a id="l00733" name="l00733"></a><span class="lineno"> 733</span> </div>
<div class="line"><a id="l00746" name="l00746"></a><span class="lineno"><a class="line" href="group__arenas.html#ga7795a13d20087447281858d2c771cca1"> 746</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="group__arenas.html#ga7795a13d20087447281858d2c771cca1">mi_reserve_huge_os_pages_at</a>(<span class="keywordtype">size_t</span> pages, <span class="keywordtype">int</span> numa_node, <span class="keywordtype">size_t</span> timeout_msecs);</div>
<div class="line"><a id="l00747" name="l00747"></a><span class="lineno"> 747</span> </div>
<div class="line"><a id="l00755" name="l00755"></a><span class="lineno"><a class="line" href="group__arenas.html#ga591aab1c2bc2ca920e33f0f9f9cb5c52"> 755</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="group__arenas.html#ga591aab1c2bc2ca920e33f0f9f9cb5c52">mi_reserve_huge_os_pages_at_ex</a>(<span class="keywordtype">size_t</span> pages, <span class="keywordtype">int</span> numa_node, <span class="keywordtype">size_t</span> timeout_msecs, <span class="keywordtype">bool</span> exclusive, <a class="code hl_typedef" href="group__arenas.html#ga99fe38650d0b02e0e0f89ee024db91d3">mi_arena_id_t</a>* arena_id);</div>
<div class="line"><a id="l00756" name="l00756"></a><span class="lineno"> 756</span> </div>
<div class="line"><a id="l00759" name="l00759"></a><span class="lineno"><a class="line" href="group__arenas.html#gaa1a59464dbf3bc972d34fca0f86668fc"> 759</a></span><span class="keywordtype">size_t</span> <a class="code hl_function" href="group__arenas.html#gaa1a59464dbf3bc972d34fca0f86668fc">mi_arena_min_alignment</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00760" name="l00760"></a><span class="lineno"> 760</span> </div>
<div class="line"><a id="l00772" name="l00772"></a><span class="lineno"><a class="line" href="group__arenas.html#ga4c6486a1fdcd7a423b5f25fe4be8e0cf"> 772</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="group__arenas.html#ga4c6486a1fdcd7a423b5f25fe4be8e0cf">mi_manage_os_memory</a>(<span class="keywordtype">void</span>* start, <span class="keywordtype">size_t</span> size, <span class="keywordtype">bool</span> is_committed, <span class="keywordtype">bool</span> is_large, <span class="keywordtype">bool</span> is_zero, <span class="keywordtype">int</span> numa_node);</div>
<div class="line"><a id="l00773" name="l00773"></a><span class="lineno"> 773</span> </div>
<div class="line"><a id="l00784" name="l00784"></a><span class="lineno"><a class="line" href="group__arenas.html#ga41ce8525d77bbb60f618fa1029994f6e"> 784</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="group__arenas.html#ga41ce8525d77bbb60f618fa1029994f6e">mi_manage_os_memory_ex</a>(<span class="keywordtype">void</span>* start, <span class="keywordtype">size_t</span> size, <span class="keywordtype">bool</span> is_committed, <span class="keywordtype">bool</span> is_large, <span class="keywordtype">bool</span> is_zero, <span class="keywordtype">int</span> numa_node, <span class="keywordtype">bool</span> exclusive, <a class="code hl_typedef" href="group__arenas.html#ga99fe38650d0b02e0e0f89ee024db91d3">mi_arena_id_t</a>* arena_id);</div>
<div class="line"><a id="l00785" name="l00785"></a><span class="lineno"> 785</span> </div>
<div class="line"><a id="l00786" name="l00786"></a><span class="lineno"> 786</span> </div>
<div class="line"><a id="l00788" name="l00788"></a><span class="lineno"><a class="line" href="group__arenas.html#ga98cda17aa7adeda8b213382af8e7810b"> 788</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__arenas.html#ga98cda17aa7adeda8b213382af8e7810b">mi_debug_show_arenas</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00789" name="l00789"></a><span class="lineno"> 789</span> </div>
<div class="line"><a id="l00794" name="l00794"></a><span class="lineno"><a class="line" href="group__arenas.html#ga9a25a00a22151619a0be91a10af7787f"> 794</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__arenas.html#ga9a25a00a22151619a0be91a10af7787f">mi_arena_area</a>(<a class="code hl_typedef" href="group__arenas.html#ga99fe38650d0b02e0e0f89ee024db91d3">mi_arena_id_t</a> arena_id, <span class="keywordtype">size_t</span>* size);</div>
<div class="line"><a id="l00795" name="l00795"></a><span class="lineno"> 795</span> </div>
<div class="line"><a id="l00796" name="l00796"></a><span class="lineno"> 796</span> </div>
<div class="line"><a id="l00797" name="l00797"></a><span class="lineno"> 797</span> </div>
<div class="line"><a id="l00801" name="l00801"></a><span class="lineno"><a class="line" href="group__arenas.html#gaaf2d9976576d5efd5544be12848af949"> 801</a></span><a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* <a class="code hl_function" href="group__arenas.html#gaaf2d9976576d5efd5544be12848af949">mi_heap_new_in_arena</a>(<a class="code hl_typedef" href="group__arenas.html#ga99fe38650d0b02e0e0f89ee024db91d3">mi_arena_id_t</a> arena_id);</div>
<div class="line"><a id="l00802" name="l00802"></a><span class="lineno"> 802</span> </div>
<div class="line"><a id="l00814" name="l00814"></a><span class="lineno"><a class="line" href="group__arenas.html#ga3ae360583f4351aa5267ee7e43008faf"> 814</a></span><a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* <a class="code hl_function" href="group__arenas.html#ga3ae360583f4351aa5267ee7e43008faf">mi_heap_new_ex</a>(<span class="keywordtype">int</span> heap_tag, <span class="keywordtype">bool</span> allow_destroy, <a class="code hl_typedef" href="group__arenas.html#ga99fe38650d0b02e0e0f89ee024db91d3">mi_arena_id_t</a> arena_id);</div>
<div class="line"><a id="l00815" name="l00815"></a><span class="lineno"> 815</span> </div>
<div class="line"><a id="l00817" name="l00817"></a><span class="lineno"> 817</span> </div>
<div class="line"><a id="l00818" name="l00818"></a><span class="lineno"> 818</span> </div>
<div class="line"><a id="l00827" name="l00827"></a><span class="lineno"> 827</span> </div>
<div class="line"><a id="l00832" name="l00832"></a><span class="lineno"><a class="line" href="group__subproc.html#ga8c0bcd1fee27c7641e9c3c0d991b3b7d"> 832</a></span><span class="keyword">typedef</span> <span class="keywordtype">void</span>* <a class="code hl_typedef" href="group__subproc.html#ga8c0bcd1fee27c7641e9c3c0d991b3b7d">mi_subproc_id_t</a>;</div>
<div class="line"><a id="l00833" name="l00833"></a><span class="lineno"> 833</span> </div>
<div class="line"><a id="l00835" name="l00835"></a><span class="lineno"><a class="line" href="group__subproc.html#ga2ecba0d7ebdc99e71bb985c4a1609806"> 835</a></span><a class="code hl_typedef" href="group__subproc.html#ga8c0bcd1fee27c7641e9c3c0d991b3b7d">mi_subproc_id_t</a> <a class="code hl_function" href="group__subproc.html#ga2ecba0d7ebdc99e71bb985c4a1609806">mi_subproc_main</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00836" name="l00836"></a><span class="lineno"> 836</span> </div>
<div class="line"><a id="l00838" name="l00838"></a><span class="lineno"><a class="line" href="group__subproc.html#gaabc4db6585bf16099e43e60d64364950"> 838</a></span><a class="code hl_typedef" href="group__subproc.html#ga8c0bcd1fee27c7641e9c3c0d991b3b7d">mi_subproc_id_t</a> <a class="code hl_function" href="group__subproc.html#gaabc4db6585bf16099e43e60d64364950">mi_subproc_current</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00839" name="l00839"></a><span class="lineno"> 839</span> </div>
<div class="line"><a id="l00842" name="l00842"></a><span class="lineno"><a class="line" href="group__subproc.html#ga8068cac328e41fa2170faef707315243"> 842</a></span><a class="code hl_typedef" href="group__subproc.html#ga8c0bcd1fee27c7641e9c3c0d991b3b7d">mi_subproc_id_t</a> <a class="code hl_function" href="group__subproc.html#ga8068cac328e41fa2170faef707315243">mi_subproc_new</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00843" name="l00843"></a><span class="lineno"> 843</span> </div>
<div class="line"><a id="l00847" name="l00847"></a><span class="lineno"><a class="line" href="group__subproc.html#gada12e4d9bd382935c398ec324d0391f9"> 847</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__subproc.html#gada12e4d9bd382935c398ec324d0391f9">mi_subproc_destroy</a>(<a class="code hl_typedef" href="group__subproc.html#ga8c0bcd1fee27c7641e9c3c0d991b3b7d">mi_subproc_id_t</a> subproc);</div>
<div class="line"><a id="l00848" name="l00848"></a><span class="lineno"> 848</span> </div>
<div class="line"><a id="l00853" name="l00853"></a><span class="lineno"><a class="line" href="group__subproc.html#gaa7d263e9429bac9ac8345c9d25de610e"> 853</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__subproc.html#gaa7d263e9429bac9ac8345c9d25de610e">mi_subproc_delete</a>(<a class="code hl_typedef" href="group__subproc.html#ga8c0bcd1fee27c7641e9c3c0d991b3b7d">mi_subproc_id_t</a> subproc);</div>
<div class="line"><a id="l00854" name="l00854"></a><span class="lineno"> 854</span> </div>
<div class="line"><a id="l00858" name="l00858"></a><span class="lineno"><a class="line" href="group__subproc.html#gadbc53414eb68b275588ec001ce1ddc7c"> 858</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__subproc.html#gadbc53414eb68b275588ec001ce1ddc7c">mi_subproc_add_current_thread</a>(<a class="code hl_typedef" href="group__subproc.html#ga8c0bcd1fee27c7641e9c3c0d991b3b7d">mi_subproc_id_t</a> subproc);</div>
<div class="line"><a id="l00859" name="l00859"></a><span class="lineno"> 859</span> </div>
<div class="line"><a id="l00863" name="l00863"></a><span class="lineno"><a class="line" href="group__subproc.html#ga7dcbc5863df9989b45e7051999448a4a"> 863</a></span><span class="keyword">typedef</span> bool (<a class="code hl_typedef" href="group__subproc.html#ga7dcbc5863df9989b45e7051999448a4a">mi_heap_visit_fun</a>)(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keywordtype">void</span>* arg);</div>
<div class="line"><a id="l00864" name="l00864"></a><span class="lineno"> 864</span> </div>
<div class="line"><a id="l00870" name="l00870"></a><span class="lineno"><a class="line" href="group__subproc.html#gafd2136e7f167b5cd02b6ab00bed0ac93"> 870</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="group__subproc.html#gafd2136e7f167b5cd02b6ab00bed0ac93">mi_subproc_visit_heaps</a>(<a class="code hl_typedef" href="group__subproc.html#ga8c0bcd1fee27c7641e9c3c0d991b3b7d">mi_subproc_id_t</a> subproc, <a class="code hl_typedef" href="group__subproc.html#ga7dcbc5863df9989b45e7051999448a4a">mi_heap_visit_fun</a>* visitor, <span class="keywordtype">void</span>* arg);</div>
<div class="line"><a id="l00871" name="l00871"></a><span class="lineno"> 871</span> </div>
<div class="line"><a id="l00873" name="l00873"></a><span class="lineno"> 873</span> </div>
<div class="line"><a id="l00874" name="l00874"></a><span class="lineno"> 874</span> </div>
<div class="line"><a id="l00875" name="l00875"></a><span class="lineno"> 875</span><span class="comment">// ------------------------------------------------------</span></div>
<div class="line"><a id="l00876" name="l00876"></a><span class="lineno"> 876</span><span class="comment">// Extended functionality</span></div>
<div class="line"><a id="l00877" name="l00877"></a><span class="lineno"> 877</span><span class="comment">// ------------------------------------------------------</span></div>
<div class="line"><a id="l00878" name="l00878"></a><span class="lineno"> 878</span> </div>
<div class="line"><a id="l00883" name="l00883"></a><span class="lineno"> 883</span> </div>
<div class="line"><a id="l00887" name="l00887"></a><span class="lineno"><a class="line" href="group__extended.html#ga1ea64283508718d9d645c38efc2f4305"> 887</a></span><span class="preprocessor">#define MI_SMALL_SIZE_MAX (128*sizeof(void*))</span></div>
<div class="line"><a id="l00888" name="l00888"></a><span class="lineno"> 888</span> </div>
<div class="line"><a id="l00892" name="l00892"></a><span class="lineno"><a class="line" href="group__extended.html#gae9ddddcf14a58d0224ef3c8778e5b057"> 892</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="group__extended.html#gae9ddddcf14a58d0224ef3c8778e5b057">mi_version</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00893" name="l00893"></a><span class="lineno"> 893</span> </div>
<div class="line"><a id="l00901" name="l00901"></a><span class="lineno"><a class="line" href="group__extended.html#ga421430e2226d7d468529cec457396756"> 901</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__extended.html#ga421430e2226d7d468529cec457396756">mi_collect</a>(<span class="keywordtype">bool</span> force);</div>
<div class="line"><a id="l00902" name="l00902"></a><span class="lineno"> 902</span> </div>
<div class="line"><a id="l00908" name="l00908"></a><span class="lineno"><a class="line" href="group__extended.html#gada899104276aac52539eb4de7c020f1f"> 908</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__extended.html#gada899104276aac52539eb4de7c020f1f">mi_thread_set_in_threadpool</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00909" name="l00909"></a><span class="lineno"> 909</span> </div>
<div class="line"><a id="l00914" name="l00914"></a><span class="lineno"><a class="line" href="group__extended.html#gaad25050b19f30cd79397b227e0157a3f"> 914</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="group__extended.html#gaad25050b19f30cd79397b227e0157a3f">mi_is_redirected</a>();</div>
<div class="line"><a id="l00915" name="l00915"></a><span class="lineno"> 915</span> </div>
<div class="line"><a id="l00919" name="l00919"></a><span class="lineno"><a class="line" href="group__extended.html#gaf8e73efc2cbca9ebfdfb166983a04c17"> 919</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__extended.html#gaf8e73efc2cbca9ebfdfb166983a04c17">mi_thread_init</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00920" name="l00920"></a><span class="lineno"> 920</span> </div>
<div class="line"><a id="l00925" name="l00925"></a><span class="lineno"><a class="line" href="group__extended.html#ga0ae4581e85453456a0d658b2b98bf7bf"> 925</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__extended.html#ga0ae4581e85453456a0d658b2b98bf7bf">mi_thread_done</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00926" name="l00926"></a><span class="lineno"> 926</span> </div>
<div class="line"><a id="l00933" name="l00933"></a><span class="lineno"><a class="line" href="group__extended.html#ga292a45f7dbc7cd23c5352ce1f0002816"> 933</a></span><span class="keyword">typedef</span> void (<a class="code hl_typedef" href="group__extended.html#ga292a45f7dbc7cd23c5352ce1f0002816">mi_deferred_free_fun</a>)(<span class="keywordtype">bool</span> force, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> heartbeat, <span class="keywordtype">void</span>* arg);</div>
<div class="line"><a id="l00934" name="l00934"></a><span class="lineno"> 934</span> </div>
<div class="line"><a id="l00950" name="l00950"></a><span class="lineno"><a class="line" href="group__extended.html#ga3460a6ca91af97be4058f523d3cb8ece"> 950</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__extended.html#ga3460a6ca91af97be4058f523d3cb8ece">mi_register_deferred_free</a>(<a class="code hl_typedef" href="group__extended.html#ga292a45f7dbc7cd23c5352ce1f0002816">mi_deferred_free_fun</a>* deferred_free, <span class="keywordtype">void</span>* arg);</div>
<div class="line"><a id="l00951" name="l00951"></a><span class="lineno"> 951</span> </div>
<div class="line"><a id="l00957" name="l00957"></a><span class="lineno"><a class="line" href="group__extended.html#gadf31cea7d0332a81c8b882cbbdbadb8d"> 957</a></span><span class="keyword">typedef</span> void (<a class="code hl_typedef" href="group__extended.html#gadf31cea7d0332a81c8b882cbbdbadb8d">mi_output_fun</a>)(<span class="keyword">const</span> <span class="keywordtype">char</span>* msg, <span class="keywordtype">void</span>* arg);</div>
<div class="line"><a id="l00958" name="l00958"></a><span class="lineno"> 958</span> </div>
<div class="line"><a id="l00965" name="l00965"></a><span class="lineno"><a class="line" href="group__extended.html#gae5b17ff027cd2150b43a33040250cf3f"> 965</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__extended.html#gae5b17ff027cd2150b43a33040250cf3f">mi_register_output</a>(<a class="code hl_typedef" href="group__extended.html#gadf31cea7d0332a81c8b882cbbdbadb8d">mi_output_fun</a>* out, <span class="keywordtype">void</span>* arg);</div>
<div class="line"><a id="l00966" name="l00966"></a><span class="lineno"> 966</span> </div>
<div class="line"><a id="l00972" name="l00972"></a><span class="lineno"><a class="line" href="group__extended.html#ga83fc6a688b322261e1c2deab000b0591"> 972</a></span><span class="keyword">typedef</span> void (<a class="code hl_typedef" href="group__extended.html#ga83fc6a688b322261e1c2deab000b0591">mi_error_fun</a>)(<span class="keywordtype">int</span> err, <span class="keywordtype">void</span>* arg);</div>
<div class="line"><a id="l00973" name="l00973"></a><span class="lineno"> 973</span> </div>
<div class="line"><a id="l00989" name="l00989"></a><span class="lineno"><a class="line" href="group__extended.html#gaa1d55e0e894be240827e5d87ec3a1f45"> 989</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__extended.html#gaa1d55e0e894be240827e5d87ec3a1f45">mi_register_error</a>(<a class="code hl_typedef" href="group__extended.html#ga83fc6a688b322261e1c2deab000b0591">mi_error_fun</a>* errfun, <span class="keywordtype">void</span>* arg);</div>
<div class="line"><a id="l00990" name="l00990"></a><span class="lineno"> 990</span> </div>
<div class="line"><a id="l00998" name="l00998"></a><span class="lineno"><a class="line" href="group__extended.html#ga7f050bc6b897da82692174f5fce59cde"> 998</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__extended.html#ga7f050bc6b897da82692174f5fce59cde">mi_malloc_small</a>(<span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l00999" name="l00999"></a><span class="lineno"> 999</span> </div>
<div class="line"><a id="l01007" name="l01007"></a><span class="lineno"><a class="line" href="group__extended.html#ga51c47637e81df0e2f13a2d7a2dec123e"> 1007</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__extended.html#ga51c47637e81df0e2f13a2d7a2dec123e">mi_zalloc_small</a>(<span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l01008" name="l01008"></a><span class="lineno"> 1008</span> </div>
<div class="line"><a id="l01022" name="l01022"></a><span class="lineno"><a class="line" href="group__extended.html#ga2a8469764c38dcaf878f36e5f50e3610"> 1022</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__extended.html#ga2a8469764c38dcaf878f36e5f50e3610">mi_free_small</a>(<span class="keywordtype">void</span>* p);</div>
<div class="line"><a id="l01023" name="l01023"></a><span class="lineno"> 1023</span> </div>
<div class="line"><a id="l01025" name="l01025"></a><span class="lineno"> 1025</span> </div>
<div class="line"><a id="l01026" name="l01026"></a><span class="lineno"> 1026</span> </div>
<div class="line"><a id="l01027" name="l01027"></a><span class="lineno"> 1027</span> </div>
<div class="line"><a id="l01028" name="l01028"></a><span class="lineno"> 1028</span> </div>
<div class="line"><a id="l01029" name="l01029"></a><span class="lineno"> 1029</span> </div>
<div class="line"><a id="l01030" name="l01030"></a><span class="lineno"> 1030</span><span class="comment">// ------------------------------------------------------</span></div>
<div class="line"><a id="l01031" name="l01031"></a><span class="lineno"> 1031</span><span class="comment">// Statistics</span></div>
<div class="line"><a id="l01032" name="l01032"></a><span class="lineno"> 1032</span><span class="comment">// ------------------------------------------------------</span></div>
<div class="line"><a id="l01033" name="l01033"></a><span class="lineno"> 1033</span> </div>
<div class="line"><a id="l01037" name="l01037"></a><span class="lineno"> 1037</span> </div>
<div class="line"><a id="l01039" name="l01039"></a><span class="lineno"><a class="line" href="group__stats.html#gac4411cf3eed23719e511b9e1128888e0"> 1039</a></span><span class="preprocessor">#define MI_STAT_VERSION 4</span></div>
<div class="line"><a id="l01040" name="l01040"></a><span class="lineno"> 1040</span> </div>
<div class="line"><a id="l01050" name="l01050"></a><span class="lineno"><a class="line" href="group__stats.html#ga961d0f9f0327ebc9bd8a0b84f6dcb410"> 1050</a></span><span class="preprocessor">#define mi_stats_t_decl(name)</span></div>
<div class="line"><a id="l01051" name="l01051"></a><span class="lineno"> 1051</span> </div>
<div class="foldopen" id="foldopen01053" data-start="{" data-end="};">
<div class="line"><a id="l01053" name="l01053"></a><span class="lineno"><a class="line" href="group__stats.html"> 1053</a></span><span class="keyword">struct </span><a class="code hl_struct" href="group__stats.html#structmi__stats__s">mi_stats_s</a> {</div>
<div class="line"><a id="l01055" name="l01055"></a><span class="lineno"><a class="line" href="group__stats.html#ae41e0fff24b988d0a43c34040b04b887"> 1055</a></span> <span class="keywordtype">size_t</span> <a class="code hl_variable" href="group__stats.html#ae41e0fff24b988d0a43c34040b04b887">size</a>; </div>
<div class="line"><a id="l01057" name="l01057"></a><span class="lineno"><a class="line" href="group__stats.html#aa74fc9c40dfaef5e06dec4019c19de68"> 1057</a></span> <span class="keywordtype">size_t</span> <a class="code hl_variable" href="group__stats.html#aa74fc9c40dfaef5e06dec4019c19de68">version</a>; </div>
<div class="line"><a id="l01058" name="l01058"></a><span class="lineno"> 1058</span>};</div>
</div>
<div class="line"><a id="l01059" name="l01059"></a><span class="lineno"> 1059</span> </div>
<div class="line"><a id="l01061" name="l01061"></a><span class="lineno"> 1061</span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="group__stats.html#structmi__stats__s">mi_stats_s</a> mi_stats_t;</div>
<div class="line"><a id="l01062" name="l01062"></a><span class="lineno"> 1062</span> </div>
<div class="line"><a id="l01063" name="l01063"></a><span class="lineno"> 1063</span> </div>
<div class="line"><a id="l01066" name="l01066"></a><span class="lineno"><a class="line" href="group__stats.html#gaf887e7aa75f13242c4e7ab95d8390536"> 1066</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__stats.html#gaf887e7aa75f13242c4e7ab95d8390536">mi_process_info_print</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l01067" name="l01067"></a><span class="lineno"> 1067</span> </div>
<div class="line"><a id="l01072" name="l01072"></a><span class="lineno"><a class="line" href="group__stats.html#ga03ac88d3efee2ae7c34f5340502f4732"> 1072</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__stats.html#ga03ac88d3efee2ae7c34f5340502f4732">mi_process_info_print_out</a>(<a class="code hl_typedef" href="group__extended.html#gadf31cea7d0332a81c8b882cbbdbadb8d">mi_output_fun</a>* out, <span class="keywordtype">void</span>* arg);</div>
<div class="line"><a id="l01073" name="l01073"></a><span class="lineno"> 1073</span> </div>
<div class="line"><a id="l01087" name="l01087"></a><span class="lineno"><a class="line" href="group__stats.html#ga7d862c2affd5790381da14eb102a364d"> 1087</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__stats.html#ga7d862c2affd5790381da14eb102a364d">mi_process_info</a>(<span class="keywordtype">size_t</span>* elapsed_msecs, <span class="keywordtype">size_t</span>* user_msecs, <span class="keywordtype">size_t</span>* system_msecs, <span class="keywordtype">size_t</span>* current_rss, <span class="keywordtype">size_t</span>* peak_rss, <span class="keywordtype">size_t</span>* current_commit, <span class="keywordtype">size_t</span>* peak_commit, <span class="keywordtype">size_t</span>* page_faults);</div>
<div class="line"><a id="l01088" name="l01088"></a><span class="lineno"> 1088</span> </div>
<div class="line"><a id="l01089" name="l01089"></a><span class="lineno"> 1089</span> </div>
<div class="line"><a id="l01094" name="l01094"></a><span class="lineno"><a class="line" href="group__stats.html#ga2d126e5c62d3badc35445e5d84166df2"> 1094</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__stats.html#ga2d126e5c62d3badc35445e5d84166df2">mi_stats_print</a>(<span class="keywordtype">void</span>* out);</div>
<div class="line"><a id="l01095" name="l01095"></a><span class="lineno"> 1095</span> </div>
<div class="line"><a id="l01101" name="l01101"></a><span class="lineno"><a class="line" href="group__stats.html#ga537f13b299ddf801e49a5a94fde02c79"> 1101</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__stats.html#ga537f13b299ddf801e49a5a94fde02c79">mi_stats_print_out</a>(<a class="code hl_typedef" href="group__extended.html#gadf31cea7d0332a81c8b882cbbdbadb8d">mi_output_fun</a>* out, <span class="keywordtype">void</span>* arg);</div>
<div class="line"><a id="l01102" name="l01102"></a><span class="lineno"> 1102</span> </div>
<div class="line"><a id="l01108" name="l01108"></a><span class="lineno"><a class="line" href="group__stats.html#gaa26d5060ad21b1331a150bb92f6f7086"> 1108</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="group__stats.html#gaa26d5060ad21b1331a150bb92f6f7086">mi_stats_get</a>(mi_stats_t* stats);</div>
<div class="line"><a id="l01109" name="l01109"></a><span class="lineno"> 1109</span> </div>
<div class="line"><a id="l01115" name="l01115"></a><span class="lineno"><a class="line" href="group__stats.html#gadaa3be15899cc82e314fa7d3f8e2afbd"> 1115</a></span><span class="keywordtype">char</span>* <a class="code hl_function" href="group__stats.html#gadaa3be15899cc82e314fa7d3f8e2afbd">mi_stats_get_json</a>(<span class="keywordtype">size_t</span> buf_size, <span class="keywordtype">char</span>* buf);</div>
<div class="line"><a id="l01116" name="l01116"></a><span class="lineno"> 1116</span> </div>
<div class="line"><a id="l01118" name="l01118"></a><span class="lineno"><a class="line" href="group__stats.html#gadecd549d1a7216af596322ac27e78b0d"> 1118</a></span><span class="keywordtype">size_t</span> <a class="code hl_function" href="group__stats.html#gadecd549d1a7216af596322ac27e78b0d">mi_stats_get_bin_size</a>(<span class="keywordtype">size_t</span> bin);</div>
<div class="line"><a id="l01119" name="l01119"></a><span class="lineno"> 1119</span> </div>
<div class="line"><a id="l01126" name="l01126"></a><span class="lineno"><a class="line" href="group__stats.html#ga2654195cef93ed3613e98b59a19a296f"> 1126</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="group__stats.html#ga2654195cef93ed3613e98b59a19a296f">mi_heap_stats_get</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, mi_stats_t* stats);</div>
<div class="line"><a id="l01127" name="l01127"></a><span class="lineno"> 1127</span> </div>
<div class="line"><a id="l01134" name="l01134"></a><span class="lineno"><a class="line" href="group__stats.html#gacb42dede4c38c38f2014b5450c5fcba8"> 1134</a></span><span class="keywordtype">char</span>* <a class="code hl_function" href="group__stats.html#gacb42dede4c38c38f2014b5450c5fcba8">mi_heap_stats_get_json</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <span class="keywordtype">size_t</span> buf_size, <span class="keywordtype">char</span>* buf); <span class="comment">// use mi_free to free the result if the input buf == NULL</span></div>
<div class="line"><a id="l01135" name="l01135"></a><span class="lineno"> 1135</span> </div>
<div class="line"><a id="l01140" name="l01140"></a><span class="lineno"><a class="line" href="group__stats.html#gafea365d7842f5f5bc1f235bbc303d585"> 1140</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__stats.html#gafea365d7842f5f5bc1f235bbc303d585">mi_heap_stats_print_out</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap, <a class="code hl_typedef" href="group__extended.html#gadf31cea7d0332a81c8b882cbbdbadb8d">mi_output_fun</a>* out, <span class="keywordtype">void</span>* arg);</div>
<div class="line"><a id="l01141" name="l01141"></a><span class="lineno"> 1141</span> </div>
<div class="line"><a id="l01145" name="l01145"></a><span class="lineno"><a class="line" href="group__stats.html#ga5a34328f846c661aa560f4769cfc15f1"> 1145</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__stats.html#ga5a34328f846c661aa560f4769cfc15f1">mi_heap_stats_merge_to_subproc</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap);</div>
<div class="line"><a id="l01146" name="l01146"></a><span class="lineno"> 1146</span> </div>
<div class="line"><a id="l01153" name="l01153"></a><span class="lineno"><a class="line" href="group__stats.html#ga5ec3f9058eec804924711ab38ba64b51"> 1153</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="group__stats.html#ga5ec3f9058eec804924711ab38ba64b51">mi_subproc_stats_get</a>(<a class="code hl_typedef" href="group__subproc.html#ga8c0bcd1fee27c7641e9c3c0d991b3b7d">mi_subproc_id_t</a> subproc_id, mi_stats_t* stats);</div>
<div class="line"><a id="l01154" name="l01154"></a><span class="lineno"> 1154</span> </div>
<div class="line"><a id="l01161" name="l01161"></a><span class="lineno"><a class="line" href="group__stats.html#gad1cf918f08b6506e65ae134423477a0b"> 1161</a></span><span class="keywordtype">char</span>* <a class="code hl_function" href="group__stats.html#gad1cf918f08b6506e65ae134423477a0b">mi_subproc_stats_get_json</a>(<a class="code hl_typedef" href="group__subproc.html#ga8c0bcd1fee27c7641e9c3c0d991b3b7d">mi_subproc_id_t</a> subproc_id, <span class="keywordtype">size_t</span> buf_size, <span class="keywordtype">char</span>* buf); <span class="comment">// use mi_free to free the result if the input buf == NULL</span></div>
<div class="line"><a id="l01162" name="l01162"></a><span class="lineno"> 1162</span> </div>
<div class="line"><a id="l01167" name="l01167"></a><span class="lineno"><a class="line" href="group__stats.html#ga59ec89969837db414a6bce8b58915624"> 1167</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__stats.html#ga59ec89969837db414a6bce8b58915624">mi_subproc_stats_print_out</a>(<a class="code hl_typedef" href="group__subproc.html#ga8c0bcd1fee27c7641e9c3c0d991b3b7d">mi_subproc_id_t</a> subproc_id, <a class="code hl_typedef" href="group__extended.html#gadf31cea7d0332a81c8b882cbbdbadb8d">mi_output_fun</a>* out, <span class="keywordtype">void</span>* arg);</div>
<div class="line"><a id="l01168" name="l01168"></a><span class="lineno"> 1168</span> </div>
<div class="line"><a id="l01169" name="l01169"></a><span class="lineno"> 1169</span> </div>
<div class="line"><a id="l01174" name="l01174"></a><span class="lineno"><a class="line" href="group__stats.html#ga19f1a04bd972e11e4f3b586f25229d5b"> 1174</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__stats.html#ga19f1a04bd972e11e4f3b586f25229d5b">mi_subproc_heap_stats_print_out</a>(<a class="code hl_typedef" href="group__subproc.html#ga8c0bcd1fee27c7641e9c3c0d991b3b7d">mi_subproc_id_t</a> subproc_id, <a class="code hl_typedef" href="group__extended.html#gadf31cea7d0332a81c8b882cbbdbadb8d">mi_output_fun</a>* out, <span class="keywordtype">void</span>* arg);</div>
<div class="line"><a id="l01175" name="l01175"></a><span class="lineno"> 1175</span> </div>
<div class="line"><a id="l01182" name="l01182"></a><span class="lineno"><a class="line" href="group__stats.html#ga6ad266c70a0eabf6c26248aed1af6fa1"> 1182</a></span><span class="keywordtype">char</span>* <a class="code hl_function" href="group__stats.html#ga6ad266c70a0eabf6c26248aed1af6fa1">mi_stats_as_json</a>( mi_stats_t* stats, <span class="keywordtype">size_t</span> buf_size, <span class="keywordtype">char</span>* buf);</div>
<div class="line"><a id="l01183" name="l01183"></a><span class="lineno"> 1183</span> </div>
<div class="line"><a id="l01185" name="l01185"></a><span class="lineno"><a class="line" href="group__stats.html#ga3bb8468b8cfcc6e2a61d98aee85c5f99"> 1185</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__stats.html#ga3bb8468b8cfcc6e2a61d98aee85c5f99">mi_stats_reset</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l01186" name="l01186"></a><span class="lineno"> 1186</span> </div>
<div class="line"><a id="l01188" name="l01188"></a><span class="lineno"><a class="line" href="group__stats.html#ga854b1de8cb067c7316286c28b2fcd3d1"> 1188</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__stats.html#ga854b1de8cb067c7316286c28b2fcd3d1">mi_stats_merge</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l01189" name="l01189"></a><span class="lineno"> 1189</span> </div>
<div class="line"><a id="l01191" name="l01191"></a><span class="lineno"> 1191</span> </div>
<div class="line"><a id="l01192" name="l01192"></a><span class="lineno"> 1192</span><span class="comment">// ------------------------------------------------------</span></div>
<div class="line"><a id="l01193" name="l01193"></a><span class="lineno"> 1193</span><span class="comment">// Runtime Options</span></div>
<div class="line"><a id="l01194" name="l01194"></a><span class="lineno"> 1194</span><span class="comment">// ------------------------------------------------------</span></div>
<div class="line"><a id="l01195" name="l01195"></a><span class="lineno"> 1195</span> </div>
<div class="line"><a id="l01200" name="l01200"></a><span class="lineno"> 1200</span> </div>
<div class="line"><a id="l01203" name="l01203"></a><span class="lineno"><a class="line" href="group__options.html#gaecfcd3ed90af99932670d881de1fa8f1"> 1203</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__options.html#gaecfcd3ed90af99932670d881de1fa8f1">mi_options_print</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l01204" name="l01204"></a><span class="lineno"> 1204</span> </div>
<div class="line"><a id="l01210" name="l01210"></a><span class="lineno"><a class="line" href="group__options.html#ga1dd50c7533baec4cc6c1a2e9adf05dd2"> 1210</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__options.html#ga1dd50c7533baec4cc6c1a2e9adf05dd2">mi_options_print_out</a>(<a class="code hl_typedef" href="group__extended.html#gadf31cea7d0332a81c8b882cbbdbadb8d">mi_output_fun</a>* out, <span class="keywordtype">void</span>* arg);</div>
<div class="line"><a id="l01211" name="l01211"></a><span class="lineno"> 1211</span> </div>
<div class="line"><a id="l01212" name="l01212"></a><span class="lineno"> 1212</span> </div>
<div class="foldopen" id="foldopen01214" data-start="{" data-end="};">
<div class="line"><a id="l01214" name="l01214"></a><span class="lineno"><a class="line" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c"> 1214</a></span><span class="keyword">typedef</span> <span class="keyword">enum</span> mi_option_e {</div>
<div class="line"><a id="l01215" name="l01215"></a><span class="lineno"> 1215</span> <span class="comment">// stable options</span></div>
<div class="line"><a id="l01216" name="l01216"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884cafbf4822e5c00732c5984b32a032837f0"> 1216</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884cafbf4822e5c00732c5984b32a032837f0">mi_option_show_errors</a>, </div>
<div class="line"><a id="l01217" name="l01217"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca0957ef73b2550764b4840edf48422fda"> 1217</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca0957ef73b2550764b4840edf48422fda">mi_option_show_stats</a>, </div>
<div class="line"><a id="l01218" name="l01218"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca7c8b7bf5281c581bad64f5daa6442777"> 1218</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca7c8b7bf5281c581bad64f5daa6442777">mi_option_verbose</a>, </div>
<div class="line"><a id="l01219" name="l01219"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caec6ecbe29d46a48205ed8823a8a52a6a"> 1219</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caec6ecbe29d46a48205ed8823a8a52a6a">mi_option_max_errors</a>, </div>
<div class="line"><a id="l01220" name="l01220"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caf9595921087e942602ee079158762665"> 1220</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caf9595921087e942602ee079158762665">mi_option_max_warnings</a>, </div>
<div class="line"><a id="l01221" name="l01221"></a><span class="lineno"> 1221</span> </div>
<div class="line"><a id="l01222" name="l01222"></a><span class="lineno"> 1222</span> <span class="comment">// advanced options</span></div>
<div class="line"><a id="l01223" name="l01223"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caca7ed041be3b0b9d0b82432c7bf41af2"> 1223</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caca7ed041be3b0b9d0b82432c7bf41af2">mi_option_reserve_huge_os_pages</a>, </div>
<div class="line"><a id="l01224" name="l01224"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caa13e7926d4339d2aa6fbf61d4473fd5c"> 1224</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caa13e7926d4339d2aa6fbf61d4473fd5c">mi_option_reserve_huge_os_pages_at</a>, </div>
<div class="line"><a id="l01225" name="l01225"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884cafbf4999c828cf79a0fb2de65d23f7333"> 1225</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884cafbf4999c828cf79a0fb2de65d23f7333">mi_option_reserve_os_memory</a>, </div>
<div class="line"><a id="l01226" name="l01226"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca7cc4804ced69004fa42a9a136a9ba556"> 1226</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca7cc4804ced69004fa42a9a136a9ba556">mi_option_allow_large_os_pages</a>, </div>
<div class="line"><a id="l01227" name="l01227"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca9d15c5e3d2115eef681c17e4dd5ab9a4"> 1227</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca9d15c5e3d2115eef681c17e4dd5ab9a4">mi_option_purge_decommits</a>, </div>
<div class="line"><a id="l01228" name="l01228"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884cab1c88e23ae290bbeec824038a97959de"> 1228</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884cab1c88e23ae290bbeec824038a97959de">mi_option_arena_reserve</a>, </div>
<div class="line"><a id="l01229" name="l01229"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca4b74ae2a69e445de6c2361b73c1d14bf"> 1229</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca4b74ae2a69e445de6c2361b73c1d14bf">mi_option_os_tag</a>, </div>
<div class="line"><a id="l01230" name="l01230"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca8f51df355bf6651db899e6085b54865e"> 1230</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca8f51df355bf6651db899e6085b54865e">mi_option_retry_on_oom</a>, </div>
<div class="line"><a id="l01231" name="l01231"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca8b5815a577955fe8125f2b964f41ee7f"> 1231</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca8b5815a577955fe8125f2b964f41ee7f">mi_option_generic_collect</a>, </div>
<div class="line"><a id="l01232" name="l01232"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca04c45931ce2c82a20d08ca1471e74087"> 1232</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca04c45931ce2c82a20d08ca1471e74087">mi_option_allow_thp</a>, </div>
<div class="line"><a id="l01233" name="l01233"></a><span class="lineno"> 1233</span> </div>
<div class="line"><a id="l01234" name="l01234"></a><span class="lineno"> 1234</span> <span class="comment">// guard pages</span></div>
<div class="line"><a id="l01235" name="l01235"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca00734c528aae52784654a8db996ae62b"> 1235</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca00734c528aae52784654a8db996ae62b">mi_option_guarded_min</a>, </div>
<div class="line"><a id="l01236" name="l01236"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca96077da4e5c841edeec0c4d6e45a5ffa"> 1236</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca96077da4e5c841edeec0c4d6e45a5ffa">mi_option_guarded_max</a>, </div>
<div class="line"><a id="l01237" name="l01237"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca1eaf89bb1698f988cec27b66e546760c"> 1237</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca1eaf89bb1698f988cec27b66e546760c">mi_option_guarded_precise</a>, </div>
<div class="line"><a id="l01238" name="l01238"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caeb3c75b1a838eb42106750979d0888ec"> 1238</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caeb3c75b1a838eb42106750979d0888ec">mi_option_guarded_sample_rate</a>, </div>
<div class="line"><a id="l01239" name="l01239"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca7b1e41ece69f9abbe5ba81d9ea7a3dc0"> 1239</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca7b1e41ece69f9abbe5ba81d9ea7a3dc0">mi_option_guarded_sample_seed</a>, </div>
<div class="line"><a id="l01240" name="l01240"></a><span class="lineno"> 1240</span> </div>
<div class="line"><a id="l01241" name="l01241"></a><span class="lineno"> 1241</span> <span class="comment">// experimental options</span></div>
<div class="line"><a id="l01242" name="l01242"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca1e8de72c93da7ff22d91e1e27b52ac2b"> 1242</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca1e8de72c93da7ff22d91e1e27b52ac2b">mi_option_eager_commit</a>, </div>
<div class="line"><a id="l01243" name="l01243"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca17a190c25be381142d87e0468c4c068c"> 1243</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca17a190c25be381142d87e0468c4c068c">mi_option_eager_commit_delay</a>, </div>
<div class="line"><a id="l01244" name="l01244"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884cafd0c5ddbc4b59fd8b5216871728167a5"> 1244</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884cafd0c5ddbc4b59fd8b5216871728167a5">mi_option_arena_eager_commit</a>, </div>
<div class="line"><a id="l01245" name="l01245"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca11e62ed69200a489a5be955582078c0c"> 1245</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca11e62ed69200a489a5be955582078c0c">mi_option_abandoned_page_purge</a>, </div>
<div class="line"><a id="l01246" name="l01246"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884cadd351e615acd8563529c20a347be7290"> 1246</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884cadd351e615acd8563529c20a347be7290">mi_option_purge_delay</a>, </div>
<div class="line"><a id="l01247" name="l01247"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca0ac33a18f6b659fcfaf44efb0bab1b74"> 1247</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca0ac33a18f6b659fcfaf44efb0bab1b74">mi_option_use_numa_nodes</a>, </div>
<div class="line"><a id="l01248" name="l01248"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884cadcfb5a09580361b1be65901d2d812de6"> 1248</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884cadcfb5a09580361b1be65901d2d812de6">mi_option_disallow_os_alloc</a>, </div>
<div class="line"><a id="l01249" name="l01249"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caa9ad9005d7017c8c30ad2d6ba31db909"> 1249</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caa9ad9005d7017c8c30ad2d6ba31db909">mi_option_max_segment_reclaim</a>, </div>
<div class="line"><a id="l01250" name="l01250"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca6364331e305e7d3c0218b058ff3afc88"> 1250</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca6364331e305e7d3c0218b058ff3afc88">mi_option_destroy_on_exit</a>, </div>
<div class="line"><a id="l01251" name="l01251"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca8236501f1ab45d26e6fd885d191a2b5e"> 1251</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca8236501f1ab45d26e6fd885d191a2b5e">mi_option_arena_purge_mult</a>, </div>
<div class="line"><a id="l01252" name="l01252"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca009e4b5684922ce664d73d2a8e1698d9"> 1252</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca009e4b5684922ce664d73d2a8e1698d9">mi_option_abandoned_reclaim_on_free</a>, </div>
<div class="line"><a id="l01253" name="l01253"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca02005f164bdf03f5f00c5be726adf487"> 1253</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca02005f164bdf03f5f00c5be726adf487">mi_option_purge_extend_delay</a>, </div>
<div class="line"><a id="l01254" name="l01254"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caeae1696100e4057ffc4182730cc04e40"> 1254</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caeae1696100e4057ffc4182730cc04e40">mi_option_disallow_arena_alloc</a>, </div>
<div class="line"><a id="l01255" name="l01255"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca38c67733a3956a1f4eeaca89fab9e78e"> 1255</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca38c67733a3956a1f4eeaca89fab9e78e">mi_option_visit_abandoned</a>, </div>
<div class="line"><a id="l01256" name="l01256"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca874f36a7a1e51f7baee4a78b2830b643"> 1256</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca874f36a7a1e51f7baee4a78b2830b643">mi_option_target_segments_per_thread</a>, </div>
<div class="line"><a id="l01257" name="l01257"></a><span class="lineno"> 1257</span> </div>
<div class="line"><a id="l01258" name="l01258"></a><span class="lineno"> 1258</span> <span class="comment">// v3 options</span></div>
<div class="line"><a id="l01259" name="l01259"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884cac16e3f838e861338fb2357b430f6974c"> 1259</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884cac16e3f838e861338fb2357b430f6974c">mi_option_page_reclaim_on_free</a>, </div>
<div class="line"><a id="l01260" name="l01260"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caeede7d0652e391940357e1c054d29829"> 1260</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caeede7d0652e391940357e1c054d29829">mi_option_page_full_retain</a>, </div>
<div class="line"><a id="l01261" name="l01261"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884cad13382757101aa4fbc4984fa0f917133"> 1261</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884cad13382757101aa4fbc4984fa0f917133">mi_option_page_max_candidates</a>, </div>
<div class="line"><a id="l01262" name="l01262"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caabf8c9793d421ce28361b6d93c432de9"> 1262</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caabf8c9793d421ce28361b6d93c432de9">mi_option_max_vabits</a>, </div>
<div class="line"><a id="l01263" name="l01263"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caa88f56e3bccce85542dc2b3297024236"> 1263</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caa88f56e3bccce85542dc2b3297024236">mi_option_pagemap_commit</a>, </div>
<div class="line"><a id="l01264" name="l01264"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca679d9ee91221bffba4d5aafe488a8d7f"> 1264</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca679d9ee91221bffba4d5aafe488a8d7f">mi_option_page_commit_on_demand</a>, </div>
<div class="line"><a id="l01265" name="l01265"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca11a13739488294318ffc03eea378f5a4"> 1265</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca11a13739488294318ffc03eea378f5a4">mi_option_page_max_reclaim</a>, </div>
<div class="line"><a id="l01266" name="l01266"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca671e806447c15a53c7d593afdd8d45c5"> 1266</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca671e806447c15a53c7d593afdd8d45c5">mi_option_page_cross_thread_max_reclaim</a>, </div>
<div class="line"><a id="l01267" name="l01267"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca5635112095936356425d9a01910afff7"> 1267</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca5635112095936356425d9a01910afff7">mi_option_minimal_purge_size</a>, </div>
<div class="line"><a id="l01268" name="l01268"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca4dee58d60bc95ce0eeef759c61fd849b"> 1268</a></span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca4dee58d60bc95ce0eeef759c61fd849b">mi_option_arena_max_object_size</a>, </div>
<div class="line"><a id="l01269" name="l01269"></a><span class="lineno"> 1269</span> </div>
<div class="line"><a id="l01270" name="l01270"></a><span class="lineno"> 1270</span> <a class="code hl_enumvalue" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca5b4357b74be0d87568036c32eb1a2e4a">_mi_option_last</a></div>
<div class="line"><a id="l01271" name="l01271"></a><span class="lineno"><a class="line" href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca5b4357b74be0d87568036c32eb1a2e4a"> 1271</a></span>} <a class="code hl_enumeration" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a>;</div>
</div>
<div class="line"><a id="l01272" name="l01272"></a><span class="lineno"> 1272</span> </div>
<div class="line"><a id="l01273" name="l01273"></a><span class="lineno"> 1273</span> </div>
<div class="line"><a id="l01274" name="l01274"></a><span class="lineno"><a class="line" href="group__options.html#ga459ad98f18b3fc9275474807fe0ca188"> 1274</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="group__options.html#ga459ad98f18b3fc9275474807fe0ca188">mi_option_is_enabled</a>(<a class="code hl_enumeration" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> option);</div>
<div class="line"><a id="l01275" name="l01275"></a><span class="lineno"><a class="line" href="group__options.html#ga04180ae41b0d601421dd62ced40ca050"> 1275</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__options.html#ga04180ae41b0d601421dd62ced40ca050">mi_option_enable</a>(<a class="code hl_enumeration" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> option);</div>
<div class="line"><a id="l01276" name="l01276"></a><span class="lineno"><a class="line" href="group__options.html#gaebf6ff707a2e688ebb1a2296ca564054"> 1276</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__options.html#gaebf6ff707a2e688ebb1a2296ca564054">mi_option_disable</a>(<a class="code hl_enumeration" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> option);</div>
<div class="line"><a id="l01277" name="l01277"></a><span class="lineno"><a class="line" href="group__options.html#ga9a13d05fcb77489cb06d4d017ebd8bed"> 1277</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__options.html#ga9a13d05fcb77489cb06d4d017ebd8bed">mi_option_set_enabled</a>(<a class="code hl_enumeration" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> option, <span class="keywordtype">bool</span> enable);</div>
<div class="line"><a id="l01278" name="l01278"></a><span class="lineno"><a class="line" href="group__options.html#ga65518b69ec5d32336b50e07f74b3f629"> 1278</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__options.html#ga65518b69ec5d32336b50e07f74b3f629">mi_option_set_enabled_default</a>(<a class="code hl_enumeration" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> option, <span class="keywordtype">bool</span> enable);</div>
<div class="line"><a id="l01279" name="l01279"></a><span class="lineno"> 1279</span> </div>
<div class="line"><a id="l01280" name="l01280"></a><span class="lineno"><a class="line" href="group__options.html#ga7e8af195cc81d3fa64ccf2662caa565a"> 1280</a></span><span class="keywordtype">long</span> <a class="code hl_function" href="group__options.html#ga7e8af195cc81d3fa64ccf2662caa565a">mi_option_get</a>(<a class="code hl_enumeration" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> option);</div>
<div class="line"><a id="l01281" name="l01281"></a><span class="lineno"><a class="line" href="group__options.html#ga96ad9c406338bd314cfe878cfc9bf723"> 1281</a></span><span class="keywordtype">long</span> <a class="code hl_function" href="group__options.html#ga96ad9c406338bd314cfe878cfc9bf723">mi_option_get_clamp</a>(<a class="code hl_enumeration" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> option, <span class="keywordtype">long</span> min, <span class="keywordtype">long</span> max);</div>
<div class="line"><a id="l01282" name="l01282"></a><span class="lineno"><a class="line" href="group__options.html#ga274db5a6ac87cc24ef0b23e7006ed02c"> 1282</a></span><span class="keywordtype">size_t</span> <a class="code hl_function" href="group__options.html#ga274db5a6ac87cc24ef0b23e7006ed02c">mi_option_get_size</a>(<a class="code hl_enumeration" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> option);</div>
<div class="line"><a id="l01283" name="l01283"></a><span class="lineno"> 1283</span> </div>
<div class="line"><a id="l01284" name="l01284"></a><span class="lineno"><a class="line" href="group__options.html#gaf84921c32375e25754dc2ee6a911fa60"> 1284</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__options.html#gaf84921c32375e25754dc2ee6a911fa60">mi_option_set</a>(<a class="code hl_enumeration" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> option, <span class="keywordtype">long</span> value);</div>
<div class="line"><a id="l01285" name="l01285"></a><span class="lineno"><a class="line" href="group__options.html#ga7ef623e440e6e5545cb08c94e71e4b90"> 1285</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__options.html#ga7ef623e440e6e5545cb08c94e71e4b90">mi_option_set_default</a>(<a class="code hl_enumeration" href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> option, <span class="keywordtype">long</span> value);</div>
<div class="line"><a id="l01286" name="l01286"></a><span class="lineno"> 1286</span> </div>
<div class="line"><a id="l01288" name="l01288"></a><span class="lineno"> 1288</span> </div>
<div class="line"><a id="l01301" name="l01301"></a><span class="lineno"> 1301</span> </div>
<div class="line"><a id="l01303" name="l01303"></a><span class="lineno"> 1303</span><span class="keyword">struct </span>mi_theap_s;</div>
<div class="line"><a id="l01304" name="l01304"></a><span class="lineno"> 1304</span> </div>
<div class="line"><a id="l01306" name="l01306"></a><span class="lineno"><a class="line" href="group__theap.html#ga8722f6ac4f638b4692e06ddfddc844f8"> 1306</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span>mi_theap_s <a class="code hl_typedef" href="group__theap.html#ga8722f6ac4f638b4692e06ddfddc844f8">mi_theap_t</a>;</div>
<div class="line"><a id="l01307" name="l01307"></a><span class="lineno"> 1307</span> </div>
<div class="line"><a id="l01314" name="l01314"></a><span class="lineno"><a class="line" href="group__theap.html#ga7905a73865733da8a43339a500533180"> 1314</a></span><a class="code hl_typedef" href="group__theap.html#ga8722f6ac4f638b4692e06ddfddc844f8">mi_theap_t</a>* <a class="code hl_function" href="group__theap.html#ga7905a73865733da8a43339a500533180">mi_heap_theap</a>(<a class="code hl_typedef" href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a>* heap);</div>
<div class="line"><a id="l01315" name="l01315"></a><span class="lineno"> 1315</span> </div>
<div class="line"><a id="l01317" name="l01317"></a><span class="lineno"><a class="line" href="group__theap.html#ga9377a43095b8dd14996613ceb73d9a32"> 1317</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__theap.html#ga9377a43095b8dd14996613ceb73d9a32">mi_theap_collect</a>(<a class="code hl_typedef" href="group__theap.html#ga8722f6ac4f638b4692e06ddfddc844f8">mi_theap_t</a>* theap, <span class="keywordtype">bool</span> force);</div>
<div class="line"><a id="l01318" name="l01318"></a><span class="lineno"> 1318</span> </div>
<div class="line"><a id="l01323" name="l01323"></a><span class="lineno"><a class="line" href="group__theap.html#ga04420ce52785019412397e4de24a984a"> 1323</a></span><a class="code hl_typedef" href="group__theap.html#ga8722f6ac4f638b4692e06ddfddc844f8">mi_theap_t</a>* <a class="code hl_function" href="group__theap.html#ga04420ce52785019412397e4de24a984a">mi_theap_set_default</a>(<a class="code hl_typedef" href="group__theap.html#ga8722f6ac4f638b4692e06ddfddc844f8">mi_theap_t</a>* theap);</div>
<div class="line"><a id="l01324" name="l01324"></a><span class="lineno"> 1324</span> </div>
<div class="line"><a id="l01327" name="l01327"></a><span class="lineno"><a class="line" href="group__theap.html#ga78afbb07c1e0cd333c7539cf7403dfd5"> 1327</a></span><a class="code hl_typedef" href="group__theap.html#ga8722f6ac4f638b4692e06ddfddc844f8">mi_theap_t</a>* <a class="code hl_function" href="group__theap.html#ga78afbb07c1e0cd333c7539cf7403dfd5">mi_theap_get_default</a>();</div>
<div class="line"><a id="l01328" name="l01328"></a><span class="lineno"> 1328</span> </div>
<div class="line"><a id="l01331" name="l01331"></a><span class="lineno"><a class="line" href="group__theap.html#gac7308e029c59e6675dd5ab5ec54f304a"> 1331</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__theap.html#gac7308e029c59e6675dd5ab5ec54f304a">mi_theap_malloc</a>(<a class="code hl_typedef" href="group__theap.html#ga8722f6ac4f638b4692e06ddfddc844f8">mi_theap_t</a>* theap, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l01332" name="l01332"></a><span class="lineno"> 1332</span> </div>
<div class="line"><a id="l01336" name="l01336"></a><span class="lineno"><a class="line" href="group__theap.html#ga1fc65302a212daaecb21abda96ff247c"> 1336</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__theap.html#ga1fc65302a212daaecb21abda96ff247c">mi_theap_malloc_small</a>(<a class="code hl_typedef" href="group__theap.html#ga8722f6ac4f638b4692e06ddfddc844f8">mi_theap_t</a>* theap, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l01337" name="l01337"></a><span class="lineno"> 1337</span> </div>
<div class="line"><a id="l01340" name="l01340"></a><span class="lineno"><a class="line" href="group__theap.html#gaa7fd973dcd8c75eb05707bdeffbc06f7"> 1340</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__theap.html#gaa7fd973dcd8c75eb05707bdeffbc06f7">mi_theap_zalloc</a>(<a class="code hl_typedef" href="group__theap.html#ga8722f6ac4f638b4692e06ddfddc844f8">mi_theap_t</a>* theap, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l01341" name="l01341"></a><span class="lineno"> 1341</span> </div>
<div class="line"><a id="l01345" name="l01345"></a><span class="lineno"><a class="line" href="group__theap.html#gaa85fccf9d40af3e826c5932aded1d534"> 1345</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__theap.html#gaa85fccf9d40af3e826c5932aded1d534">mi_theap_zalloc_small</a>(<a class="code hl_typedef" href="group__theap.html#ga8722f6ac4f638b4692e06ddfddc844f8">mi_theap_t</a>* theap, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l01346" name="l01346"></a><span class="lineno"> 1346</span> </div>
<div class="line"><a id="l01347" name="l01347"></a><span class="lineno"><a class="line" href="group__theap.html#gadbf8f27bfe9edf7834e19d32cab63edc"> 1347</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__theap.html#gadbf8f27bfe9edf7834e19d32cab63edc">mi_theap_calloc</a>(<a class="code hl_typedef" href="group__theap.html#ga8722f6ac4f638b4692e06ddfddc844f8">mi_theap_t</a>* theap, <span class="keywordtype">size_t</span> count, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l01348" name="l01348"></a><span class="lineno"><a class="line" href="group__theap.html#ga84503fc2bd83fbfb7f789b7d80d76f36"> 1348</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__theap.html#ga84503fc2bd83fbfb7f789b7d80d76f36">mi_theap_malloc_aligned</a>(<a class="code hl_typedef" href="group__theap.html#ga8722f6ac4f638b4692e06ddfddc844f8">mi_theap_t</a>* theap, <span class="keywordtype">size_t</span> size, <span class="keywordtype">size_t</span> alignment);</div>
<div class="line"><a id="l01349" name="l01349"></a><span class="lineno"><a class="line" href="group__theap.html#ga11943128dc354313c4189e72f4299dbb"> 1349</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__theap.html#ga11943128dc354313c4189e72f4299dbb">mi_theap_realloc</a>(<a class="code hl_typedef" href="group__theap.html#ga8722f6ac4f638b4692e06ddfddc844f8">mi_theap_t</a>* theap, <span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> newsize);</div>
<div class="line"><a id="l01350" name="l01350"></a><span class="lineno"> 1350</span> </div>
<div class="line"><a id="l01352" name="l01352"></a><span class="lineno"> 1352</span> </div>
<div class="line"><a id="l01353" name="l01353"></a><span class="lineno"> 1353</span> </div>
<div class="line"><a id="l01359" name="l01359"></a><span class="lineno"> 1359</span> </div>
<div class="line"><a id="l01361" name="l01361"></a><span class="lineno"><a class="line" href="group__posix.html#ga705dc7a64bffacfeeb0141501a5c35d7"> 1361</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__posix.html#ga705dc7a64bffacfeeb0141501a5c35d7">mi_cfree</a>(<span class="keywordtype">void</span>* p);</div>
<div class="line"><a id="l01362" name="l01362"></a><span class="lineno"><a class="line" href="group__posix.html#ga66bcfeb4faedbb42b796bc680821ef84"> 1362</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__posix.html#ga66bcfeb4faedbb42b796bc680821ef84">mi__expand</a>(<span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> newsize);</div>
<div class="line"><a id="l01363" name="l01363"></a><span class="lineno"> 1363</span> </div>
<div class="line"><a id="l01364" name="l01364"></a><span class="lineno"><a class="line" href="group__posix.html#ga4531c9e775bb3ae12db57c1ba8a5d7de"> 1364</a></span><span class="keywordtype">size_t</span> <a class="code hl_function" href="group__posix.html#ga4531c9e775bb3ae12db57c1ba8a5d7de">mi_malloc_size</a>(<span class="keyword">const</span> <span class="keywordtype">void</span>* p);</div>
<div class="line"><a id="l01365" name="l01365"></a><span class="lineno"><a class="line" href="group__posix.html#ga9d23ac7885fed7413c11d8e0ffa31071"> 1365</a></span><span class="keywordtype">size_t</span> <a class="code hl_function" href="group__posix.html#ga9d23ac7885fed7413c11d8e0ffa31071">mi_malloc_good_size</a>(<span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l01366" name="l01366"></a><span class="lineno"><a class="line" href="group__posix.html#ga06d07cf357bbac5c73ba5d0c0c421e17"> 1366</a></span><span class="keywordtype">size_t</span> <a class="code hl_function" href="group__posix.html#ga06d07cf357bbac5c73ba5d0c0c421e17">mi_malloc_usable_size</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *p);</div>
<div class="line"><a id="l01367" name="l01367"></a><span class="lineno"> 1367</span> </div>
<div class="line"><a id="l01368" name="l01368"></a><span class="lineno"><a class="line" href="group__posix.html#gacff84f226ba9feb2031b8992e5579447"> 1368</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="group__posix.html#gacff84f226ba9feb2031b8992e5579447">mi_posix_memalign</a>(<span class="keywordtype">void</span>** p, <span class="keywordtype">size_t</span> alignment, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l01369" name="l01369"></a><span class="lineno"><a class="line" href="group__posix.html#gad5a69c8fea96aa2b7a7c818c2130090a"> 1369</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="group__posix.html#gad5a69c8fea96aa2b7a7c818c2130090a">mi__posix_memalign</a>(<span class="keywordtype">void</span>** p, <span class="keywordtype">size_t</span> alignment, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l01370" name="l01370"></a><span class="lineno"><a class="line" href="group__posix.html#ga726867f13fd29ca36064954c0285b1d8"> 1370</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__posix.html#ga726867f13fd29ca36064954c0285b1d8">mi_memalign</a>(<span class="keywordtype">size_t</span> alignment, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l01371" name="l01371"></a><span class="lineno"><a class="line" href="group__posix.html#ga50cafb9722020402f065de93799f64ca"> 1371</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__posix.html#ga50cafb9722020402f065de93799f64ca">mi_valloc</a>(<span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l01372" name="l01372"></a><span class="lineno"><a class="line" href="group__posix.html#ga644bebccdbb2821542dd8c7e7641f476"> 1372</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__posix.html#ga644bebccdbb2821542dd8c7e7641f476">mi_pvalloc</a>(<span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l01373" name="l01373"></a><span class="lineno"><a class="line" href="group__posix.html#ga430ed1513f0571ff83be00ec58a98ee0"> 1373</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__posix.html#ga430ed1513f0571ff83be00ec58a98ee0">mi_aligned_alloc</a>(<span class="keywordtype">size_t</span> alignment, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l01374" name="l01374"></a><span class="lineno"> 1374</span> </div>
<div class="line"><a id="l01375" name="l01375"></a><span class="lineno"><a class="line" href="group__posix.html#gaa9fd7f25c9ac3a20e89b33bd6e383fcf"> 1375</a></span><span class="keywordtype">unsigned</span> <span class="keywordtype">short</span>* <a class="code hl_function" href="group__posix.html#gaa9fd7f25c9ac3a20e89b33bd6e383fcf">mi_wcsdup</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span>* s);</div>
<div class="line"><a id="l01376" name="l01376"></a><span class="lineno"><a class="line" href="group__posix.html#ga7b82a44094fdec4d2084eb4288a979b0"> 1376</a></span><span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* <a class="code hl_function" href="group__posix.html#ga7b82a44094fdec4d2084eb4288a979b0">mi_mbsdup</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* s);</div>
<div class="line"><a id="l01377" name="l01377"></a><span class="lineno"><a class="line" href="group__posix.html#gab41369c1a1da7504013a7a0b1d4dd958"> 1377</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="group__posix.html#gab41369c1a1da7504013a7a0b1d4dd958">mi_dupenv_s</a>(<span class="keywordtype">char</span>** buf, <span class="keywordtype">size_t</span>* size, <span class="keyword">const</span> <span class="keywordtype">char</span>* name);</div>
<div class="line"><a id="l01378" name="l01378"></a><span class="lineno"><a class="line" href="group__posix.html#ga6ac6a6a8f3c96f1af24bb8d0439cbbd1"> 1378</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="group__posix.html#ga6ac6a6a8f3c96f1af24bb8d0439cbbd1">mi_wdupenv_s</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span>** buf, <span class="keywordtype">size_t</span>* size, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span>* name);</div>
<div class="line"><a id="l01379" name="l01379"></a><span class="lineno"> 1379</span> </div>
<div class="line"><a id="l01382" name="l01382"></a><span class="lineno"><a class="line" href="group__posix.html#gadfeccb72748a2f6305474a37d9d57bce"> 1382</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__posix.html#gadfeccb72748a2f6305474a37d9d57bce">mi_reallocarray</a>(<span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> count, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l01383" name="l01383"></a><span class="lineno"> 1383</span> </div>
<div class="line"><a id="l01385" name="l01385"></a><span class="lineno"><a class="line" href="group__posix.html#ga7e1934d60a3e697950eeb48e042bfad5"> 1385</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="group__posix.html#ga7e1934d60a3e697950eeb48e042bfad5">mi_reallocarr</a>(<span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> count, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l01386" name="l01386"></a><span class="lineno"> 1386</span> </div>
<div class="line"><a id="l01387" name="l01387"></a><span class="lineno"><a class="line" href="group__posix.html#gaf82cbb4b4f24acf723348628451798d3"> 1387</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__posix.html#gaf82cbb4b4f24acf723348628451798d3">mi_aligned_recalloc</a>(<span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> newcount, <span class="keywordtype">size_t</span> size, <span class="keywordtype">size_t</span> alignment);</div>
<div class="line"><a id="l01388" name="l01388"></a><span class="lineno"><a class="line" href="group__posix.html#ga16570deddd559001b44953eedbad0084"> 1388</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__posix.html#ga16570deddd559001b44953eedbad0084">mi_aligned_offset_recalloc</a>(<span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> newcount, <span class="keywordtype">size_t</span> size, <span class="keywordtype">size_t</span> alignment, <span class="keywordtype">size_t</span> offset);</div>
<div class="line"><a id="l01389" name="l01389"></a><span class="lineno"> 1389</span> </div>
<div class="line"><a id="l01390" name="l01390"></a><span class="lineno"><a class="line" href="group__posix.html#gae01389eedab8d67341ff52e2aad80ebb"> 1390</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__posix.html#gae01389eedab8d67341ff52e2aad80ebb">mi_free_size</a>(<span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l01391" name="l01391"></a><span class="lineno"><a class="line" href="group__posix.html#ga72e9d7ffb5fe94d69bc722c8506e27bc"> 1391</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__posix.html#ga72e9d7ffb5fe94d69bc722c8506e27bc">mi_free_size_aligned</a>(<span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> size, <span class="keywordtype">size_t</span> alignment);</div>
<div class="line"><a id="l01392" name="l01392"></a><span class="lineno"><a class="line" href="group__posix.html#ga0d28d5cf61e6bfbb18c63092939fe5c9"> 1392</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__posix.html#ga0d28d5cf61e6bfbb18c63092939fe5c9">mi_free_aligned</a>(<span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> alignment);</div>
<div class="line"><a id="l01393" name="l01393"></a><span class="lineno"> 1393</span> </div>
<div class="line"><a id="l01395" name="l01395"></a><span class="lineno"> 1395</span> </div>
<div class="line"><a id="l01408" name="l01408"></a><span class="lineno"> 1408</span> </div>
<div class="line"><a id="l01410" name="l01410"></a><span class="lineno"><a class="line" href="group__cpp.html#ga633d96e3bc7011f960df9f3b2731fc6a"> 1410</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__cpp.html#ga633d96e3bc7011f960df9f3b2731fc6a">mi_new</a>(std::size_t n) <span class="keyword">noexcept</span>(<span class="keyword">false</span>);</div>
<div class="line"><a id="l01411" name="l01411"></a><span class="lineno"> 1411</span> </div>
<div class="line"><a id="l01413" name="l01413"></a><span class="lineno"><a class="line" href="group__cpp.html#gadd11b85c15d21d308386844b5233856c"> 1413</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__cpp.html#gadd11b85c15d21d308386844b5233856c">mi_new_n</a>(<span class="keywordtype">size_t</span> count, <span class="keywordtype">size_t</span> size) <span class="keyword">noexcept</span>(<span class="keyword">false</span>);</div>
<div class="line"><a id="l01414" name="l01414"></a><span class="lineno"> 1414</span> </div>
<div class="line"><a id="l01416" name="l01416"></a><span class="lineno"><a class="line" href="group__cpp.html#ga79c54da0b4b4ce9fcc11d2f6ef6675f8"> 1416</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__cpp.html#ga79c54da0b4b4ce9fcc11d2f6ef6675f8">mi_new_aligned</a>(std::size_t n, std::align_val_t alignment) <span class="keyword">noexcept</span>(<span class="keyword">false</span>);</div>
<div class="line"><a id="l01417" name="l01417"></a><span class="lineno"> 1417</span> </div>
<div class="line"><a id="l01419" name="l01419"></a><span class="lineno"><a class="line" href="group__cpp.html#ga5cb4f120d1f7296074256215aa9a9e54"> 1419</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__cpp.html#ga5cb4f120d1f7296074256215aa9a9e54">mi_new_nothrow</a>(<span class="keywordtype">size_t</span> n);</div>
<div class="line"><a id="l01420" name="l01420"></a><span class="lineno"> 1420</span> </div>
<div class="line"><a id="l01422" name="l01422"></a><span class="lineno"><a class="line" href="group__cpp.html#ga92ae00b6dd64406c7e64557711ec04b7"> 1422</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__cpp.html#ga92ae00b6dd64406c7e64557711ec04b7">mi_new_aligned_nothrow</a>(<span class="keywordtype">size_t</span> n, <span class="keywordtype">size_t</span> alignment);</div>
<div class="line"><a id="l01423" name="l01423"></a><span class="lineno"> 1423</span> </div>
<div class="line"><a id="l01425" name="l01425"></a><span class="lineno"><a class="line" href="group__cpp.html#ga6867d89baf992728e0cc20a1f47db4d0"> 1425</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__cpp.html#ga6867d89baf992728e0cc20a1f47db4d0">mi_new_realloc</a>(<span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> newsize);</div>
<div class="line"><a id="l01426" name="l01426"></a><span class="lineno"> 1426</span> </div>
<div class="line"><a id="l01428" name="l01428"></a><span class="lineno"><a class="line" href="group__cpp.html#gaace912ce086682d56f3ce9f7638d9d67"> 1428</a></span><span class="keywordtype">void</span>* <a class="code hl_function" href="group__cpp.html#gaace912ce086682d56f3ce9f7638d9d67">mi_new_reallocn</a>(<span class="keywordtype">void</span>* p, <span class="keywordtype">size_t</span> newcount, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l01429" name="l01429"></a><span class="lineno"> 1429</span> </div>
<div class="line"><a id="l01437" name="l01437"></a><span class="lineno"><a class="line" href="group__cpp.html"> 1437</a></span><span class="keyword">template</span><<span class="keyword">class</span> T> <span class="keyword">struct </span><a class="code hl_struct" href="group__cpp.html#structmi__stl__allocator">mi_stl_allocator</a> { }</div>
<div class="line"><a id="l01438" name="l01438"></a><span class="lineno"> 1438</span> </div>
<div class="line"><a id="l01440" name="l01440"></a><span class="lineno"> 1440</span> </div>
<div class="ttc" id="agroup__aligned_html_ga2022f71b95a7cd6cce1b6e07752ae8ca"><div class="ttname"><a href="group__aligned.html#ga2022f71b95a7cd6cce1b6e07752ae8ca">mi_malloc_aligned_at</a></div><div class="ttdeci">void * mi_malloc_aligned_at(size_t size, size_t alignment, size_t offset)</div><div class="ttdoc">Allocate size bytes aligned by alignment at a specified offset.</div></div>
<div class="ttc" id="agroup__aligned_html_ga424ef386fb1f9f8e0a86ab53f16eaaf1"><div class="ttname"><a href="group__aligned.html#ga424ef386fb1f9f8e0a86ab53f16eaaf1">mi_calloc_aligned</a></div><div class="ttdeci">void * mi_calloc_aligned(size_t count, size_t size, size_t alignment)</div></div>
<div class="ttc" id="agroup__aligned_html_ga5d7a46d054b4d7abe9d8d2474add2edf"><div class="ttname"><a href="group__aligned.html#ga5d7a46d054b4d7abe9d8d2474add2edf">mi_realloc_aligned</a></div><div class="ttdeci">void * mi_realloc_aligned(void *p, size_t newsize, size_t alignment)</div></div>
<div class="ttc" id="agroup__aligned_html_ga69578ff1a98ca16e1dcd02c0995cd65c"><div class="ttname"><a href="group__aligned.html#ga69578ff1a98ca16e1dcd02c0995cd65c">mi_malloc_aligned</a></div><div class="ttdeci">void * mi_malloc_aligned(size_t size, size_t alignment)</div><div class="ttdoc">Allocate size bytes aligned by alignment.</div></div>
<div class="ttc" id="agroup__aligned_html_ga7c1778805ce50ebbf02ccbd5e39d5dba"><div class="ttname"><a href="group__aligned.html#ga7c1778805ce50ebbf02ccbd5e39d5dba">mi_zalloc_aligned_at</a></div><div class="ttdeci">void * mi_zalloc_aligned_at(size_t size, size_t alignment, size_t offset)</div></div>
<div class="ttc" id="agroup__aligned_html_ga977f96bd2c5c141bcd70e6685c90d6c3"><div class="ttname"><a href="group__aligned.html#ga977f96bd2c5c141bcd70e6685c90d6c3">mi_calloc_aligned_at</a></div><div class="ttdeci">void * mi_calloc_aligned_at(size_t count, size_t size, size_t alignment, size_t offset)</div></div>
<div class="ttc" id="agroup__aligned_html_gaac7d0beb782f9b9ac31f47492b130f82"><div class="ttname"><a href="group__aligned.html#gaac7d0beb782f9b9ac31f47492b130f82">mi_zalloc_aligned</a></div><div class="ttdeci">void * mi_zalloc_aligned(size_t size, size_t alignment)</div></div>
<div class="ttc" id="agroup__aligned_html_gad06dcf2bb8faadb2c8ea61ee5d24bbf6"><div class="ttname"><a href="group__aligned.html#gad06dcf2bb8faadb2c8ea61ee5d24bbf6">mi_realloc_aligned_at</a></div><div class="ttdeci">void * mi_realloc_aligned_at(void *p, size_t newsize, size_t alignment, size_t offset)</div></div>
<div class="ttc" id="agroup__analysis_html_a2b7a0c92ece8daf46b558efc990ebdc1"><div class="ttname"><a href="group__analysis.html#a2b7a0c92ece8daf46b558efc990ebdc1">mi_heap_area_t::heap_tag</a></div><div class="ttdeci">int heap_tag</div><div class="ttdoc">heap tag associated with this area (see mi_heap_new_ex)</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:639</div></div>
<div class="ttc" id="agroup__analysis_html_a332a6c14d736a99699d5453a1cb04b41"><div class="ttname"><a href="group__analysis.html#a332a6c14d736a99699d5453a1cb04b41">mi_heap_area_t::block_size</a></div><div class="ttdeci">size_t block_size</div><div class="ttdoc">size in bytes of one block</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:637</div></div>
<div class="ttc" id="agroup__analysis_html_ab47526df656d8837ec3e97f11b83f835"><div class="ttname"><a href="group__analysis.html#ab47526df656d8837ec3e97f11b83f835">mi_heap_area_t::committed</a></div><div class="ttdeci">size_t committed</div><div class="ttdoc">current committed bytes of this area</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:635</div></div>
<div class="ttc" id="agroup__analysis_html_ab53664e31d7fe2564f8d42041ef75cb3"><div class="ttname"><a href="group__analysis.html#ab53664e31d7fe2564f8d42041ef75cb3">mi_heap_area_t::full_block_size</a></div><div class="ttdeci">size_t full_block_size</div><div class="ttdoc">size in bytes of a full block including padding and metadata.</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:638</div></div>
<div class="ttc" id="agroup__analysis_html_ab820302c5cd0df133eb8e51650a008b4"><div class="ttname"><a href="group__analysis.html#ab820302c5cd0df133eb8e51650a008b4">mi_heap_area_t::used</a></div><div class="ttdeci">size_t used</div><div class="ttdoc">bytes in use by allocated blocks</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:636</div></div>
<div class="ttc" id="agroup__analysis_html_ae0085e6e1cf059a4eb7767e30e9991b8"><div class="ttname"><a href="group__analysis.html#ae0085e6e1cf059a4eb7767e30e9991b8">mi_heap_area_t::blocks</a></div><div class="ttdeci">void * blocks</div><div class="ttdoc">start of the area containing heap blocks</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:633</div></div>
<div class="ttc" id="agroup__analysis_html_ae848a3e6840414891035423948ca0383"><div class="ttname"><a href="group__analysis.html#ae848a3e6840414891035423948ca0383">mi_heap_area_t::reserved</a></div><div class="ttdeci">size_t reserved</div><div class="ttdoc">bytes reserved for this area</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:634</div></div>
<div class="ttc" id="agroup__analysis_html_ga6a4865a887b2ec5247854af61562503c"><div class="ttname"><a href="group__analysis.html#ga6a4865a887b2ec5247854af61562503c">mi_abandoned_visit_blocks</a></div><div class="ttdeci">bool mi_abandoned_visit_blocks(mi_subproc_id_t subproc_id, int heap_tag, bool visit_blocks, mi_block_visit_fun *visitor, void *arg)</div><div class="ttdoc">v1,v2: Visit all areas and blocks in abandoned heaps.</div></div>
<div class="ttc" id="agroup__analysis_html_ga8255dc9371e6b299d9802a610c4e34ec"><div class="ttname"><a href="group__analysis.html#ga8255dc9371e6b299d9802a610c4e34ec">mi_block_visit_fun</a></div><div class="ttdeci">bool mi_block_visit_fun(const mi_heap_t *heap, const mi_heap_area_t *area, void *block, size_t block_size, void *arg)</div><div class="ttdoc">Visitor function passed to mi_heap_visit_blocks()</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:649</div></div>
<div class="ttc" id="agroup__analysis_html_gae69fcff3324f8e419af850e34cf54c46"><div class="ttname"><a href="group__analysis.html#gae69fcff3324f8e419af850e34cf54c46">mi_heap_visit_blocks</a></div><div class="ttdeci">bool mi_heap_visit_blocks(const mi_heap_t *heap, bool visit_blocks, mi_block_visit_fun *visitor, void *arg)</div><div class="ttdoc">Visit all areas and blocks in a heap.</div></div>
<div class="ttc" id="agroup__analysis_html_structmi__heap__area__t"><div class="ttname"><a href="group__analysis.html#structmi__heap__area__t">mi_heap_area_t</a></div><div class="ttdoc">An area of heap space contains blocks of a single size.</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:632</div></div>
<div class="ttc" id="agroup__arenas_html_ga00ec3324b6b2591c7fe3677baa30a767"><div class="ttname"><a href="group__arenas.html#ga00ec3324b6b2591c7fe3677baa30a767">mi_reserve_os_memory</a></div><div class="ttdeci">int mi_reserve_os_memory(size_t size, bool commit, bool allow_large)</div><div class="ttdoc">Reserve OS memory for use by mimalloc.</div></div>
<div class="ttc" id="agroup__arenas_html_ga3132f521fb756fc0e8ec0b74fb58df50"><div class="ttname"><a href="group__arenas.html#ga3132f521fb756fc0e8ec0b74fb58df50">mi_reserve_huge_os_pages_interleave</a></div><div class="ttdeci">int mi_reserve_huge_os_pages_interleave(size_t pages, size_t numa_nodes, size_t timeout_msecs)</div><div class="ttdoc">Reserve pages of huge OS pages (1GiB) evenly divided over numa_nodes nodes, but stops after at most t...</div></div>
<div class="ttc" id="agroup__arenas_html_ga32f519797fd9a81acb4f52d36e6d751b"><div class="ttname"><a href="group__arenas.html#ga32f519797fd9a81acb4f52d36e6d751b">mi_reserve_os_memory_ex</a></div><div class="ttdeci">int mi_reserve_os_memory_ex(size_t size, bool commit, bool allow_large, bool exclusive, mi_arena_id_t *arena_id)</div><div class="ttdoc">Reserve OS memory to be managed in an arena.</div></div>
<div class="ttc" id="agroup__arenas_html_ga3ae360583f4351aa5267ee7e43008faf"><div class="ttname"><a href="group__arenas.html#ga3ae360583f4351aa5267ee7e43008faf">mi_heap_new_ex</a></div><div class="ttdeci">mi_heap_t * mi_heap_new_ex(int heap_tag, bool allow_destroy, mi_arena_id_t arena_id)</div><div class="ttdoc">v1,v2: Create a new heap.</div></div>
<div class="ttc" id="agroup__arenas_html_ga41ce8525d77bbb60f618fa1029994f6e"><div class="ttname"><a href="group__arenas.html#ga41ce8525d77bbb60f618fa1029994f6e">mi_manage_os_memory_ex</a></div><div class="ttdeci">bool mi_manage_os_memory_ex(void *start, size_t size, bool is_committed, bool is_large, bool is_zero, int numa_node, bool exclusive, mi_arena_id_t *arena_id)</div><div class="ttdoc">Manage externally allocated memory as a mimalloc arena.</div></div>
<div class="ttc" id="agroup__arenas_html_ga4c6486a1fdcd7a423b5f25fe4be8e0cf"><div class="ttname"><a href="group__arenas.html#ga4c6486a1fdcd7a423b5f25fe4be8e0cf">mi_manage_os_memory</a></div><div class="ttdeci">bool mi_manage_os_memory(void *start, size_t size, bool is_committed, bool is_large, bool is_zero, int numa_node)</div><div class="ttdoc">Manage a particular memory area for use by mimalloc.</div></div>
<div class="ttc" id="agroup__arenas_html_ga591aab1c2bc2ca920e33f0f9f9cb5c52"><div class="ttname"><a href="group__arenas.html#ga591aab1c2bc2ca920e33f0f9f9cb5c52">mi_reserve_huge_os_pages_at_ex</a></div><div class="ttdeci">int mi_reserve_huge_os_pages_at_ex(size_t pages, int numa_node, size_t timeout_msecs, bool exclusive, mi_arena_id_t *arena_id)</div><div class="ttdoc">Reserve huge OS pages (1GiB) into a single arena.</div></div>
<div class="ttc" id="agroup__arenas_html_ga7795a13d20087447281858d2c771cca1"><div class="ttname"><a href="group__arenas.html#ga7795a13d20087447281858d2c771cca1">mi_reserve_huge_os_pages_at</a></div><div class="ttdeci">int mi_reserve_huge_os_pages_at(size_t pages, int numa_node, size_t timeout_msecs)</div><div class="ttdoc">Reserve pages of huge OS pages (1GiB) at a specific numa_node, but stops after at most timeout_msecs ...</div></div>
<div class="ttc" id="agroup__arenas_html_ga98cda17aa7adeda8b213382af8e7810b"><div class="ttname"><a href="group__arenas.html#ga98cda17aa7adeda8b213382af8e7810b">mi_debug_show_arenas</a></div><div class="ttdeci">void mi_debug_show_arenas(void)</div><div class="ttdoc">Show all current arena's.</div></div>
<div class="ttc" id="agroup__arenas_html_ga99fe38650d0b02e0e0f89ee024db91d3"><div class="ttname"><a href="group__arenas.html#ga99fe38650d0b02e0e0f89ee024db91d3">mi_arena_id_t</a></div><div class="ttdeci">int mi_arena_id_t</div><div class="ttdoc">Each arena has an associated identifier.</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:699</div></div>
<div class="ttc" id="agroup__arenas_html_ga9a25a00a22151619a0be91a10af7787f"><div class="ttname"><a href="group__arenas.html#ga9a25a00a22151619a0be91a10af7787f">mi_arena_area</a></div><div class="ttdeci">void * mi_arena_area(mi_arena_id_t arena_id, size_t *size)</div><div class="ttdoc">Return the start and size of an arena.</div></div>
<div class="ttc" id="agroup__arenas_html_gaa1a59464dbf3bc972d34fca0f86668fc"><div class="ttname"><a href="group__arenas.html#gaa1a59464dbf3bc972d34fca0f86668fc">mi_arena_min_alignment</a></div><div class="ttdeci">size_t mi_arena_min_alignment(void)</div><div class="ttdoc">Return the minimal alignment required for managed OS memory.</div></div>
<div class="ttc" id="agroup__arenas_html_gaaf2d9976576d5efd5544be12848af949"><div class="ttname"><a href="group__arenas.html#gaaf2d9976576d5efd5544be12848af949">mi_heap_new_in_arena</a></div><div class="ttdeci">mi_heap_t * mi_heap_new_in_arena(mi_arena_id_t arena_id)</div><div class="ttdoc">Create a new heap that only allocates in the specified arena.</div></div>
<div class="ttc" id="agroup__cpp_html_ga5cb4f120d1f7296074256215aa9a9e54"><div class="ttname"><a href="group__cpp.html#ga5cb4f120d1f7296074256215aa9a9e54">mi_new_nothrow</a></div><div class="ttdeci">void * mi_new_nothrow(size_t n)</div><div class="ttdoc">like mi_malloc, but when out of memory, use std::get_new_handler but return NULL on failure.</div></div>
<div class="ttc" id="agroup__cpp_html_ga633d96e3bc7011f960df9f3b2731fc6a"><div class="ttname"><a href="group__cpp.html#ga633d96e3bc7011f960df9f3b2731fc6a">mi_new</a></div><div class="ttdeci">void * mi_new(std::size_t n) noexcept(false)</div><div class="ttdoc">like mi_malloc(), but when out of memory, use std::get_new_handler and raise std::bad_alloc exception...</div></div>
<div class="ttc" id="agroup__cpp_html_ga6867d89baf992728e0cc20a1f47db4d0"><div class="ttname"><a href="group__cpp.html#ga6867d89baf992728e0cc20a1f47db4d0">mi_new_realloc</a></div><div class="ttdeci">void * mi_new_realloc(void *p, size_t newsize)</div><div class="ttdoc">like mi_realloc(), but when out of memory, use std::get_new_handler and raise std::bad_alloc exceptio...</div></div>
<div class="ttc" id="agroup__cpp_html_ga79c54da0b4b4ce9fcc11d2f6ef6675f8"><div class="ttname"><a href="group__cpp.html#ga79c54da0b4b4ce9fcc11d2f6ef6675f8">mi_new_aligned</a></div><div class="ttdeci">void * mi_new_aligned(std::size_t n, std::align_val_t alignment) noexcept(false)</div><div class="ttdoc">like mi_malloc_aligned(), but when out of memory, use std::get_new_handler and raise std::bad_alloc e...</div></div>
<div class="ttc" id="agroup__cpp_html_ga92ae00b6dd64406c7e64557711ec04b7"><div class="ttname"><a href="group__cpp.html#ga92ae00b6dd64406c7e64557711ec04b7">mi_new_aligned_nothrow</a></div><div class="ttdeci">void * mi_new_aligned_nothrow(size_t n, size_t alignment)</div><div class="ttdoc">like mi_malloc_aligned, but when out of memory, use std::get_new_handler but return NULL on failure.</div></div>
<div class="ttc" id="agroup__cpp_html_gaace912ce086682d56f3ce9f7638d9d67"><div class="ttname"><a href="group__cpp.html#gaace912ce086682d56f3ce9f7638d9d67">mi_new_reallocn</a></div><div class="ttdeci">void * mi_new_reallocn(void *p, size_t newcount, size_t size)</div><div class="ttdoc">like mi_reallocn(), but when out of memory, use std::get_new_handler and raise std::bad_alloc excepti...</div></div>
<div class="ttc" id="agroup__cpp_html_gadd11b85c15d21d308386844b5233856c"><div class="ttname"><a href="group__cpp.html#gadd11b85c15d21d308386844b5233856c">mi_new_n</a></div><div class="ttdeci">void * mi_new_n(size_t count, size_t size) noexcept(false)</div><div class="ttdoc">like mi_mallocn(), but when out of memory, use std::get_new_handler and raise std::bad_alloc exceptio...</div></div>
<div class="ttc" id="agroup__cpp_html_structmi__stl__allocator"><div class="ttname"><a href="group__cpp.html#structmi__stl__allocator">mi_stl_allocator</a></div><div class="ttdoc">std::allocator implementation for mimalloc for use in STL containers. For example:</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1437</div></div>
<div class="ttc" id="agroup__extended_html_ga0ae4581e85453456a0d658b2b98bf7bf"><div class="ttname"><a href="group__extended.html#ga0ae4581e85453456a0d658b2b98bf7bf">mi_thread_done</a></div><div class="ttdeci">void mi_thread_done(void)</div><div class="ttdoc">Uninitialize mimalloc on a thread.</div></div>
<div class="ttc" id="agroup__extended_html_ga292a45f7dbc7cd23c5352ce1f0002816"><div class="ttname"><a href="group__extended.html#ga292a45f7dbc7cd23c5352ce1f0002816">mi_deferred_free_fun</a></div><div class="ttdeci">void mi_deferred_free_fun(bool force, unsigned long long heartbeat, void *arg)</div><div class="ttdoc">Type of deferred free functions.</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:933</div></div>
<div class="ttc" id="agroup__extended_html_ga2a8469764c38dcaf878f36e5f50e3610"><div class="ttname"><a href="group__extended.html#ga2a8469764c38dcaf878f36e5f50e3610">mi_free_small</a></div><div class="ttdeci">void mi_free_small(void *p)</div><div class="ttdoc">v3: Can be used to free an object that was allocated with mi_malloc_small et al.</div></div>
<div class="ttc" id="agroup__extended_html_ga3460a6ca91af97be4058f523d3cb8ece"><div class="ttname"><a href="group__extended.html#ga3460a6ca91af97be4058f523d3cb8ece">mi_register_deferred_free</a></div><div class="ttdeci">void mi_register_deferred_free(mi_deferred_free_fun *deferred_free, void *arg)</div><div class="ttdoc">Register a deferred free function.</div></div>
<div class="ttc" id="agroup__extended_html_ga421430e2226d7d468529cec457396756"><div class="ttname"><a href="group__extended.html#ga421430e2226d7d468529cec457396756">mi_collect</a></div><div class="ttdeci">void mi_collect(bool force)</div><div class="ttdoc">Eagerly free memory.</div></div>
<div class="ttc" id="agroup__extended_html_ga51c47637e81df0e2f13a2d7a2dec123e"><div class="ttname"><a href="group__extended.html#ga51c47637e81df0e2f13a2d7a2dec123e">mi_zalloc_small</a></div><div class="ttdeci">void * mi_zalloc_small(size_t size)</div><div class="ttdoc">Allocate a zero initialized small object.</div></div>
<div class="ttc" id="agroup__extended_html_ga7f050bc6b897da82692174f5fce59cde"><div class="ttname"><a href="group__extended.html#ga7f050bc6b897da82692174f5fce59cde">mi_malloc_small</a></div><div class="ttdeci">void * mi_malloc_small(size_t size)</div><div class="ttdoc">Allocate a small object.</div></div>
<div class="ttc" id="agroup__extended_html_ga83fc6a688b322261e1c2deab000b0591"><div class="ttname"><a href="group__extended.html#ga83fc6a688b322261e1c2deab000b0591">mi_error_fun</a></div><div class="ttdeci">void mi_error_fun(int err, void *arg)</div><div class="ttdoc">Type of error callback functions.</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:972</div></div>
<div class="ttc" id="agroup__extended_html_gaa1d55e0e894be240827e5d87ec3a1f45"><div class="ttname"><a href="group__extended.html#gaa1d55e0e894be240827e5d87ec3a1f45">mi_register_error</a></div><div class="ttdeci">void mi_register_error(mi_error_fun *errfun, void *arg)</div><div class="ttdoc">Register an error callback function.</div></div>
<div class="ttc" id="agroup__extended_html_gaad25050b19f30cd79397b227e0157a3f"><div class="ttname"><a href="group__extended.html#gaad25050b19f30cd79397b227e0157a3f">mi_is_redirected</a></div><div class="ttdeci">bool mi_is_redirected()</div><div class="ttdoc">Is the C runtime malloc API redirected?</div></div>
<div class="ttc" id="agroup__extended_html_gada899104276aac52539eb4de7c020f1f"><div class="ttname"><a href="group__extended.html#gada899104276aac52539eb4de7c020f1f">mi_thread_set_in_threadpool</a></div><div class="ttdeci">void mi_thread_set_in_threadpool(void)</div><div class="ttdoc">v3: Communicate that a thread is in a threadpool.</div></div>
<div class="ttc" id="agroup__extended_html_gadf31cea7d0332a81c8b882cbbdbadb8d"><div class="ttname"><a href="group__extended.html#gadf31cea7d0332a81c8b882cbbdbadb8d">mi_output_fun</a></div><div class="ttdeci">void mi_output_fun(const char *msg, void *arg)</div><div class="ttdoc">Type of output functions.</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:957</div></div>
<div class="ttc" id="agroup__extended_html_gae5b17ff027cd2150b43a33040250cf3f"><div class="ttname"><a href="group__extended.html#gae5b17ff027cd2150b43a33040250cf3f">mi_register_output</a></div><div class="ttdeci">void mi_register_output(mi_output_fun *out, void *arg)</div><div class="ttdoc">Register an output function.</div></div>
<div class="ttc" id="agroup__extended_html_gae9ddddcf14a58d0224ef3c8778e5b057"><div class="ttname"><a href="group__extended.html#gae9ddddcf14a58d0224ef3c8778e5b057">mi_version</a></div><div class="ttdeci">int mi_version(void)</div><div class="ttdoc">Return the mimalloc version.</div></div>
<div class="ttc" id="agroup__extended_html_gaf8e73efc2cbca9ebfdfb166983a04c17"><div class="ttname"><a href="group__extended.html#gaf8e73efc2cbca9ebfdfb166983a04c17">mi_thread_init</a></div><div class="ttdeci">void mi_thread_init(void)</div><div class="ttdoc">Initialize mimalloc on a thread.</div></div>
<div class="ttc" id="agroup__heap_html_ga012c5c8abe22b10043de39ff95909541"><div class="ttname"><a href="group__heap.html#ga012c5c8abe22b10043de39ff95909541">mi_heap_malloc_small</a></div><div class="ttdeci">void * mi_heap_malloc_small(mi_heap_t *heap, size_t size)</div><div class="ttdoc">Allocate a small object in a specific heap.</div></div>
<div class="ttc" id="agroup__heap_html_ga0994f44cc595f9c1840a9af162d98597"><div class="ttname"><a href="group__heap.html#ga0994f44cc595f9c1840a9af162d98597">mi_heap_zalloc_small</a></div><div class="ttdeci">void * mi_heap_zalloc_small(mi_heap_t *heap, size_t size)</div><div class="ttdoc">Allocate a small object in a specific heap.</div></div>
<div class="ttc" id="agroup__heap_html_ga0d67c1789faaa15ff366c024fcaf6377"><div class="ttname"><a href="group__heap.html#ga0d67c1789faaa15ff366c024fcaf6377">mi_heap_check_owned</a></div><div class="ttdeci">bool mi_heap_check_owned(mi_heap_t *heap, const void *p)</div><div class="ttdoc">v1,v2: Check safely if any pointer is part of a heap.</div></div>
<div class="ttc" id="agroup__heap_html_ga14c667a6e2c5d28762d8cb7d4e057909"><div class="ttname"><a href="group__heap.html#ga14c667a6e2c5d28762d8cb7d4e057909">mi_heap_get_default</a></div><div class="ttdeci">mi_heap_t * mi_heap_get_default()</div><div class="ttdoc">v1,v2: Get the default heap that is used for mi_malloc() et al.</div></div>
<div class="ttc" id="agroup__heap_html_ga29589f427702a1b873de8efb884a611b"><div class="ttname"><a href="group__heap.html#ga29589f427702a1b873de8efb884a611b">mi_any_heap_contains</a></div><div class="ttdeci">bool mi_any_heap_contains(const void *p)</div><div class="ttdoc">v3: is a pointer pointing into mimalloc managed memory?</div></div>
<div class="ttc" id="agroup__heap_html_ga2ab1af8d438819b55319c7ef51d1e409"><div class="ttname"><a href="group__heap.html#ga2ab1af8d438819b55319c7ef51d1e409">mi_heap_delete</a></div><div class="ttdeci">void mi_heap_delete(mi_heap_t *heap)</div><div class="ttdoc">Delete a previously allocated heap.</div></div>
<div class="ttc" id="agroup__heap_html_ga33f4f05b7fea7af2113c62a4bf882cc5"><div class="ttname"><a href="group__heap.html#ga33f4f05b7fea7af2113c62a4bf882cc5">mi_heap_malloc_aligned</a></div><div class="ttdeci">void * mi_heap_malloc_aligned(mi_heap_t *heap, size_t size, size_t alignment)</div></div>
<div class="ttc" id="agroup__heap_html_ga349b677dec7da5eacdbc7a385bd62a4a"><div class="ttname"><a href="group__heap.html#ga349b677dec7da5eacdbc7a385bd62a4a">mi_heap_set_default</a></div><div class="ttdeci">mi_heap_t * mi_heap_set_default(mi_heap_t *heap)</div><div class="ttdoc">v1,v2: Set the default heap to use in the current thread for mi_malloc() et al.</div></div>
<div class="ttc" id="agroup__heap_html_ga34a47cde5a5b38c29f1aa3c5e76943c2"><div class="ttname"><a href="group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2">mi_heap_t</a></div><div class="ttdeci">struct mi_heap_s mi_heap_t</div><div class="ttdoc">Type of first-class heaps.</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:465</div></div>
<div class="ttc" id="agroup__heap_html_ga424b69f285109b2515631d59f5eecb1b"><div class="ttname"><a href="group__heap.html#ga424b69f285109b2515631d59f5eecb1b">mi_heap_of</a></div><div class="ttdeci">mi_heap_t * mi_heap_of(const void *p)</div><div class="ttdoc">v3: return the heap that contains the given pointer.</div></div>
<div class="ttc" id="agroup__heap_html_ga484e3d01cd174f78c7e53370e5a7c819"><div class="ttname"><a href="group__heap.html#ga484e3d01cd174f78c7e53370e5a7c819">mi_heap_zalloc_aligned_at</a></div><div class="ttdeci">void * mi_heap_zalloc_aligned_at(mi_heap_t *heap, size_t size, size_t alignment, size_t offset)</div></div>
<div class="ttc" id="agroup__heap_html_ga55545a3ec6da29c5b4f62e540ecac1e2"><div class="ttname"><a href="group__heap.html#ga55545a3ec6da29c5b4f62e540ecac1e2">mi_heap_realpath</a></div><div class="ttdeci">char * mi_heap_realpath(mi_heap_t *heap, const char *fname, char *resolved_name)</div><div class="ttdoc">Resolve a file path name using a specific heap to allocate the result.</div></div>
<div class="ttc" id="agroup__heap_html_ga5754e09ccc51dd6bc73885bb6ea21b7a"><div class="ttname"><a href="group__heap.html#ga5754e09ccc51dd6bc73885bb6ea21b7a">mi_heap_strdup</a></div><div class="ttdeci">char * mi_heap_strdup(mi_heap_t *heap, const char *s)</div><div class="ttdoc">Duplicate a string in a specific heap.</div></div>
<div class="ttc" id="agroup__heap_html_ga5f071b10d4df1c3658e04e7fd67a94e6"><div class="ttname"><a href="group__heap.html#ga5f071b10d4df1c3658e04e7fd67a94e6">mi_is_in_heap_region</a></div><div class="ttdeci">bool mi_is_in_heap_region(const void *p)</div><div class="ttdoc">v1,v2: Is a pointer part of our heap?</div></div>
<div class="ttc" id="agroup__heap_html_ga628c237489c2679af84a4d0d143b3dd5"><div class="ttname"><a href="group__heap.html#ga628c237489c2679af84a4d0d143b3dd5">mi_check_owned</a></div><div class="ttdeci">bool mi_check_owned(const void *p)</div><div class="ttdoc">v1,v2: Check if any pointer is part of the default heap of this thread.</div></div>
<div class="ttc" id="agroup__heap_html_ga6466bde8b5712aa34e081a8317f9f471"><div class="ttname"><a href="group__heap.html#ga6466bde8b5712aa34e081a8317f9f471">mi_heap_zalloc_aligned</a></div><div class="ttdeci">void * mi_heap_zalloc_aligned(mi_heap_t *heap, size_t size, size_t alignment)</div></div>
<div class="ttc" id="agroup__heap_html_ga6df988a7219d5707f010d5f3eb0dc3f5"><div class="ttname"><a href="group__heap.html#ga6df988a7219d5707f010d5f3eb0dc3f5">mi_heap_realloc_aligned_at</a></div><div class="ttdeci">void * mi_heap_realloc_aligned_at(mi_heap_t *heap, void *p, size_t newsize, size_t alignment, size_t offset)</div></div>
<div class="ttc" id="agroup__heap_html_ga7922f7495cde30b1984d0e6072419298"><div class="ttname"><a href="group__heap.html#ga7922f7495cde30b1984d0e6072419298">mi_heap_collect</a></div><div class="ttdeci">void mi_heap_collect(mi_heap_t *heap, bool force)</div><div class="ttdoc">Release outstanding resources in a specific heap.</div></div>
<div class="ttc" id="agroup__heap_html_ga8fc318a65dc79ee8778c6a0e52d12477"><div class="ttname"><a href="group__heap.html#ga8fc318a65dc79ee8778c6a0e52d12477">mi_heap_main</a></div><div class="ttdeci">mi_heap_t * mi_heap_main(void)</div><div class="ttdoc">v3: the main heap (of the current sub-process)</div></div>
<div class="ttc" id="agroup__heap_html_ga9f9c0844edb9717f4feacd79116b8e0d"><div class="ttname"><a href="group__heap.html#ga9f9c0844edb9717f4feacd79116b8e0d">mi_heap_destroy</a></div><div class="ttdeci">void mi_heap_destroy(mi_heap_t *heap)</div><div class="ttdoc">Destroy a heap, freeing all its still allocated blocks.</div></div>
<div class="ttc" id="agroup__heap_html_gaa42ec2079989c4374f2c331d9b35f4e4"><div class="ttname"><a href="group__heap.html#gaa42ec2079989c4374f2c331d9b35f4e4">mi_heap_calloc_aligned_at</a></div><div class="ttdeci">void * mi_heap_calloc_aligned_at(mi_heap_t *heap, size_t count, size_t size, size_t alignment, size_t offset)</div></div>
<div class="ttc" id="agroup__heap_html_gaa718bb226ec0546ba6d1b6cb32179f3a"><div class="ttname"><a href="group__heap.html#gaa718bb226ec0546ba6d1b6cb32179f3a">mi_heap_new</a></div><div class="ttdeci">mi_heap_t * mi_heap_new()</div><div class="ttdoc">Create a new heap that can be used for allocation.</div></div>
<div class="ttc" id="agroup__heap_html_gaa862aa8ed8d57d84cae41fc1022d71af"><div class="ttname"><a href="group__heap.html#gaa862aa8ed8d57d84cae41fc1022d71af">mi_heap_contains_block</a></div><div class="ttdeci">bool mi_heap_contains_block(mi_heap_t *heap, const void *p)</div><div class="ttdoc">v1,v2: Does a heap contain a pointer to a previously allocated block?</div></div>
<div class="ttc" id="agroup__heap_html_gaab93abbc0624f570e2900f95cac18591"><div class="ttname"><a href="group__heap.html#gaab93abbc0624f570e2900f95cac18591">mi_heap_set_numa_affinity</a></div><div class="ttdeci">void mi_heap_set_numa_affinity(mi_heap_t *heap, int numa_node)</div><div class="ttdoc">v3: set NUMA affinity for a heap.</div></div>
<div class="ttc" id="agroup__heap_html_gab0f755c0b21c387fe8e9024200faa372"><div class="ttname"><a href="group__heap.html#gab0f755c0b21c387fe8e9024200faa372">mi_heap_mallocn</a></div><div class="ttdeci">void * mi_heap_mallocn(mi_heap_t *heap, size_t count, size_t size)</div><div class="ttdoc">Allocate count elements in a specific heap.</div></div>
<div class="ttc" id="agroup__heap_html_gab374e206c7034e0d899fb934e4f4a863"><div class="ttname"><a href="group__heap.html#gab374e206c7034e0d899fb934e4f4a863">mi_heap_malloc</a></div><div class="ttdeci">void * mi_heap_malloc(mi_heap_t *heap, size_t size)</div><div class="ttdoc">Allocate in a specific heap.</div></div>
<div class="ttc" id="agroup__heap_html_gabebc796399619d964d8db77aa835e8c1"><div class="ttname"><a href="group__heap.html#gabebc796399619d964d8db77aa835e8c1">mi_heap_zalloc</a></div><div class="ttdeci">void * mi_heap_zalloc(mi_heap_t *heap, size_t size)</div><div class="ttdoc">Allocate zero-initialized in a specific heap.</div></div>
<div class="ttc" id="agroup__heap_html_gac0098aaf231d3e9586c73136d5df95da"><div class="ttname"><a href="group__heap.html#gac0098aaf231d3e9586c73136d5df95da">mi_heap_calloc</a></div><div class="ttdeci">void * mi_heap_calloc(mi_heap_t *heap, size_t count, size_t size)</div><div class="ttdoc">Allocate count zero-initialized elements in a specific heap.</div></div>
<div class="ttc" id="agroup__heap_html_gac5252d6a2e510bd349e4fcb452e6a93a"><div class="ttname"><a href="group__heap.html#gac5252d6a2e510bd349e4fcb452e6a93a">mi_heap_realloc</a></div><div class="ttdeci">void * mi_heap_realloc(mi_heap_t *heap, void *p, size_t newsize)</div></div>
<div class="ttc" id="agroup__heap_html_gac6ac9f0e7be9ab4ff70acfc8dad1235a"><div class="ttname"><a href="group__heap.html#gac6ac9f0e7be9ab4ff70acfc8dad1235a">mi_heap_get_backing</a></div><div class="ttdeci">mi_heap_t * mi_heap_get_backing()</div><div class="ttdoc">v1,v2: Get the backing heap.</div></div>
<div class="ttc" id="agroup__heap_html_gac988496aea8ffc5c8bf92a8b10165fa0"><div class="ttname"><a href="group__heap.html#gac988496aea8ffc5c8bf92a8b10165fa0">mi_heap_contains</a></div><div class="ttdeci">bool mi_heap_contains(const mi_heap_t *heap, const void *p)</div><div class="ttdoc">v3: does a heap contain a specific pointer?</div></div>
<div class="ttc" id="agroup__heap_html_gacafcc26df827c7a7de5e850217566108"><div class="ttname"><a href="group__heap.html#gacafcc26df827c7a7de5e850217566108">mi_heap_calloc_aligned</a></div><div class="ttdeci">void * mi_heap_calloc_aligned(mi_heap_t *heap, size_t count, size_t size, size_t alignment)</div></div>
<div class="ttc" id="agroup__heap_html_gaccf7bfe10ce510a000d3547d9cf7fa29"><div class="ttname"><a href="group__heap.html#gaccf7bfe10ce510a000d3547d9cf7fa29">mi_heap_reallocn</a></div><div class="ttdeci">void * mi_heap_reallocn(mi_heap_t *heap, void *p, size_t count, size_t size)</div></div>
<div class="ttc" id="agroup__heap_html_gaccf8c249872f30bf1c2493a09197d734"><div class="ttname"><a href="group__heap.html#gaccf8c249872f30bf1c2493a09197d734">mi_heap_realloc_aligned</a></div><div class="ttdeci">void * mi_heap_realloc_aligned(mi_heap_t *heap, void *p, size_t newsize, size_t alignment)</div></div>
<div class="ttc" id="agroup__heap_html_gad224df78f1fbee942df8adf023e12cf3"><div class="ttname"><a href="group__heap.html#gad224df78f1fbee942df8adf023e12cf3">mi_heap_strndup</a></div><div class="ttdeci">char * mi_heap_strndup(mi_heap_t *heap, const char *s, size_t n)</div><div class="ttdoc">Duplicate a string of at most length n in a specific heap.</div></div>
<div class="ttc" id="agroup__heap_html_gae7cd171425bee04c683c65a3701f0b4a"><div class="ttname"><a href="group__heap.html#gae7cd171425bee04c683c65a3701f0b4a">mi_heap_reallocf</a></div><div class="ttdeci">void * mi_heap_reallocf(mi_heap_t *heap, void *p, size_t newsize)</div></div>
<div class="ttc" id="agroup__heap_html_gae7ffc045c3996497a7f3a5f6fe7b8aaa"><div class="ttname"><a href="group__heap.html#gae7ffc045c3996497a7f3a5f6fe7b8aaa">mi_heap_malloc_aligned_at</a></div><div class="ttdeci">void * mi_heap_malloc_aligned_at(mi_heap_t *heap, size_t size, size_t alignment, size_t offset)</div></div>
<div class="ttc" id="agroup__malloc_html_ga0621af6a5e3aa384e6a1b548958bf583"><div class="ttname"><a href="group__malloc.html#ga0621af6a5e3aa384e6a1b548958bf583">mi_realloc</a></div><div class="ttdeci">void * mi_realloc(void *p, size_t newsize)</div><div class="ttdoc">Re-allocate memory to newsize bytes.</div></div>
<div class="ttc" id="agroup__malloc_html_ga089c859d9eddc5f9b4bd946cd53cebee"><div class="ttname"><a href="group__malloc.html#ga089c859d9eddc5f9b4bd946cd53cebee">mi_usable_size</a></div><div class="ttdeci">size_t mi_usable_size(void *p)</div><div class="ttdoc">Return the available bytes in a memory block.</div></div>
<div class="ttc" id="agroup__malloc_html_ga19299856216cfbb08e2628593654dfb0"><div class="ttname"><a href="group__malloc.html#ga19299856216cfbb08e2628593654dfb0">mi_expand</a></div><div class="ttdeci">void * mi_expand(void *p, size_t newsize)</div><div class="ttdoc">Try to re-allocate memory to newsize bytes in place.</div></div>
<div class="ttc" id="agroup__malloc_html_ga245ac90ebc2cfdd17de599e5fea59889"><div class="ttname"><a href="group__malloc.html#ga245ac90ebc2cfdd17de599e5fea59889">mi_strdup</a></div><div class="ttdeci">char * mi_strdup(const char *s)</div><div class="ttdoc">Allocate and duplicate a string.</div></div>
<div class="ttc" id="agroup__malloc_html_ga486d0d26b3b3794f6d1cdb41a9aed92d"><div class="ttname"><a href="group__malloc.html#ga486d0d26b3b3794f6d1cdb41a9aed92d">mi_strndup</a></div><div class="ttdeci">char * mi_strndup(const char *s, size_t n)</div><div class="ttdoc">Allocate and duplicate a string up to n bytes.</div></div>
<div class="ttc" id="agroup__malloc_html_ga4dc3a4067037b151a64629fe8a332641"><div class="ttname"><a href="group__malloc.html#ga4dc3a4067037b151a64629fe8a332641">mi_reallocf</a></div><div class="ttdeci">void * mi_reallocf(void *p, size_t newsize)</div><div class="ttdoc">Re-allocate memory to newsize bytes,.</div></div>
<div class="ttc" id="agroup__malloc_html_ga61f46bade3db76ca24aaafedc40de7b6"><div class="ttname"><a href="group__malloc.html#ga61f46bade3db76ca24aaafedc40de7b6">mi_mallocn</a></div><div class="ttdeci">void * mi_mallocn(size_t count, size_t size)</div><div class="ttdoc">Allocate count elements of size bytes.</div></div>
<div class="ttc" id="agroup__malloc_html_ga6686568014b54d1e6c7ac64a076e4f56"><div class="ttname"><a href="group__malloc.html#ga6686568014b54d1e6c7ac64a076e4f56">mi_calloc</a></div><div class="ttdeci">void * mi_calloc(size_t count, size_t size)</div><div class="ttdoc">Allocate zero-initialized count elements of size bytes.</div></div>
<div class="ttc" id="agroup__malloc_html_ga8bddfb4a1270a0854bbcf44cb3980467"><div class="ttname"><a href="group__malloc.html#ga8bddfb4a1270a0854bbcf44cb3980467">mi_reallocn</a></div><div class="ttdeci">void * mi_reallocn(void *p, size_t count, size_t size)</div><div class="ttdoc">Re-allocate memory to count elements of size bytes.</div></div>
<div class="ttc" id="agroup__malloc_html_ga94c3afcc086e85d75a57e9f76b9b71dd"><div class="ttname"><a href="group__malloc.html#ga94c3afcc086e85d75a57e9f76b9b71dd">mi_realpath</a></div><div class="ttdeci">char * mi_realpath(const char *fname, char *resolved_name)</div><div class="ttdoc">Resolve a file path name.</div></div>
<div class="ttc" id="agroup__malloc_html_gac057927cd06c854b45fe7847e921bd47"><div class="ttname"><a href="group__malloc.html#gac057927cd06c854b45fe7847e921bd47">mi_good_size</a></div><div class="ttdeci">size_t mi_good_size(size_t size)</div><div class="ttdoc">Return the probable allocation block size for a given required size.</div></div>
<div class="ttc" id="agroup__malloc_html_gae1dd97b542420c87ae085e822b1229e8"><div class="ttname"><a href="group__malloc.html#gae1dd97b542420c87ae085e822b1229e8">mi_malloc</a></div><div class="ttdeci">void * mi_malloc(size_t size)</div><div class="ttdoc">Allocate size bytes.</div></div>
<div class="ttc" id="agroup__malloc_html_gae6e38c4403247a7b40d80419e093bfb8"><div class="ttname"><a href="group__malloc.html#gae6e38c4403247a7b40d80419e093bfb8">mi_zalloc</a></div><div class="ttdeci">void * mi_zalloc(size_t size)</div><div class="ttdoc">Allocate zero-initialized size bytes.</div></div>
<div class="ttc" id="agroup__malloc_html_gaf2c7b89c327d1f60f59e68b9ea644d95"><div class="ttname"><a href="group__malloc.html#gaf2c7b89c327d1f60f59e68b9ea644d95">mi_free</a></div><div class="ttdeci">void mi_free(void *p)</div><div class="ttdoc">Free previously allocated memory.</div></div>
<div class="ttc" id="agroup__options_html_ga04180ae41b0d601421dd62ced40ca050"><div class="ttname"><a href="group__options.html#ga04180ae41b0d601421dd62ced40ca050">mi_option_enable</a></div><div class="ttdeci">void mi_option_enable(mi_option_t option)</div></div>
<div class="ttc" id="agroup__options_html_ga1dd50c7533baec4cc6c1a2e9adf05dd2"><div class="ttname"><a href="group__options.html#ga1dd50c7533baec4cc6c1a2e9adf05dd2">mi_options_print_out</a></div><div class="ttdeci">void mi_options_print_out(mi_output_fun *out, void *arg)</div><div class="ttdoc">Print out all process info.</div></div>
<div class="ttc" id="agroup__options_html_ga274db5a6ac87cc24ef0b23e7006ed02c"><div class="ttname"><a href="group__options.html#ga274db5a6ac87cc24ef0b23e7006ed02c">mi_option_get_size</a></div><div class="ttdeci">size_t mi_option_get_size(mi_option_t option)</div></div>
<div class="ttc" id="agroup__options_html_ga459ad98f18b3fc9275474807fe0ca188"><div class="ttname"><a href="group__options.html#ga459ad98f18b3fc9275474807fe0ca188">mi_option_is_enabled</a></div><div class="ttdeci">bool mi_option_is_enabled(mi_option_t option)</div></div>
<div class="ttc" id="agroup__options_html_ga65518b69ec5d32336b50e07f74b3f629"><div class="ttname"><a href="group__options.html#ga65518b69ec5d32336b50e07f74b3f629">mi_option_set_enabled_default</a></div><div class="ttdeci">void mi_option_set_enabled_default(mi_option_t option, bool enable)</div></div>
<div class="ttc" id="agroup__options_html_ga7e8af195cc81d3fa64ccf2662caa565a"><div class="ttname"><a href="group__options.html#ga7e8af195cc81d3fa64ccf2662caa565a">mi_option_get</a></div><div class="ttdeci">long mi_option_get(mi_option_t option)</div></div>
<div class="ttc" id="agroup__options_html_ga7ef623e440e6e5545cb08c94e71e4b90"><div class="ttname"><a href="group__options.html#ga7ef623e440e6e5545cb08c94e71e4b90">mi_option_set_default</a></div><div class="ttdeci">void mi_option_set_default(mi_option_t option, long value)</div></div>
<div class="ttc" id="agroup__options_html_ga96ad9c406338bd314cfe878cfc9bf723"><div class="ttname"><a href="group__options.html#ga96ad9c406338bd314cfe878cfc9bf723">mi_option_get_clamp</a></div><div class="ttdeci">long mi_option_get_clamp(mi_option_t option, long min, long max)</div></div>
<div class="ttc" id="agroup__options_html_ga9a13d05fcb77489cb06d4d017ebd8bed"><div class="ttname"><a href="group__options.html#ga9a13d05fcb77489cb06d4d017ebd8bed">mi_option_set_enabled</a></div><div class="ttdeci">void mi_option_set_enabled(mi_option_t option, bool enable)</div></div>
<div class="ttc" id="agroup__options_html_gaebf6ff707a2e688ebb1a2296ca564054"><div class="ttname"><a href="group__options.html#gaebf6ff707a2e688ebb1a2296ca564054">mi_option_disable</a></div><div class="ttdeci">void mi_option_disable(mi_option_t option)</div></div>
<div class="ttc" id="agroup__options_html_gaecfcd3ed90af99932670d881de1fa8f1"><div class="ttname"><a href="group__options.html#gaecfcd3ed90af99932670d881de1fa8f1">mi_options_print</a></div><div class="ttdeci">void mi_options_print(void)</div><div class="ttdoc">Print out all runtime parameters for mimalloc. Also printed with MIMALLOC_VERBOSE=1 at startup.</div></div>
<div class="ttc" id="agroup__options_html_gaf84921c32375e25754dc2ee6a911fa60"><div class="ttname"><a href="group__options.html#gaf84921c32375e25754dc2ee6a911fa60">mi_option_set</a></div><div class="ttdeci">void mi_option_set(mi_option_t option, long value)</div></div>
<div class="ttc" id="agroup__options_html_gafebf7ed116adb38ae5218bc3ce06884c"><div class="ttname"><a href="group__options.html#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a></div><div class="ttdeci">mi_option_t</div><div class="ttdoc">Runtime options.</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1214</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884ca00734c528aae52784654a8db996ae62b"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca00734c528aae52784654a8db996ae62b">mi_option_guarded_min</a></div><div class="ttdeci">@ mi_option_guarded_min</div><div class="ttdoc">only used when building with MI_GUARDED: minimal rounded object size for guarded objects (=0)</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1235</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884ca009e4b5684922ce664d73d2a8e1698d9"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca009e4b5684922ce664d73d2a8e1698d9">mi_option_abandoned_reclaim_on_free</a></div><div class="ttdeci">@ mi_option_abandoned_reclaim_on_free</div><div class="ttdoc">v1,v2: allow to reclaim an abandoned segment on a free (=1)</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1252</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884ca02005f164bdf03f5f00c5be726adf487"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca02005f164bdf03f5f00c5be726adf487">mi_option_purge_extend_delay</a></div><div class="ttdeci">@ mi_option_purge_extend_delay</div><div class="ttdoc">v1,v2: extend purge delay on each subsequent delay (=1)</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1253</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884ca04c45931ce2c82a20d08ca1471e74087"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca04c45931ce2c82a20d08ca1471e74087">mi_option_allow_thp</a></div><div class="ttdeci">@ mi_option_allow_thp</div><div class="ttdoc">allow transparent huge pages? (=1) (on Android =0 by default). Set to 0 to disable THP for the proces...</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1232</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884ca0957ef73b2550764b4840edf48422fda"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca0957ef73b2550764b4840edf48422fda">mi_option_show_stats</a></div><div class="ttdeci">@ mi_option_show_stats</div><div class="ttdoc">Print statistics on termination.</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1217</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884ca0ac33a18f6b659fcfaf44efb0bab1b74"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca0ac33a18f6b659fcfaf44efb0bab1b74">mi_option_use_numa_nodes</a></div><div class="ttdeci">@ mi_option_use_numa_nodes</div><div class="ttdoc">0 = use all available numa nodes, otherwise use at most N nodes.</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1247</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884ca11a13739488294318ffc03eea378f5a4"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca11a13739488294318ffc03eea378f5a4">mi_option_page_max_reclaim</a></div><div class="ttdeci">@ mi_option_page_max_reclaim</div><div class="ttdoc">v3: don't reclaim pages of the same originating theap if we already own N pages (in that size class) ...</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1265</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884ca11e62ed69200a489a5be955582078c0c"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca11e62ed69200a489a5be955582078c0c">mi_option_abandoned_page_purge</a></div><div class="ttdeci">@ mi_option_abandoned_page_purge</div><div class="ttdoc">v1,v2: immediately purge delayed purges on thread termination</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1245</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884ca17a190c25be381142d87e0468c4c068c"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca17a190c25be381142d87e0468c4c068c">mi_option_eager_commit_delay</a></div><div class="ttdeci">@ mi_option_eager_commit_delay</div><div class="ttdoc">v2: the first N segments per thread are not eagerly committed (but per page in the segment on demand)</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1243</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884ca1e8de72c93da7ff22d91e1e27b52ac2b"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca1e8de72c93da7ff22d91e1e27b52ac2b">mi_option_eager_commit</a></div><div class="ttdeci">@ mi_option_eager_commit</div><div class="ttdoc">v1,v2: eager commit segments? (after eager_commit_delay segments) (enabled by default).</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1242</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884ca1eaf89bb1698f988cec27b66e546760c"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca1eaf89bb1698f988cec27b66e546760c">mi_option_guarded_precise</a></div><div class="ttdeci">@ mi_option_guarded_precise</div><div class="ttdoc">disregard minimal alignment requirement to always place guarded blocks exactly in front of a guard pa...</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1237</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884ca38c67733a3956a1f4eeaca89fab9e78e"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca38c67733a3956a1f4eeaca89fab9e78e">mi_option_visit_abandoned</a></div><div class="ttdeci">@ mi_option_visit_abandoned</div><div class="ttdoc">allow visiting heap blocks from abandoned threads (=0)</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1255</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884ca4b74ae2a69e445de6c2361b73c1d14bf"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca4b74ae2a69e445de6c2361b73c1d14bf">mi_option_os_tag</a></div><div class="ttdeci">@ mi_option_os_tag</div><div class="ttdoc">tag used for OS logging (macOS only for now) (=100)</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1229</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884ca4dee58d60bc95ce0eeef759c61fd849b"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca4dee58d60bc95ce0eeef759c61fd849b">mi_option_arena_max_object_size</a></div><div class="ttdeci">@ mi_option_arena_max_object_size</div><div class="ttdoc">v3: set maximal object size that can be allocated in an arena (in KiB) (=2GiB on 64-bit).</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1268</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884ca5635112095936356425d9a01910afff7"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca5635112095936356425d9a01910afff7">mi_option_minimal_purge_size</a></div><div class="ttdeci">@ mi_option_minimal_purge_size</div><div class="ttdoc">v3: set minimal purge size (in KiB) (=0). By default set to either 64 or 2048 if THP is enabled....</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1267</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884ca5b4357b74be0d87568036c32eb1a2e4a"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca5b4357b74be0d87568036c32eb1a2e4a">_mi_option_last</a></div><div class="ttdeci">@ _mi_option_last</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1270</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884ca6364331e305e7d3c0218b058ff3afc88"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca6364331e305e7d3c0218b058ff3afc88">mi_option_destroy_on_exit</a></div><div class="ttdeci">@ mi_option_destroy_on_exit</div><div class="ttdoc">if set, release all memory on exit; sometimes used for dynamic unloading but can be unsafe</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1250</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884ca671e806447c15a53c7d593afdd8d45c5"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca671e806447c15a53c7d593afdd8d45c5">mi_option_page_cross_thread_max_reclaim</a></div><div class="ttdeci">@ mi_option_page_cross_thread_max_reclaim</div><div class="ttdoc">v3: don't reclaim pages across threads if we already own N pages (in that size class) (=16)</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1266</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884ca679d9ee91221bffba4d5aafe488a8d7f"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca679d9ee91221bffba4d5aafe488a8d7f">mi_option_page_commit_on_demand</a></div><div class="ttdeci">@ mi_option_page_commit_on_demand</div><div class="ttdoc">v3: commit page memory on-demand (=0)</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1264</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884ca7b1e41ece69f9abbe5ba81d9ea7a3dc0"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca7b1e41ece69f9abbe5ba81d9ea7a3dc0">mi_option_guarded_sample_seed</a></div><div class="ttdeci">@ mi_option_guarded_sample_seed</div><div class="ttdoc">can be set to allow for a (more) deterministic re-execution when a guard page is triggered (=0)</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1239</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884ca7c8b7bf5281c581bad64f5daa6442777"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca7c8b7bf5281c581bad64f5daa6442777">mi_option_verbose</a></div><div class="ttdeci">@ mi_option_verbose</div><div class="ttdoc">Print verbose messages.</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1218</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884ca7cc4804ced69004fa42a9a136a9ba556"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca7cc4804ced69004fa42a9a136a9ba556">mi_option_allow_large_os_pages</a></div><div class="ttdeci">@ mi_option_allow_large_os_pages</div><div class="ttdoc">allow large (2 or 4 MiB) OS pages, implies eager commit.</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1226</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884ca8236501f1ab45d26e6fd885d191a2b5e"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca8236501f1ab45d26e6fd885d191a2b5e">mi_option_arena_purge_mult</a></div><div class="ttdeci">@ mi_option_arena_purge_mult</div><div class="ttdoc">multiplier for purge_delay for the purging delay for arenas (=10)</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1251</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884ca874f36a7a1e51f7baee4a78b2830b643"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca874f36a7a1e51f7baee4a78b2830b643">mi_option_target_segments_per_thread</a></div><div class="ttdeci">@ mi_option_target_segments_per_thread</div><div class="ttdoc">v1,v2: experimental (=0)</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1256</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884ca8b5815a577955fe8125f2b964f41ee7f"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca8b5815a577955fe8125f2b964f41ee7f">mi_option_generic_collect</a></div><div class="ttdeci">@ mi_option_generic_collect</div><div class="ttdoc">collect heaps every N (=10000) generic allocation calls</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1231</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884ca8f51df355bf6651db899e6085b54865e"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca8f51df355bf6651db899e6085b54865e">mi_option_retry_on_oom</a></div><div class="ttdeci">@ mi_option_retry_on_oom</div><div class="ttdoc">retry on out-of-memory for N milli seconds (=400), set to 0 to disable retries. (only on windows)</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1230</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884ca96077da4e5c841edeec0c4d6e45a5ffa"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca96077da4e5c841edeec0c4d6e45a5ffa">mi_option_guarded_max</a></div><div class="ttdeci">@ mi_option_guarded_max</div><div class="ttdoc">only used when building with MI_GUARDED: maximal rounded object size for guarded objects (=0)</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1236</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884ca9d15c5e3d2115eef681c17e4dd5ab9a4"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884ca9d15c5e3d2115eef681c17e4dd5ab9a4">mi_option_purge_decommits</a></div><div class="ttdeci">@ mi_option_purge_decommits</div><div class="ttdoc">should a memory purge decommit? (=1). Set to 0 to use memory reset on a purge (instead of decommit)</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1227</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884caa13e7926d4339d2aa6fbf61d4473fd5c"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caa13e7926d4339d2aa6fbf61d4473fd5c">mi_option_reserve_huge_os_pages_at</a></div><div class="ttdeci">@ mi_option_reserve_huge_os_pages_at</div><div class="ttdoc">Reserve N huge OS pages at a specific NUMA node N.</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1224</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884caa88f56e3bccce85542dc2b3297024236"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caa88f56e3bccce85542dc2b3297024236">mi_option_pagemap_commit</a></div><div class="ttdeci">@ mi_option_pagemap_commit</div><div class="ttdoc">v3: commit the full pagemap (to always catch invalid pointer uses) (=0)</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1263</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884caa9ad9005d7017c8c30ad2d6ba31db909"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caa9ad9005d7017c8c30ad2d6ba31db909">mi_option_max_segment_reclaim</a></div><div class="ttdeci">@ mi_option_max_segment_reclaim</div><div class="ttdoc">v2: max. percentage of the abandoned segments can be reclaimed per try (=10%)</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1249</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884caabf8c9793d421ce28361b6d93c432de9"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caabf8c9793d421ce28361b6d93c432de9">mi_option_max_vabits</a></div><div class="ttdeci">@ mi_option_max_vabits</div><div class="ttdoc">v3: max user space virtual address bits to consider (=48)</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1262</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884cab1c88e23ae290bbeec824038a97959de"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884cab1c88e23ae290bbeec824038a97959de">mi_option_arena_reserve</a></div><div class="ttdeci">@ mi_option_arena_reserve</div><div class="ttdoc">initial memory size for arena reservation (= 1 GiB on 64-bit) (internally, this value is in KiB; use ...</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1228</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884cac16e3f838e861338fb2357b430f6974c"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884cac16e3f838e861338fb2357b430f6974c">mi_option_page_reclaim_on_free</a></div><div class="ttdeci">@ mi_option_page_reclaim_on_free</div><div class="ttdoc">v3: reclaim abandoned pages on a free (=0). -1 disallowr always, 0 allows if the page originated from...</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1259</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884caca7ed041be3b0b9d0b82432c7bf41af2"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caca7ed041be3b0b9d0b82432c7bf41af2">mi_option_reserve_huge_os_pages</a></div><div class="ttdeci">@ mi_option_reserve_huge_os_pages</div><div class="ttdoc">reserve N huge OS pages (1GiB pages) at startup</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1223</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884cad13382757101aa4fbc4984fa0f917133"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884cad13382757101aa4fbc4984fa0f917133">mi_option_page_max_candidates</a></div><div class="ttdeci">@ mi_option_page_max_candidates</div><div class="ttdoc">v3: max candidate pages to consider for allocation (=4)</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1261</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884cadcfb5a09580361b1be65901d2d812de6"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884cadcfb5a09580361b1be65901d2d812de6">mi_option_disallow_os_alloc</a></div><div class="ttdeci">@ mi_option_disallow_os_alloc</div><div class="ttdoc">1 = do not use OS memory for allocation (but only programmatically reserved arenas)</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1248</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884cadd351e615acd8563529c20a347be7290"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884cadd351e615acd8563529c20a347be7290">mi_option_purge_delay</a></div><div class="ttdeci">@ mi_option_purge_delay</div><div class="ttdoc">memory purging is delayed by N milli seconds; use 0 for immediate purging or -1 for no purging at all...</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1246</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884caeae1696100e4057ffc4182730cc04e40"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caeae1696100e4057ffc4182730cc04e40">mi_option_disallow_arena_alloc</a></div><div class="ttdeci">@ mi_option_disallow_arena_alloc</div><div class="ttdoc">1 = do not use arena's for allocation (except if using specific arena id's)</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1254</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884caeb3c75b1a838eb42106750979d0888ec"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caeb3c75b1a838eb42106750979d0888ec">mi_option_guarded_sample_rate</a></div><div class="ttdeci">@ mi_option_guarded_sample_rate</div><div class="ttdoc">1 out of N allocations in the min/max range will be guarded (=1000)</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1238</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884caec6ecbe29d46a48205ed8823a8a52a6a"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caec6ecbe29d46a48205ed8823a8a52a6a">mi_option_max_errors</a></div><div class="ttdeci">@ mi_option_max_errors</div><div class="ttdoc">issue at most N error messages</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1219</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884caeede7d0652e391940357e1c054d29829"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caeede7d0652e391940357e1c054d29829">mi_option_page_full_retain</a></div><div class="ttdeci">@ mi_option_page_full_retain</div><div class="ttdoc">v3: retain N full (small) pages per size class (=2). Use -1 for infinite (as in v1,...</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1260</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884caf9595921087e942602ee079158762665"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884caf9595921087e942602ee079158762665">mi_option_max_warnings</a></div><div class="ttdeci">@ mi_option_max_warnings</div><div class="ttdoc">issue at most N warning messages</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1220</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884cafbf4822e5c00732c5984b32a032837f0"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884cafbf4822e5c00732c5984b32a032837f0">mi_option_show_errors</a></div><div class="ttdeci">@ mi_option_show_errors</div><div class="ttdoc">Print error messages.</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1216</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884cafbf4999c828cf79a0fb2de65d23f7333"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884cafbf4999c828cf79a0fb2de65d23f7333">mi_option_reserve_os_memory</a></div><div class="ttdeci">@ mi_option_reserve_os_memory</div><div class="ttdoc">reserve specified amount of OS memory in an arena at startup (internally, this value is in KiB; use m...</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1225</div></div>
<div class="ttc" id="agroup__options_html_ggafebf7ed116adb38ae5218bc3ce06884cafd0c5ddbc4b59fd8b5216871728167a5"><div class="ttname"><a href="group__options.html#ggafebf7ed116adb38ae5218bc3ce06884cafd0c5ddbc4b59fd8b5216871728167a5">mi_option_arena_eager_commit</a></div><div class="ttdeci">@ mi_option_arena_eager_commit</div><div class="ttdoc">eager commit arenas? Use 2 to enable just on overcommit systems (=2)</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1244</div></div>
<div class="ttc" id="agroup__posix_html_ga06d07cf357bbac5c73ba5d0c0c421e17"><div class="ttname"><a href="group__posix.html#ga06d07cf357bbac5c73ba5d0c0c421e17">mi_malloc_usable_size</a></div><div class="ttdeci">size_t mi_malloc_usable_size(const void *p)</div></div>
<div class="ttc" id="agroup__posix_html_ga0d28d5cf61e6bfbb18c63092939fe5c9"><div class="ttname"><a href="group__posix.html#ga0d28d5cf61e6bfbb18c63092939fe5c9">mi_free_aligned</a></div><div class="ttdeci">void mi_free_aligned(void *p, size_t alignment)</div></div>
<div class="ttc" id="agroup__posix_html_ga16570deddd559001b44953eedbad0084"><div class="ttname"><a href="group__posix.html#ga16570deddd559001b44953eedbad0084">mi_aligned_offset_recalloc</a></div><div class="ttdeci">void * mi_aligned_offset_recalloc(void *p, size_t newcount, size_t size, size_t alignment, size_t offset)</div></div>
<div class="ttc" id="agroup__posix_html_ga430ed1513f0571ff83be00ec58a98ee0"><div class="ttname"><a href="group__posix.html#ga430ed1513f0571ff83be00ec58a98ee0">mi_aligned_alloc</a></div><div class="ttdeci">void * mi_aligned_alloc(size_t alignment, size_t size)</div></div>
<div class="ttc" id="agroup__posix_html_ga4531c9e775bb3ae12db57c1ba8a5d7de"><div class="ttname"><a href="group__posix.html#ga4531c9e775bb3ae12db57c1ba8a5d7de">mi_malloc_size</a></div><div class="ttdeci">size_t mi_malloc_size(const void *p)</div></div>
<div class="ttc" id="agroup__posix_html_ga50cafb9722020402f065de93799f64ca"><div class="ttname"><a href="group__posix.html#ga50cafb9722020402f065de93799f64ca">mi_valloc</a></div><div class="ttdeci">void * mi_valloc(size_t size)</div></div>
<div class="ttc" id="agroup__posix_html_ga644bebccdbb2821542dd8c7e7641f476"><div class="ttname"><a href="group__posix.html#ga644bebccdbb2821542dd8c7e7641f476">mi_pvalloc</a></div><div class="ttdeci">void * mi_pvalloc(size_t size)</div></div>
<div class="ttc" id="agroup__posix_html_ga66bcfeb4faedbb42b796bc680821ef84"><div class="ttname"><a href="group__posix.html#ga66bcfeb4faedbb42b796bc680821ef84">mi__expand</a></div><div class="ttdeci">void * mi__expand(void *p, size_t newsize)</div></div>
<div class="ttc" id="agroup__posix_html_ga6ac6a6a8f3c96f1af24bb8d0439cbbd1"><div class="ttname"><a href="group__posix.html#ga6ac6a6a8f3c96f1af24bb8d0439cbbd1">mi_wdupenv_s</a></div><div class="ttdeci">int mi_wdupenv_s(unsigned short **buf, size_t *size, const unsigned short *name)</div></div>
<div class="ttc" id="agroup__posix_html_ga705dc7a64bffacfeeb0141501a5c35d7"><div class="ttname"><a href="group__posix.html#ga705dc7a64bffacfeeb0141501a5c35d7">mi_cfree</a></div><div class="ttdeci">void mi_cfree(void *p)</div><div class="ttdoc">Just as free but also checks if the pointer p belongs to our heap.</div></div>
<div class="ttc" id="agroup__posix_html_ga726867f13fd29ca36064954c0285b1d8"><div class="ttname"><a href="group__posix.html#ga726867f13fd29ca36064954c0285b1d8">mi_memalign</a></div><div class="ttdeci">void * mi_memalign(size_t alignment, size_t size)</div></div>
<div class="ttc" id="agroup__posix_html_ga72e9d7ffb5fe94d69bc722c8506e27bc"><div class="ttname"><a href="group__posix.html#ga72e9d7ffb5fe94d69bc722c8506e27bc">mi_free_size_aligned</a></div><div class="ttdeci">void mi_free_size_aligned(void *p, size_t size, size_t alignment)</div></div>
<div class="ttc" id="agroup__posix_html_ga7b82a44094fdec4d2084eb4288a979b0"><div class="ttname"><a href="group__posix.html#ga7b82a44094fdec4d2084eb4288a979b0">mi_mbsdup</a></div><div class="ttdeci">unsigned char * mi_mbsdup(const unsigned char *s)</div></div>
<div class="ttc" id="agroup__posix_html_ga7e1934d60a3e697950eeb48e042bfad5"><div class="ttname"><a href="group__posix.html#ga7e1934d60a3e697950eeb48e042bfad5">mi_reallocarr</a></div><div class="ttdeci">int mi_reallocarr(void *p, size_t count, size_t size)</div><div class="ttdoc">Corresponds to reallocarr in NetBSD.</div></div>
<div class="ttc" id="agroup__posix_html_ga9d23ac7885fed7413c11d8e0ffa31071"><div class="ttname"><a href="group__posix.html#ga9d23ac7885fed7413c11d8e0ffa31071">mi_malloc_good_size</a></div><div class="ttdeci">size_t mi_malloc_good_size(size_t size)</div></div>
<div class="ttc" id="agroup__posix_html_gaa9fd7f25c9ac3a20e89b33bd6e383fcf"><div class="ttname"><a href="group__posix.html#gaa9fd7f25c9ac3a20e89b33bd6e383fcf">mi_wcsdup</a></div><div class="ttdeci">unsigned short * mi_wcsdup(const unsigned short *s)</div></div>
<div class="ttc" id="agroup__posix_html_gab41369c1a1da7504013a7a0b1d4dd958"><div class="ttname"><a href="group__posix.html#gab41369c1a1da7504013a7a0b1d4dd958">mi_dupenv_s</a></div><div class="ttdeci">int mi_dupenv_s(char **buf, size_t *size, const char *name)</div></div>
<div class="ttc" id="agroup__posix_html_gacff84f226ba9feb2031b8992e5579447"><div class="ttname"><a href="group__posix.html#gacff84f226ba9feb2031b8992e5579447">mi_posix_memalign</a></div><div class="ttdeci">int mi_posix_memalign(void **p, size_t alignment, size_t size)</div></div>
<div class="ttc" id="agroup__posix_html_gad5a69c8fea96aa2b7a7c818c2130090a"><div class="ttname"><a href="group__posix.html#gad5a69c8fea96aa2b7a7c818c2130090a">mi__posix_memalign</a></div><div class="ttdeci">int mi__posix_memalign(void **p, size_t alignment, size_t size)</div></div>
<div class="ttc" id="agroup__posix_html_gadfeccb72748a2f6305474a37d9d57bce"><div class="ttname"><a href="group__posix.html#gadfeccb72748a2f6305474a37d9d57bce">mi_reallocarray</a></div><div class="ttdeci">void * mi_reallocarray(void *p, size_t count, size_t size)</div><div class="ttdoc">Correspond s to reallocarray in FreeBSD.</div></div>
<div class="ttc" id="agroup__posix_html_gae01389eedab8d67341ff52e2aad80ebb"><div class="ttname"><a href="group__posix.html#gae01389eedab8d67341ff52e2aad80ebb">mi_free_size</a></div><div class="ttdeci">void mi_free_size(void *p, size_t size)</div></div>
<div class="ttc" id="agroup__posix_html_gaf82cbb4b4f24acf723348628451798d3"><div class="ttname"><a href="group__posix.html#gaf82cbb4b4f24acf723348628451798d3">mi_aligned_recalloc</a></div><div class="ttdeci">void * mi_aligned_recalloc(void *p, size_t newcount, size_t size, size_t alignment)</div></div>
<div class="ttc" id="agroup__stats_html_aa74fc9c40dfaef5e06dec4019c19de68"><div class="ttname"><a href="group__stats.html#aa74fc9c40dfaef5e06dec4019c19de68">mi_stats_s::version</a></div><div class="ttdeci">size_t version</div><div class="ttdoc">initialize with `MI_STAT_VERSION (so linking dynamically with a separately compiled mimalloc is safe)</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1057</div></div>
<div class="ttc" id="agroup__stats_html_ae41e0fff24b988d0a43c34040b04b887"><div class="ttname"><a href="group__stats.html#ae41e0fff24b988d0a43c34040b04b887">mi_stats_s::size</a></div><div class="ttdeci">size_t size</div><div class="ttdoc">initialize with sizeof(mi_stats_t) (so linking dynamically with a separately compiled mimalloc is saf...</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1055</div></div>
<div class="ttc" id="agroup__stats_html_ga03ac88d3efee2ae7c34f5340502f4732"><div class="ttname"><a href="group__stats.html#ga03ac88d3efee2ae7c34f5340502f4732">mi_process_info_print_out</a></div><div class="ttdeci">void mi_process_info_print_out(mi_output_fun *out, void *arg)</div><div class="ttdoc">Print out all process info.</div></div>
<div class="ttc" id="agroup__stats_html_ga19f1a04bd972e11e4f3b586f25229d5b"><div class="ttname"><a href="group__stats.html#ga19f1a04bd972e11e4f3b586f25229d5b">mi_subproc_heap_stats_print_out</a></div><div class="ttdeci">void mi_subproc_heap_stats_print_out(mi_subproc_id_t subproc_id, mi_output_fun *out, void *arg)</div><div class="ttdoc">v3: Print statistics for a given subprocess with each heap separately printed.</div></div>
<div class="ttc" id="agroup__stats_html_ga2654195cef93ed3613e98b59a19a296f"><div class="ttname"><a href="group__stats.html#ga2654195cef93ed3613e98b59a19a296f">mi_heap_stats_get</a></div><div class="ttdeci">bool mi_heap_stats_get(mi_heap_t *heap, mi_stats_t *stats)</div><div class="ttdoc">v3: Return statistics for a given heap.</div></div>
<div class="ttc" id="agroup__stats_html_ga2d126e5c62d3badc35445e5d84166df2"><div class="ttname"><a href="group__stats.html#ga2d126e5c62d3badc35445e5d84166df2">mi_stats_print</a></div><div class="ttdeci">void mi_stats_print(void *out)</div><div class="ttdoc">Deprecated.</div></div>
<div class="ttc" id="agroup__stats_html_ga3bb8468b8cfcc6e2a61d98aee85c5f99"><div class="ttname"><a href="group__stats.html#ga3bb8468b8cfcc6e2a61d98aee85c5f99">mi_stats_reset</a></div><div class="ttdeci">void mi_stats_reset(void)</div><div class="ttdoc">v1,v2: Reset statistics.</div></div>
<div class="ttc" id="agroup__stats_html_ga537f13b299ddf801e49a5a94fde02c79"><div class="ttname"><a href="group__stats.html#ga537f13b299ddf801e49a5a94fde02c79">mi_stats_print_out</a></div><div class="ttdeci">void mi_stats_print_out(mi_output_fun *out, void *arg)</div><div class="ttdoc">Print statistics of the current subprocess aggregated over all its heaps.</div></div>
<div class="ttc" id="agroup__stats_html_ga59ec89969837db414a6bce8b58915624"><div class="ttname"><a href="group__stats.html#ga59ec89969837db414a6bce8b58915624">mi_subproc_stats_print_out</a></div><div class="ttdeci">void mi_subproc_stats_print_out(mi_subproc_id_t subproc_id, mi_output_fun *out, void *arg)</div><div class="ttdoc">v3: Print the subproc statistics aggregated over all its heaps.</div></div>
<div class="ttc" id="agroup__stats_html_ga5a34328f846c661aa560f4769cfc15f1"><div class="ttname"><a href="group__stats.html#ga5a34328f846c661aa560f4769cfc15f1">mi_heap_stats_merge_to_subproc</a></div><div class="ttdeci">void mi_heap_stats_merge_to_subproc(mi_heap_t *heap)</div><div class="ttdoc">v3: xplicitly merge the statistics of the current heap with the subprocess.</div></div>
<div class="ttc" id="agroup__stats_html_ga5ec3f9058eec804924711ab38ba64b51"><div class="ttname"><a href="group__stats.html#ga5ec3f9058eec804924711ab38ba64b51">mi_subproc_stats_get</a></div><div class="ttdeci">bool mi_subproc_stats_get(mi_subproc_id_t subproc_id, mi_stats_t *stats)</div><div class="ttdoc">v3: Get statistics for a given subprocess aggregated over all its heaps.</div></div>
<div class="ttc" id="agroup__stats_html_ga6ad266c70a0eabf6c26248aed1af6fa1"><div class="ttname"><a href="group__stats.html#ga6ad266c70a0eabf6c26248aed1af6fa1">mi_stats_as_json</a></div><div class="ttdeci">char * mi_stats_as_json(mi_stats_t *stats, size_t buf_size, char *buf)</div><div class="ttdoc">v3: Show the given statistics as JSON.</div></div>
<div class="ttc" id="agroup__stats_html_ga7d862c2affd5790381da14eb102a364d"><div class="ttname"><a href="group__stats.html#ga7d862c2affd5790381da14eb102a364d">mi_process_info</a></div><div class="ttdeci">void mi_process_info(size_t *elapsed_msecs, size_t *user_msecs, size_t *system_msecs, size_t *current_rss, size_t *peak_rss, size_t *current_commit, size_t *peak_commit, size_t *page_faults)</div><div class="ttdoc">Return process information (time and memory usage).</div></div>
<div class="ttc" id="agroup__stats_html_ga854b1de8cb067c7316286c28b2fcd3d1"><div class="ttname"><a href="group__stats.html#ga854b1de8cb067c7316286c28b2fcd3d1">mi_stats_merge</a></div><div class="ttdeci">void mi_stats_merge(void)</div><div class="ttdoc">v1,v2: Merge thread local statistics with the main statistics and reset.</div></div>
<div class="ttc" id="agroup__stats_html_gaa26d5060ad21b1331a150bb92f6f7086"><div class="ttname"><a href="group__stats.html#gaa26d5060ad21b1331a150bb92f6f7086">mi_stats_get</a></div><div class="ttdeci">bool mi_stats_get(mi_stats_t *stats)</div><div class="ttdoc">Get the statistics for the current subprocess aggregated over all its heaps.</div></div>
<div class="ttc" id="agroup__stats_html_gacb42dede4c38c38f2014b5450c5fcba8"><div class="ttname"><a href="group__stats.html#gacb42dede4c38c38f2014b5450c5fcba8">mi_heap_stats_get_json</a></div><div class="ttdeci">char * mi_heap_stats_get_json(mi_heap_t *heap, size_t buf_size, char *buf)</div><div class="ttdoc">v3: Get the statistics for a heap as JSON.</div></div>
<div class="ttc" id="agroup__stats_html_gad1cf918f08b6506e65ae134423477a0b"><div class="ttname"><a href="group__stats.html#gad1cf918f08b6506e65ae134423477a0b">mi_subproc_stats_get_json</a></div><div class="ttdeci">char * mi_subproc_stats_get_json(mi_subproc_id_t subproc_id, size_t buf_size, char *buf)</div><div class="ttdoc">v3: Show the subproc statistics aggregated over all its heaps as JSON.</div></div>
<div class="ttc" id="agroup__stats_html_gadaa3be15899cc82e314fa7d3f8e2afbd"><div class="ttname"><a href="group__stats.html#gadaa3be15899cc82e314fa7d3f8e2afbd">mi_stats_get_json</a></div><div class="ttdeci">char * mi_stats_get_json(size_t buf_size, char *buf)</div><div class="ttdoc">Get the statistics for the current subprocess aggregated over all its heaps as JSON.</div></div>
<div class="ttc" id="agroup__stats_html_gadecd549d1a7216af596322ac27e78b0d"><div class="ttname"><a href="group__stats.html#gadecd549d1a7216af596322ac27e78b0d">mi_stats_get_bin_size</a></div><div class="ttdeci">size_t mi_stats_get_bin_size(size_t bin)</div><div class="ttdoc">v3: Return the block size for the given bin.</div></div>
<div class="ttc" id="agroup__stats_html_gaf887e7aa75f13242c4e7ab95d8390536"><div class="ttname"><a href="group__stats.html#gaf887e7aa75f13242c4e7ab95d8390536">mi_process_info_print</a></div><div class="ttdeci">void mi_process_info_print(void)</div><div class="ttdoc">Print out all process info.</div></div>
<div class="ttc" id="agroup__stats_html_gafea365d7842f5f5bc1f235bbc303d585"><div class="ttname"><a href="group__stats.html#gafea365d7842f5f5bc1f235bbc303d585">mi_heap_stats_print_out</a></div><div class="ttdeci">void mi_heap_stats_print_out(mi_heap_t *heap, mi_output_fun *out, void *arg)</div><div class="ttdoc">v3: Show the heap statistics as JSON.</div></div>
<div class="ttc" id="agroup__stats_html_structmi__stats__s"><div class="ttname"><a href="group__stats.html#structmi__stats__s">mi_stats_s</a></div><div class="ttdoc">Statistics. See include/mimalloc-stats.h for the full definition.</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1053</div></div>
<div class="ttc" id="agroup__subproc_html_ga2ecba0d7ebdc99e71bb985c4a1609806"><div class="ttname"><a href="group__subproc.html#ga2ecba0d7ebdc99e71bb985c4a1609806">mi_subproc_main</a></div><div class="ttdeci">mi_subproc_id_t mi_subproc_main(void)</div><div class="ttdoc">Get the main sub-process identifier.</div></div>
<div class="ttc" id="agroup__subproc_html_ga7dcbc5863df9989b45e7051999448a4a"><div class="ttname"><a href="group__subproc.html#ga7dcbc5863df9989b45e7051999448a4a">mi_heap_visit_fun</a></div><div class="ttdeci">bool mi_heap_visit_fun(mi_heap_t *heap, void *arg)</div><div class="ttdoc">The type of a heap visitor function.</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:863</div></div>
<div class="ttc" id="agroup__subproc_html_ga8068cac328e41fa2170faef707315243"><div class="ttname"><a href="group__subproc.html#ga8068cac328e41fa2170faef707315243">mi_subproc_new</a></div><div class="ttdeci">mi_subproc_id_t mi_subproc_new(void)</div><div class="ttdoc">Create a fresh sub-process (with no associated threads yet).</div></div>
<div class="ttc" id="agroup__subproc_html_ga8c0bcd1fee27c7641e9c3c0d991b3b7d"><div class="ttname"><a href="group__subproc.html#ga8c0bcd1fee27c7641e9c3c0d991b3b7d">mi_subproc_id_t</a></div><div class="ttdeci">void * mi_subproc_id_t</div><div class="ttdoc">A process can associate threads with sub-processes.</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:832</div></div>
<div class="ttc" id="agroup__subproc_html_gaa7d263e9429bac9ac8345c9d25de610e"><div class="ttname"><a href="group__subproc.html#gaa7d263e9429bac9ac8345c9d25de610e">mi_subproc_delete</a></div><div class="ttdeci">void mi_subproc_delete(mi_subproc_id_t subproc)</div><div class="ttdoc">v1,v2: Delete a previously created sub-process.</div></div>
<div class="ttc" id="agroup__subproc_html_gaabc4db6585bf16099e43e60d64364950"><div class="ttname"><a href="group__subproc.html#gaabc4db6585bf16099e43e60d64364950">mi_subproc_current</a></div><div class="ttdeci">mi_subproc_id_t mi_subproc_current(void)</div><div class="ttdoc">Get the current sub-process identifier of this thread.</div></div>
<div class="ttc" id="agroup__subproc_html_gada12e4d9bd382935c398ec324d0391f9"><div class="ttname"><a href="group__subproc.html#gada12e4d9bd382935c398ec324d0391f9">mi_subproc_destroy</a></div><div class="ttdeci">void mi_subproc_destroy(mi_subproc_id_t subproc)</div><div class="ttdoc">v3: Destroy a previously created sub-process.</div></div>
<div class="ttc" id="agroup__subproc_html_gadbc53414eb68b275588ec001ce1ddc7c"><div class="ttname"><a href="group__subproc.html#gadbc53414eb68b275588ec001ce1ddc7c">mi_subproc_add_current_thread</a></div><div class="ttdeci">void mi_subproc_add_current_thread(mi_subproc_id_t subproc)</div><div class="ttdoc">Add the current thread to the given sub-process.</div></div>
<div class="ttc" id="agroup__subproc_html_gafd2136e7f167b5cd02b6ab00bed0ac93"><div class="ttname"><a href="group__subproc.html#gafd2136e7f167b5cd02b6ab00bed0ac93">mi_subproc_visit_heaps</a></div><div class="ttdeci">bool mi_subproc_visit_heaps(mi_subproc_id_t subproc, mi_heap_visit_fun *visitor, void *arg)</div><div class="ttdoc">Visit all heaps belonging to a subprocess.</div></div>
<div class="ttc" id="agroup__theap_html_ga04420ce52785019412397e4de24a984a"><div class="ttname"><a href="group__theap.html#ga04420ce52785019412397e4de24a984a">mi_theap_set_default</a></div><div class="ttdeci">mi_theap_t * mi_theap_set_default(mi_theap_t *theap)</div><div class="ttdoc">Set the default thread-local theap to use in the current thread for mi_malloc() et al.</div></div>
<div class="ttc" id="agroup__theap_html_ga11943128dc354313c4189e72f4299dbb"><div class="ttname"><a href="group__theap.html#ga11943128dc354313c4189e72f4299dbb">mi_theap_realloc</a></div><div class="ttdeci">void * mi_theap_realloc(mi_theap_t *theap, void *p, size_t newsize)</div></div>
<div class="ttc" id="agroup__theap_html_ga1fc65302a212daaecb21abda96ff247c"><div class="ttname"><a href="group__theap.html#ga1fc65302a212daaecb21abda96ff247c">mi_theap_malloc_small</a></div><div class="ttdeci">void * mi_theap_malloc_small(mi_theap_t *theap, size_t size)</div><div class="ttdoc">Allocate a small object in a specific theap. size must be smaller or equal to MI_SMALL_SIZE_MAX().</div></div>
<div class="ttc" id="agroup__theap_html_ga78afbb07c1e0cd333c7539cf7403dfd5"><div class="ttname"><a href="group__theap.html#ga78afbb07c1e0cd333c7539cf7403dfd5">mi_theap_get_default</a></div><div class="ttdeci">mi_theap_t * mi_theap_get_default()</div><div class="ttdoc">Get the default theap that is used for mi_malloc() et al. for the current thread.</div></div>
<div class="ttc" id="agroup__theap_html_ga7905a73865733da8a43339a500533180"><div class="ttname"><a href="group__theap.html#ga7905a73865733da8a43339a500533180">mi_heap_theap</a></div><div class="ttdeci">mi_theap_t * mi_heap_theap(mi_heap_t *heap)</div><div class="ttdoc">Return the thread-local theap for the given heap.</div></div>
<div class="ttc" id="agroup__theap_html_ga84503fc2bd83fbfb7f789b7d80d76f36"><div class="ttname"><a href="group__theap.html#ga84503fc2bd83fbfb7f789b7d80d76f36">mi_theap_malloc_aligned</a></div><div class="ttdeci">void * mi_theap_malloc_aligned(mi_theap_t *theap, size_t size, size_t alignment)</div></div>
<div class="ttc" id="agroup__theap_html_ga8722f6ac4f638b4692e06ddfddc844f8"><div class="ttname"><a href="group__theap.html#ga8722f6ac4f638b4692e06ddfddc844f8">mi_theap_t</a></div><div class="ttdeci">struct mi_theap_s mi_theap_t</div><div class="ttdoc">Type of thread-local heaps.</div><div class="ttdef"><b>Definition</b> mimalloc-doc.h:1306</div></div>
<div class="ttc" id="agroup__theap_html_ga9377a43095b8dd14996613ceb73d9a32"><div class="ttname"><a href="group__theap.html#ga9377a43095b8dd14996613ceb73d9a32">mi_theap_collect</a></div><div class="ttdeci">void mi_theap_collect(mi_theap_t *theap, bool force)</div><div class="ttdoc">Release outstanding resources in a specific theap.</div></div>
<div class="ttc" id="agroup__theap_html_gaa7fd973dcd8c75eb05707bdeffbc06f7"><div class="ttname"><a href="group__theap.html#gaa7fd973dcd8c75eb05707bdeffbc06f7">mi_theap_zalloc</a></div><div class="ttdeci">void * mi_theap_zalloc(mi_theap_t *theap, size_t size)</div><div class="ttdoc">Allocate zero-initialized in a specific heap.</div></div>
<div class="ttc" id="agroup__theap_html_gaa85fccf9d40af3e826c5932aded1d534"><div class="ttname"><a href="group__theap.html#gaa85fccf9d40af3e826c5932aded1d534">mi_theap_zalloc_small</a></div><div class="ttdeci">void * mi_theap_zalloc_small(mi_theap_t *theap, size_t size)</div><div class="ttdoc">Allocate a small object in a specific theap. size must be smaller or equal to MI_SMALL_SIZE_MAX().</div></div>
<div class="ttc" id="agroup__theap_html_gac7308e029c59e6675dd5ab5ec54f304a"><div class="ttname"><a href="group__theap.html#gac7308e029c59e6675dd5ab5ec54f304a">mi_theap_malloc</a></div><div class="ttdeci">void * mi_theap_malloc(mi_theap_t *theap, size_t size)</div><div class="ttdoc">Allocate in a specific theap.</div></div>
<div class="ttc" id="agroup__theap_html_gadbf8f27bfe9edf7834e19d32cab63edc"><div class="ttname"><a href="group__theap.html#gadbf8f27bfe9edf7834e19d32cab63edc">mi_theap_calloc</a></div><div class="ttdeci">void * mi_theap_calloc(mi_theap_t *theap, size_t count, size_t size)</div></div>
<div class="ttc" id="agroup__zeroinit_html_ga07b5bcbaf00d0d2e598c232982588496"><div class="ttname"><a href="group__zeroinit.html#ga07b5bcbaf00d0d2e598c232982588496">mi_heap_recalloc_aligned_at</a></div><div class="ttdeci">void * mi_heap_recalloc_aligned_at(mi_heap_t *heap, void *p, size_t newcount, size_t size, size_t alignment, size_t offset)</div></div>
<div class="ttc" id="agroup__zeroinit_html_ga23a0fbb452b5dce8e31fab1a1958cacc"><div class="ttname"><a href="group__zeroinit.html#ga23a0fbb452b5dce8e31fab1a1958cacc">mi_recalloc</a></div><div class="ttdeci">void * mi_recalloc(void *p, size_t count, size_t size)</div><div class="ttdoc">Re-allocate memory to count elements of size bytes, with extra memory initialized to zero.</div></div>
<div class="ttc" id="agroup__zeroinit_html_ga2bafa79c3f98ea74882349d44cffa5d9"><div class="ttname"><a href="group__zeroinit.html#ga2bafa79c3f98ea74882349d44cffa5d9">mi_heap_rezalloc_aligned_at</a></div><div class="ttdeci">void * mi_heap_rezalloc_aligned_at(mi_heap_t *heap, void *p, size_t newsize, size_t alignment, size_t offset)</div></div>
<div class="ttc" id="agroup__zeroinit_html_ga3e2169b48683aa0ab64f813fd68d839e"><div class="ttname"><a href="group__zeroinit.html#ga3e2169b48683aa0ab64f813fd68d839e">mi_recalloc_aligned</a></div><div class="ttdeci">void * mi_recalloc_aligned(void *p, size_t newcount, size_t size, size_t alignment)</div></div>
<div class="ttc" id="agroup__zeroinit_html_ga4d02404fe1e7db00beb65f185e012caa"><div class="ttname"><a href="group__zeroinit.html#ga4d02404fe1e7db00beb65f185e012caa">mi_rezalloc_aligned</a></div><div class="ttdeci">void * mi_rezalloc_aligned(void *p, size_t newsize, size_t alignment)</div></div>
<div class="ttc" id="agroup__zeroinit_html_ga5129f6dc46ee1613d918820a8a0533a7"><div class="ttname"><a href="group__zeroinit.html#ga5129f6dc46ee1613d918820a8a0533a7">mi_heap_rezalloc_aligned</a></div><div class="ttdeci">void * mi_heap_rezalloc_aligned(mi_heap_t *heap, void *p, size_t newsize, size_t alignment)</div></div>
<div class="ttc" id="agroup__zeroinit_html_ga6843a88285bbfcc3bdfccc60aafd1270"><div class="ttname"><a href="group__zeroinit.html#ga6843a88285bbfcc3bdfccc60aafd1270">mi_rezalloc_aligned_at</a></div><div class="ttdeci">void * mi_rezalloc_aligned_at(void *p, size_t newsize, size_t alignment, size_t offset)</div></div>
<div class="ttc" id="agroup__zeroinit_html_ga87ddd674bf1c67237d780d0b9e0f0f32"><div class="ttname"><a href="group__zeroinit.html#ga87ddd674bf1c67237d780d0b9e0f0f32">mi_heap_recalloc_aligned</a></div><div class="ttdeci">void * mi_heap_recalloc_aligned(mi_heap_t *heap, void *p, size_t newcount, size_t size, size_t alignment)</div></div>
<div class="ttc" id="agroup__zeroinit_html_ga8d8b7ebb24b513cd84d1a696048da60d"><div class="ttname"><a href="group__zeroinit.html#ga8d8b7ebb24b513cd84d1a696048da60d">mi_heap_rezalloc</a></div><div class="ttdeci">void * mi_heap_rezalloc(mi_heap_t *heap, void *p, size_t newsize)</div></div>
<div class="ttc" id="agroup__zeroinit_html_gaae25e4ddedd4e0fb61b1a8bd5d452750"><div class="ttname"><a href="group__zeroinit.html#gaae25e4ddedd4e0fb61b1a8bd5d452750">mi_recalloc_aligned_at</a></div><div class="ttdeci">void * mi_recalloc_aligned_at(void *p, size_t newcount, size_t size, size_t alignment, size_t offset)</div></div>
<div class="ttc" id="agroup__zeroinit_html_gad1a0d325d930eeb80f25e3fea37aacde"><div class="ttname"><a href="group__zeroinit.html#gad1a0d325d930eeb80f25e3fea37aacde">mi_heap_recalloc</a></div><div class="ttdeci">void * mi_heap_recalloc(mi_heap_t *heap, void *p, size_t newcount, size_t size)</div></div>
<div class="ttc" id="agroup__zeroinit_html_gadfd34cd7b4f2bbda7ae06367a6360756"><div class="ttname"><a href="group__zeroinit.html#gadfd34cd7b4f2bbda7ae06367a6360756">mi_rezalloc</a></div><div class="ttdeci">void * mi_rezalloc(void *p, size_t newsize)</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><b>mimalloc-doc.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.11.0 </li>
</ul>
</div>
</body>
</html>