Patent ID: 6820183
Filing Date: 2004-11-16
Classification: G06F

Abstract:
A method of managing a memory pool, comprising the steps of:providing a variable size object storage block sub-pool within the memory pool, the object storage block sub-pool beginning at a first end of the memory pool; providing a variable size handle sub-pool within the memory pool, the variable size handle sub-pool beginning at a second end of the memory pool; receiving a heap memory request from a program; extending an end of the object storage block sub-pool towards the second end of the memory pool based on a size of an object storage block to increase a size of the object storage block sub-pool only if a combined size of the object storage block and an associated handle does not exceed a size of an available region of the memory pool between the end of the object storage block sub-pool and the end of the handle sub-pool, the size of the available region being determined without moving either of the ends of the storage block sub-pool and the handle sub-pool; extending an end of the handle sub-pool towards the first end of the memory pool based on a size of the associated handle to increase the size of the handle sub-pool only if the combined size of the object storage block and the associated handle does not exceed the size of an available region of the memory pool between the end of the object storage block sub-pool and the end of the handle sub-pool, the size of the available region being determined without moving either of the ends of the storage block sub-pool and the handle sub-pool; and allocating to the program the object storage block and the handle, which is associated with the object storage block, from the object storage block and handle sub-pools, respectively.