Version 22 (modified by whiteknight, 6 years ago)

--

Tasks

  • Create an incremental tri-color mark GC module
  • Integrate the new incremental GC into the existing system (See #670)
  • Rename files in src/gc for sanity, suggested names:
    • memory.c -> alloc_memory.c or mem_allocate.c (r39002)
    • register.c -> alloc_registers.c or reg_allocate.c (r39003)
    • resources.c -> alloc_resources.c or resource_allocate.c (r39004)
  • Collapse src/gc/smallobject.c into src/gc/api.c.(r39022 and r39023)
  • Consider deleting src/gc/res_lea.c (doesn't work anyway) (See #655 and #490)
  • 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 (r39006)

Completed Tasks


Improve abstraction/encapsulation for existing GC modules. (r38654 and later)

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. (r38654 file currently named "mark_sweep.c")


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 \

 https://svn.perl.org/parrot/branches/pdd09gc_part1 \

-m "Creating a branch for the first round of GC refactoring."

initial revision: r34100

SVK merged r34113


(allison) svn copy  https://svn.perl.org/parrot/trunk \

 https://svn.perl.org/parrot/branches/pdd09gc_part2 \

-m "Creating a branch for a second round of GC refactoring, cleanups and code reorganization."

initial revision: r34686

(chromatic)

Brought the GC refactoring branch up to date with trunk r35194.

new revision: r35195

(allison)

svn merge -r35194:HEAD  https://svn.perl.org/parrot/trunk/

new revision: r35369

[pdd09gc] Bringing the pdd09gc_part2 branch up-to-date with trunk r35369.

(allison)

svn merge -r35369:HEAD  https://svn.perl.org/parrot/trunk/

new revision: r35373

[pdd09gc] Bringing the pdd09gc_part2 branch up-to-date with trunk r35373.

(allison)

svn merge -r34686:HEAD  https://svn.perl.org/parrot/branches/pdd09gc_part2/

new revision: r35374

[pdd09gc] Merging the pdd09gc_part2 branch into trunk for r34686 to r35374. GC refactor: reorganize code for sanity and maintainability.

(allison)

svn delete  https://svn.perl.org/parrot/branches/pdd09gc_part2 -m "Removing second GC development branch from the repository"

new revision: r35380