Synchronous collection of cyclic garbage in reference counting systems

   
   

Techniques are provided that speed synchronous garbage collection in systems that use reference counting. The present invention performs each of the steps of marking, scanning, and collecting on all nodes that are possibly nodes in a cycle of garbage. These nodes are referred to as "root" nodes herein. In other words, an aspect of the present invention performs the step of marking on each root node, the step of scanning on each root node, and the step of collecting on each root node. Performing one or more of these steps on all of the root nodes results in a lower number of operations than selecting single root nodes, performing these steps on each root node, and iterating until all root nodes are selected. Additionally, before root nodes are added to a buffer, they are examined to determine if they are already in the buffer. If they are, they are not added to the buffer. This prevents the same root node from being examined multiple times. Finally, nodes are examined to determine whether they are acyclic. Acyclic nodes are ignored when finding cyclic garbage.

Le tecniche sono fornite che accelerano l'accumulazione sincrona dell'immondizia nei sistemi che usano il conteggio di riferimento. L'invenzione presente effettua ciascuna delle operazione della marcatura, dell'esame e di raccolta su tutti i nodi che sono possibilmente nodi in un ciclo di immondizia. Questi nodi si riferiscono a come nodi "della radice" qui sotto. Cioè una funzione di presente invenzione effettua l'operazione di contrassegnare su ogni nodo della radice, l'operazione di esplorazione su ogni nodo della radice e l'operazione di raccolta su ogni nodo della radice. L'effettuazione dell'uno o più di queste operazione su tutti i nodi della radice provoca un numero più basso di funzionamenti che selezionando i singoli nodi della radice, effettuando queste operazione su ogni nodo della radice e ripetendo fino a selezionare tutti i nodi della radice. Ulteriormente, prima che i nodi della radice siano aggiunti ad un amplificatore, sono esaminati per determinare se sono già nell'amplificatore. Se sono, non sono aggiunti all'amplificatore. Ciò impedisce lo stesso nodo della radice essere esaminato periodi multipli. Per concludere, i nodi sono esaminati per determinare se siano aciclici. I nodi aciclici sono ignorati quando trova l'immondizia ciclica.

 
Web www.patentalert.com

< Delivering output XML with dynamically selectable processing

< Enterprise network analyzer host controller/zone controller interface system and method

> Video and audio streaming for multiple users

> Method and system for browsing a low-resolution image

~ 00173