A garbage collection system and method in a multiprocessor environment
having a shared memory wherein two or more processing units participate in
the reclamation of garbage memory objects. The shared memory is divided
into regions or heaps and all heaps are dedicated to one of the
participating processing units. The processing units generally perform
garbage collection operations, i.e., a thread on the heap or heaps that
are dedicated to that the processing unit. However, the processing units
are also allowed to access and modify other memory objects, in other heaps
when those objects are referenced by and therefore may be traced back to
memory objects within the processing units dedicated heap. The processors
are synchronized at rendezvous points to prevent reclamation of used
memory objects.
Um sistema e um método da coleção do lixo em um ambiente do multiprocessor que tem uma memória compartilhada wherein dois ou os mais unidades processando participam na recuperação da memória do lixo objetam. A memória compartilhada é dividida em regiões ou heaps e todos os heaps são dedicados a uma das unidades processando participando. As unidades processando executam geralmente as operações da coleção do lixo, isto é, uma linha no heap ou os heaps que são dedicadas àquela a unidade processando. Entretanto, as unidades processando estão permitidas também alcançar e modificar outros objetos da memória, em outros heaps quando aqueles objetos referenced perto e podem conseqüentemente ser seguidos para trás à memória objetam dentro do heap dedicado das unidades processando. Os processadores são sincronizados em pontos rendezvous para impedir a recuperação de objetos usados da memória.