<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 06/01/2017 01:41 AM, Larry Hastings
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:58f3233b-2b69-cf68-49dc-5549a1f32512@hastings.org">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <div class="moz-cite-prefix">On 06/01/2017 01:19 AM, Antoine
        Pitrou wrote:<br>
      </div>
      <blockquote type="cite" cite="mid:20170601101906.60a7e65c@fsol">
        <blockquote type="cite"> </blockquote>
        <pre wrap="">malloc() you said?  Arenas are allocated using mmap() nowadays, right?</pre>
      </blockquote>
      malloc() and free().  See _PyObject_ArenaMalloc (etc) in
      Objects/obmalloc.c.</blockquote>
    <br>
    Oh, sorry, I forgot how to read.  If ARENAS_USE_MMAP is on it uses
    mmap().  I can't figure out when or how MAP_ANONYMOUS gets set, but
    if I step into the _PyObject_Arena.alloc() it indeed calls
    _PyObject_ArenaMmap() which uses mmap().  So, huzzah!, we use mmap()
    to allocate our enormous 256kb arenas.<br>
    <br>
    <br>
    <i>/arry</i><br>
  </body>
</html>