A method and apparatus are disclosed for efficiently creating and maintaining a remembered set in a generational garbage collection scheme using a write buffer and a barrier bit associated with each object. A barrier bit associated with each object differentiates generations in a generational garbage collection scheme. When an object is first created, the barrier bit of the object is set to zero. The barrier bit is set when the object becomes old, for example, after surviving a first garbage collection. The barrier bit is used to determine whether to make an entry into a write buffer when a reference to another object is stored into an object. An entry is made in the write buffer only if the barrier bit of the object that is written into is set. At the end of each garbage collection, entries in the write buffer are added to the remembered set for the next garbage collection if the objects satisfy the criterion for membership, i.e., they are live and may contain pointers to objects in a younger generation. Thus, the remembered set consists of objects that were in the write buffer at the time of a garbage collection, that must be remembered for the next garbage collection. The write buffer is kept small by eliminating duplicate entries. The present invention turns off the barrier bit after the first store during each reclamation period (which causes the object to be identified in the write buffer). The barrier bit is turned on again by the garbage collector after the write buffer has been processed.

Μια μέθοδος και μια συσκευή αποκαλύπτονται για αποτελεσματικά να δημιουργήσουν και η διατήρηση ενός αναφερόμενου συνόλου σε μια χρησιμοποίηση σχεδίου συλλογής απορριμάτων generational γράφει τον απομονωτή και ένα κομμάτι εμποδίων που συνδέεται με κάθε αντικείμενο. Ένα κομμάτι εμποδίων που συνδέεται με κάθε αντικείμενο διαφοροποιεί τις γενεές σε ένα σχέδιο συλλογής απορριμάτων generational. Όταν ένα αντικείμενο δημιουργείται αρχικά, το κομμάτι εμποδίων του αντικειμένου τίθεται μηδέν. Το κομμάτι εμποδίων τίθεται όταν το αντικείμενο γίνεται παλαιό, παραδείγματος χάριν, μετά από να επιζήσει μιας πρώτης συλλογής απορριμάτων. Το κομμάτι εμποδίων χρησιμοποιείται για να καθορίσει εάν για να κάνει μια είσοδο μέσα σε να γράψει τον απομονωτή όταν αποθηκεύεται μια αναφορά σε ένα άλλο αντικείμενο σε ένα αντικείμενο. Μια είσοδος γίνεται γράφει τον απομονωτή μόνο εάν το κομμάτι εμποδίων του αντικειμένου που γράφεται τίθεται. Στο τέλος κάθε συλλογής απορριμάτων, οι καταχωρήσεις γράφουν ότι ο απομονωτής προστίθεται στο αναφερόμενο σύνολο για την επόμενη συλλογή απορριμάτων εάν τα αντικείμενα ικανοποιούν το κριτήριο για την ιδιότητα μέλους, δηλ., αυτοί είναι ζωντανά και μπορούν να περιέχουν τους δείκτες στα αντικείμενα σε μια νεώτερη γενεά. Κατά συνέπεια, το αναφερόμενο σύνολο αποτελείται από τα αντικείμενα που ήταν γράφουν τον απομονωτή κατά την διάρκεια μιας συλλογής απορριμάτων, η οποία πρέπει να αναφερθεί για την επόμενη συλλογή απορριμάτων. Γράψτε ότι ο απομονωτής κρατιέται μικρός με την εξάλειψη των διπλών καταχωρήσεων. Η παρούσα εφεύρεση κλείνει το κομμάτι εμποδίων μετά από το πρώτο κατάστημα κατά τη διάρκεια κάθε περιόδου αποκατάστασης (που αναγκάζει το αντικείμενο για να προσδιοριστεί γράφει τον απομονωτή). Το κομμάτι εμποδίων ανοίγεται πάλι από το συλλέκτη απορριμάτων αφότου γράψτε ότι ο απομονωτής έχει υποβληθεί σε επεξεργασία.

 
Web www.patentalert.com

< (none)

< Optimal line break determination

> Magnetic head for high coercive force magnetic recording medium

> (none)

~ 00058