发明名称 Parallel non-contiguous allocation and card parsing
摘要 A garbage collector operates in multiple threads, and one thread can be parsing a region containing a free block while another thread is allocating space from that free block for an object being relocated to that region. The object being relocated may be an array object, for which the length determination is based on more than one word in the object; it may be based on a class-identifying word and a number-of-elements word. To prevent a parsing thread from parsing erroneously by reading both of those words between the relocating thread's writing one of them and writing the other, the relocating thread first writes into the classifying word a distinguished value from which a parsing thread can conclude that the values its reads in other fields of the block are not to be trusted. The relocating thread then completes writing the other fields before it writes the relocated object's classifying word, and any parsing thread repeats the size-determining routine until the unitialized value is removed and it can therefore rely on other values in the block.
申请公布号 US2004162861(A1) 申请公布日期 2004.08.19
申请号 US20030368970 申请日期 2003.02.19
申请人 DETLEFS DAVID L. 发明人 DETLEFS DAVID L.
分类号 G06F12/02;(IPC1-7):G06F12/00 主分类号 G06F12/02
代理机构 代理人
主权项
地址