[parrot/parrot] 0f8993: Implement 2-pass sweep.

GitHub noreply at github.com
Fri May 11 00:48:32 UTC 2012


  Branch: refs/heads/whiteknight/gc_two_stage_sweep
  Home:   https://github.com/parrot/parrot
  Commit: 0f8993b772b770a2390a0ac2132c48fac7142073
      https://github.com/parrot/parrot/commit/0f8993b772b770a2390a0ac2132c48fac7142073
  Author: Whiteknight <wknight8111 at gmail.com>
  Date:   2012-05-10 (Thu, 10 May 2012)

  Changed paths:
    M src/gc/gc_gms.c

  Log Message:
  -----------
  Implement 2-pass sweep.

Sweep all generations looking for dead PMCs. Call VTABLE_destroy if necessary and add them to a dead_list. Next, iterate the dead_list, freeing memory. This scheme should completely avoid order-of-destruction issues, because all PMCs are kept alive until all destroy vtables are called. moritz++ for the idea. bacek++ for writing such easy-to-hack GC code.





More information about the parrot-commits mailing list