Patent ID: 7716449

Claim:
A machine-implemented method, comprising: allocating a first range of virtual memory addresses to be used for a first chunk of a heap; allocating a second range of virtual memory addresses to be used for a second chunk of the heap, wherein the first and the second ranges of virtual memory addresses are not contiguous; storing a side data structure in a portion of the second chunk, wherein the side data structure begins at a predetermined offset within the second range of virtual memory addresses, and wherein the side data structure comprises a plurality of entries with each entry associated with a corresponding section of the second chunk; and locating a particular entry in the side data structure corresponding to a particular section of the second chunk without performing any memory accessing operations to obtain an indirect reference to the side data structure, wherein locating the particular entry comprises: determining a base address of the second chunk by zeroing out a predetermined set of low order bits of a particular virtual address within the particular section of the second chunk; scaling a value indicated in the set of low order bits of the particular virtual address to determine an index into the side data structure, wherein the index identifies the particular entry which corresponds to the particular section of the second chunk; and determining a virtual address of the particular entry by adding the base address of the second chunk, the predetermined offset, and the index that identifies the particular entry within the side data structure.