The present invention provides a novel method and apparatus for performing
real-time computer garbage collection, in a manner that offers
unprecedented low bounds on the worst-case frequency and duration of the
collection task. The invention is used with a plurality of data objects
and with one or more mutator programs. The mutators and a garbage
collector run on one or more processors. The mutators each have a
corresponding thread with a corresponding thread state. In the present
invention, execution of all mutators is temporarily restricted at the
start of each new garbage collection cycle. However, unrestricted
execution of a mutator is quickly resumed, as soon as that mutator's
thread state is processed. The remainder of the garbage collection cycle
may be performed concurrently with the mutators. In another feature of the
present invention yielding important performance benefits, the mutators
are executed subject to a protective write barrier, but the write barrier
does not have to be applied to the modification of mutator thread states.
De onderhavige uitvinding verstrekt een nieuw methode en een apparaat om inzameling de in real time van het computerhuisvuil, op een manier uit te voeren die ongekende lage grenzen op de frequentie en de duur in het slechtste geval van de inzamelingstaak aanbiedt. De uitvinding wordt gebruikt met een meerderheid van gegevensobjecten en met één of meerdere mutatorprogramma's. Mutators en een huisvuilcollector lopen op één of meerdere bewerkers. Mutators elk hebben een overeenkomstige draad met een overeenkomstige draadstaat. In de onderhavige uitvinding, is de uitvoering van alle mutators tijdelijk beperkt bij het begin van elke nieuwe cyclus van de huisvuilinzameling. Nochtans, wordt de onbeperkte uitvoering van een mutator snel hervat, zodra de de draadstaat van dat mutator wordt verwerkt. De rest van de cyclus van de huisvuilinzameling kan terzelfdertijd als mutators worden uitgevoerd. In een andere eigenschap van de onderhavige uitvinding die belangrijke prestatiesvoordelen opbrengt, worden mutators uitgevoerd behoudens beschermend schrijven barrière, maar schrijf de barrière niet op de wijziging van de staten van de mutatordraad moet worden toegepast.