摘要 |
A compact set of garbage collection tables takes advantage of the redundancies often inherent in live pointer information: multiple call sites in a call stack often share common live pointer information. A call site table lists call site identifiers associated with call stack locations having pointers to heap-allocated data. An associated indirection table (i.e., a descriptor reference table) provides a reference (e.g., an index or a pointer) into a descriptor table, which stores unique descriptors of the call stack locations of interest. The aggregate memory space used by the three tables (i.e., the call site table, the indirection table, and the descriptor table) is typically less than the memory space used by the monolithic live pointer information table.
|