发明名称 Remembered-set scrubbing to remove stale entries in an incremental garbage collector
摘要 A computer system, method and software for detecting and purging stale entries from remembered sets associated with incrementally collectible regions used in an incremental garbage collection technique like the Trains algorithm is described. Stale entries are detected by a number of techniques, and then purged, eliminated, or scrubbed. These techniques make use of the summarized information about regions such as cards or incrementally collectible regions that indicate age of allocation, time a region was last scanned, last time an entry was inserted into a remembered set, as well as how far forward or backward objects in a given region refer in a generation. In one technique, if the farthest-forward information for a regions associated with an entry in a remembered set is not as far forward as the incrementally collectible region associated with the remembered set, then the entry is stale. Similarly, farthest-backward information may be used. Another technique is to track whether incrementally collectible regions are free or in use and if a remembered set entry corresponds to a region that is not in use, then the entry is stale. Still another technique is to compare the allocation age of a region with a timestamp indicating when a remembered set entry corresponding to that region was last inserted and to designate the entry as stale if the allocation age is more recent than the last-insertion time. A related technique is to compare the allocation age of an incrementally collectible region with the timestamp of an entry in that region's remembered set indicating when the region corresponding to the entry was last scanned and to designate the entry as stale if the allocation age is more recent than when the entry's corresponding region was last scanned. Still another technique is to track how recently the region corresponding to an entry in a remembered set was scanned, to compare this timestamp with a timestamp indicating when the entry was last entered into the remembered set, and to designate the entry as stale if the insertion timestamp is older than the last-scan timestamp. Yet another technique is to measure the volatility of the entry and to only consider sufficiently volatile entries for being stale.
申请公布号 US2004193662(A1) 申请公布日期 2004.09.30
申请号 US20030395449 申请日期 2003.03.24
申请人 GARTHWAITE ALEXANDER T. 发明人 GARTHWAITE ALEXANDER T.
分类号 G06F12/02;(IPC1-7):G06F17/30 主分类号 G06F12/02
代理机构 代理人
主权项
地址