previousupnext

4 The LeapHeap Implementation

This section describes the LeapHeap implementation of the algorithms of section 3 LeapHeap Algorithms applied to the data structures of section 2 LeapHeap Data Structures. The implementation never causes threads to spin or yield the processor. A thread can only block within a LeapHeap routine if some work has to be delegated to the native heap (section 4.4 The Relict Heap) or the NT kernel. The only significant volume of such events is while the heap is still growing and allocators are making kernel calls to commit memory.

LeapHeap provides surrogates for the following Windows NT API routines:


4.1 Compartment Area Implementation
4.2 Big Block Area Implementation
4.3 Overflow
4.4 The Relict Heap
4.5 Exception Handling
4.6 Heap Identifier Tagging
4.7 API Conformance