Patent ID: 7996446

Claim:
A method of performing a garbage collection process for a real-time application, said method comprising: using a memory for: determining an amount of memory required to run the garbage collection process; waiting until the determined amount of memory is available for the garbage collection process; allocating memory space for the application, wherein allocated memory is defined to include directly allocated memory and indirectly allocated memory due to mutation; segmenting the memory space into a number of pages of a predetermined size; and dividing the pages into blocks of a predetermined size; using a mutator for performing an iterative mutation process by: assuring that only non-null, unmarked objects are placed into a write buffer; identifying objects to be allocated; allocating the objects into the pages and blocks; marking objects no longer used as dead objects; and sorting the pages of memory according to a number of dead objects per page; wherein each iterative mutation process consumes memory a size of one object pointer; using a hybrid collector for removing the dead objects; and defragmenting the memory space using defragmentation with limited copying of objects; and using a processor for selecting an interval for an interleaving when the determined amount of space is available; wherein the garbage collection process is bounded by an overhead memory space requirement.