Changes between Version 32 and Version 33 of GCTasklist
- Timestamp:
- 08/19/10 23:25:51 (11 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GCTasklist
v32 v33 33 33 - Fix system-dependent code in src/gc/system.c (See #273) 34 34 35 - Implement write barriers. They're needed to maintain the remembered set for generational GC and to update the mark stack for incremental GC. There is a proposal in PDD09 but using macros doesn't work well with pluggable GC cores and using function calls is expensive. Two approaches for efficient write barriers are card marking and sequential store buffers. Card marking is preferred for procedural languages that might make a lot of assignments. 36 35 37 == Problems to Solve == 36 38 … … 41 43 - need to be able to free allocated pools (a precise compacting collector) 42 44 43 - need to be able to identify and collect short-lived garbage much more cheaply (we avoid that to some extent by reducing the amount of garbage we create, but would be a significant win for making sub/method calls less expensive. Needs escape analysis .45 - need to be able to identify and collect short-lived garbage much more cheaply (we avoid that to some extent by reducing the amount of garbage we create, but would be a significant win for making sub/method calls less expensive. Needs escape analysis and/or generational GC. 44 46 45 47 - copying collection 48 49 - The large number of memory pools that are currently used make it very hard to implement a copying or compacting collector or generational GC. Allocating from a single pool would make it much easier. This would more or less mean a complete rewrite but also a lot of simplification. 46 50 47 51 == Completed Tasks ==