Data processor with localized memory reclamation
AssigneeKoninklijke Philips Electronics N.V.
InventorRichard J. Houldsworth
Life of this patent
Estimating the term…
Loading patent…
AssigneeKoninklijke Philips Electronics N.V.
InventorRichard J. Houldsworth
Estimating the term…
A data processing apparatus for handling multi-thread programs comprises a data processor coupled with a random-access memory containing a plurality of data objects. Each data object is accessed via respective pointers carried by memory stacks associated with respective threads. Periodically, a garbage collection procedure is applied to the random-access memory with those data objects having no extant pointers thereto from any source being identified and deleted. Subject to a locking constraint applied to some of the data objects, the remainder are compacted to free space in the memory. To enable localising of the garbage collection procedure, reference stacks are provided for each thread stack frame such as to identify, preferably via a per-thread reference table, data objects referenced from only a single frame, which objects are deleted on conclusion of that frame.
A data processing apparatus for handling multi-thread programs, the apparatus comprising a data processor coupled with a random-access memory containing a plurality of data objects, each said data object being at a respective known location within the memory and being accessed via respective pointers carried by one or more caches associated with respective threads, the apparatus being configured to periodically determine those data objects in the random-access memory having no extant pointers thereto from any source and to delete the same;
A method of memory management for use in data processing apparatuses handling multi-thread programs, wherein the memory contains a plurality of data objects, each said data object being at a respective known location within the memory and being accessed via respective pointers carried by one or more caches associated with respective threads, the method comprising periodically determining those data objects in the random-access memory having no extant pointers thereto from any source and to delete the same,
Dependencies are inferred from the claim text.