Patent ID: 8819382

Claim:
A machine-readable non-transitory storage medium having instructions therein, which when executed by a machine, cause the machine to perform a method, the method comprising: maintaining a plurality of first structures and a plurality of second structures separately in a first portion and a second portion of a heap in a memory to execute a code based on the heap, wherein each second structure is referenced by at most one of the first structure, at least one of the first structures representing an object created via the execution of the code, the object having a dynamic property associated with at least one of the second structures, wherein the code is linked with a particular code capable of referencing the dynamic property of the object without referencing the first structure representing the object; performing non-moving garbage collection operations on the first portion of the heap to identify which of the first structures are available for future allocation from the first portion of the heap without moving the identified first structures; and performing moving garbage collection operations on the second portion of the heap to identify which of the second structures are movable within the second portion of the heap for future allocation from the second portion of the heap, wherein the non-moving garbage collection operations and the moving garbage collection operations are performed substantially in parallel, wherein a particular one of the second structures is not movable if the particular second structure is referenced by the particular code, and wherein the identified movable second structures are moved within the second portion of the heap for future allocation from the second portion of the heap.