LAZY COMPACTION IN GARBAGE COLLECTION

Techniques for lazy compaction are disclosed, including: selecting, by a garbage collector, multiple regions of a memory for inclusion in a relocation set; populating, by the garbage collector, a lazy free list (LFL) with the multiple regions selected for inclusion in the relocation set; subsequent...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: ÖSTERLUND, Erik, KARLSSON, Stefan
Format: Patent
Sprache:eng ; fre
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Techniques for lazy compaction are disclosed, including: selecting, by a garbage collector, multiple regions of a memory for inclusion in a relocation set; populating, by the garbage collector, a lazy free list (LFL) with the multiple regions selected for inclusion in the relocation set; subsequent to populating the LFL: determining, by an allocator, that an ordinary free list managed by the garbage collector is depleted; responsive to determining that the ordinary free list is depleted: selecting a region in the LFL; executing one or more load barriers associated respectively with one or more objects marked as live in the region, each respective load barrier being configured to relocate the associated object from the region if the associated object is still live; subsequent to executing the one or more load barriers: allocating the region. L'invention concerne des techniques de compactage paresseux, consistant : à sélectionner, par un récupérateur de mémoire, de multiples régions d'une mémoire à inclure dans un ensemble de relocalisation ; à peupler, par le récupérateur de mémoire, une liste libre paresseuse (LFL) avec les multiples régions sélectionnées à inclure dans l'ensemble de relocalisation ; consécutivement au peuplement de la LFL : à déterminer, par un allocateur, qu'une liste libre ordinaire gérée par le récupérateur de mémoire est épuisée ; en réponse à la détermination du fait que la liste libre ordinaire est épuisée : à sélectionner une région dans la LFL ; à exécuter une ou plusieurs barrières de charge associées respectivement à un ou plusieurs objets marqués comme vivants dans la région, chaque barrière de charge respective étant configurée pour relocaliser l'objet associé à partir de la région si l'objet associé est toujours vivant ; consécutivement à l'exécution de la ou des barrières de charge : à allouer la région.