发明名称 Read and write barriers for flexible and efficient garbage collection
摘要 Described herein are techniques to provide read and write barriers for flexible and efficient garbage collection. A memory heap is split into pages. Each page is aligned to an address that is a multiple of a particular power of two. When generating read and write operations, code is generated to execute the write barrier or the read barrier. At this point, the page alignment for each pointer is known; for example, if the page alignment is the same for all pointers in the system. With this page structure, it is possible to find the page start by masking the address of any heap allocated object on the page with a mask based on the page alignment (bitwise-and operation). A plurality of flags are established on a page. This Abstract is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims.
申请公布号 US9021421(B1) 申请公布日期 2015.04.28
申请号 US201213465980 申请日期 2012.05.07
申请人 Google Inc. 发明人 Corry Erik;Egorov Vyacheslav
分类号 G06F9/44;G06F12/00;G06F13/00;G06F9/45;G06F12/02 主分类号 G06F9/44
代理机构 McDermott Will & Emery LLP 代理人 McDermott Will & Emery LLP
主权项 1. A memory manager comprising: a heap paginator configured to split a memory heap into a plurality of pages, with each page of the memory heap aligned to an address that is a multiple of a particular power of two, wherein each page includes a plurality of pointers; a software code generator configured to generate code to execute a write barrier when write operations are performed, wherein a page alignment for each of the plurality of pointers is known; a bitwise operator configured to determine a page start of a respective page of the plurality of pages by masking an address of a heap allocated object on the respective page based on bitwise-and operation page alignment; and a bit storage configured to establish a plurality of flags on a particular page, wherein the software code generator is further configured to split a write barrier for an assignment into filtering parts and implementing parts, wherein the filtering parts comprise one or more checks, wherein at least one check of the one or more checks is based on more than one flag, wherein the one or more checks are combined with one or more conditional branches or call instructions that can divert control flow to the implementing parts.
地址 Mountain View CA US
您可能感兴趣的专利