2 LeapHeap Data Structures

This section describes the data structures employed by LeapHeap to store and track memory allocations. These data structures are designed to allow reading and writing by several threads at the same time.

Allocations of 4 KB and below are made in within the appropriate pre-sized compartment in the compartment area, and tracked by bitmaps. Allocations above this size are made within the big-block area and tracked by a list of block descriptors. For typical applications the vast majority of allocations fall below the 4 KB boundary.

2.1 Compartment Area Data Structure
2.2 Big-Block Area Data Structure