20,741
edits
(→Status) |
(→Status) |
||
| Line 58: | Line 58: | ||
* Introduce garbage collection {{Progressbar|60}} | * Introduce garbage collection {{Progressbar|60}} | ||
* Document the existing GC {{Progressbar|50}} | * Document the existing GC {{Progressbar|50}} | ||
** Prototype a simple gen GC scheme | ** Prototype a simple gen GC scheme: | ||
** Patch the existing GC to allocate different pools for each generation {{Progressbar|70}} | ** Patch the existing GC to allocate different pools for each generation {{Progressbar|70}} | ||
** update mark() to increment a new gcSurvivals counter | ** update mark() to increment a new gcSurvivals counter | ||
** update reap() to detect objects that have previously survived GC | ** update reap() to detect objects that have previously survived GC | ||
** implement a new function to promote objects from one generation to another | ** implement a new function to promote objects from one generation to another | ||
** update the naRef after moving one object to another pool (use doswap) | |||
* Provide readonly stats to inspect the GC {{Progressbar|10}} | * Provide readonly stats to inspect the GC {{Progressbar|10}} | ||
* Provide hooks to register custom callbacks to control GC (e.g. from FlightGear) {{Progressbar|10}} | * Provide hooks to register custom callbacks to control GC (e.g. from FlightGear) {{Progressbar|10}} | ||