Patent ID: 8799615

Claim:
A method of managing multiple object areas in a memory heap, comprising: allocating a memory heap as a contiguous range of memory; allocating a small object area within the memory heap having an initial start at a first end of the memory heap; allocating a large object area within the memory heap having an initial start at a second end of the memory heap opposite the first end such that the small object area and the large object area grow in opposite directions inward within the memory heap; allocating a gap of unallocated memory comprising an unallocated portion of the small object area and an unallocated portion of the large object area; modifying the ratio of the small object area to the large object area in the memory heap by moving a boundary between the large object area and the small object area within the gap; and performing allocations into the memory heap based upon a predetermined allocation policy such that the large object area is reserved for the allocation of large objects.