úÎ+”*a NoneBINUV Internal pool type Ubase size. all alocations inside this pool will be rounded up to a multiple of this. lthe pool internally manages a number of blocks, each containing (2**_mp_blockSizeExp * _mp_baseSize) bytes. map to the blocks ›probably an index of some block that _probably_ has some unallocated regions left. no promises; may point to full block or not point to any block at all.Stateful pool objectWCreate an empty pool. A pool internally allocates several relatively large blocks via malloc1 and returns chunks of these when requested via .¶Note that the rts does not "see" these allocations in any way. I.e. memory allocated in the pool does not count towards heap space in the rts and is not captured by heap profiling.‚Allocate memory inside the specified pool. The amount allocated is rounded up to the next power-of-two multiple of the base size.½The number of bytes to allocated is limited in both directions: The minimum amount is 1 (0 is an error). The maximum is the number of a bytes in a block as specified by the arguments to .SNo deallocation happens unless the provided deallocation action is executed. (See 0 for a more automatic variant of this function.):The deallocation action must not be called more than once. Similar to ï, but performs the deallocation automatically as a finalizer on the returned ForeignPtr. This may lead to (arbitrary) delays between dropping of the reference and actual freeing of pool memory, but is much more convenient on usage side.ŒReturn a visual representation of allocation inside the pool. Both distribution of blocks and fragmentation inside each block is displayed.—Prints a visual representation of allocation inside the pool to stderr. Both distribution of blocks and fragmentation inside each block is displayed.ÿVif Ptr is not allocated in this pool, returns Nothing. Otherwise returns a rather rough estimate of the usage for the block that the pointer is allocated in. For example if it returns (Just 0.75), at least 25% of the block is free (the other bound should be.. 50% i think. But the error depends in a nontrivial fashion on the value. Use  to obtain the first argument.bRetrieve a snapshot of the internal data of a pool. This currently exists soly as an argument to .    base size.[block exponent; each internal block holds (2**block_exp) * base_size. Must be at least 1.pool to allocate innumber of bytes to allocate.Hthe ptr to the memory allocated in the pool, plus a deallaction action.pool to allocate innumber of bytes to allocate.          J0Z1TvpAreo10wCNHNPFgzSystem.MemoryPoolPoolDataPoolcreateallocateallocateForeigndebugShowPoolFillsDatadebugTracePoolFillsgetPtrFragmentationunsafeGetPoolDataSnapshot _mp_baseSize_mp_blockSizeExp_mp_poolBlocks _mp_freeHint PoolBlock _mp_blockSize<&>deallocateElemdeallocateElemBlockallocateFromDepth$fShowPoolBlock