git-svn-id: svn://ultimatepp.org/upp/trunk@9317 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2015-12-22 09:02:52 +00:00
parent 730d4663b4
commit 8aeca0cf4d

View file

@ -116,4 +116,16 @@ to directly obtain virtual memory. It stores information about
the block in the header at the beginning of block, also making
block 16`-bytes unaligned in the process. Free then returns virtual
memory back to the system.&]
[s0; &]
[s0; &]
[s6; Multithreading&]
[s0; Each thread has its own heap (implemented using TLS) and there
is also `'aux`' heap, which is basically used to keep track of
completely free blocks, both 4KB pages for small blocks and 64KB
pages for medium blocks.&]
[s0; Most small and medium block allocations are lockless, unless
a there is no free space in existing working blocks, freeing
is lockless as long as memory was allocated in the same thread
(belongs to the same heap). Also, if free&]
[s0; &]
[s0; ]]