Version 13 (modified by allison, 13 years ago) |
---|
Tasks
- Create an incremental tri-color mark GC module
- Integrate the new incremental GC into the existing system
- Improve abstraction/encapsulation for existing GC modules.
- Rename files in src/gc for sanity, suggested names:
- memory.c -> alloc_memory.c or mem_allocate.c
- register.c -> alloc_registers.c or reg_allocate.c
- resources.c -> alloc_resources.c or resource_allocate.c
- If there are any non-API functions in src/gc/api.c move them into another file, possibly src/gc/common.c to indicate that they're internal to the GC system only, but shared between all the GC modules.
- Collapse src/gc/smallobject.c into src/gc/api.c.
- Consider deleting src/gc/res_lea.c (doesn't work anyway)
- Move src/malloc.c and src/malloc-trace.c into src/gc (not strictly GC, but want to group all memory management), consider deleting if only used by src/gc/res_lea.c
Completed Tasks
Renamed all API functions to Parrot_gc_* (r34775).
Renamed files:
- dod.c -> api.c and dod.h -> gc_api.h (r34774)
- gc_gms.c -> generational_ms.c (r34795)
- gc_ims.c -> incremental_ms.c (r34796)
Branch History
svn copy https://svn.perl.org/parrot/trunk \
-m "Creating a branch for the first round of GC refactoring."
initial revision: r34100
SVK merged r34113
svn copy https://svn.perl.org/parrot/trunk \
-m "Creating a branch for a second round of GC refactoring, cleanups and code reorganization."
initial revision: r34686
Brought the GC refactoring branch up to date with trunk r35194. (chromatic)
new revision: r35195