[parrot/parrot] 2cd0e7: Added early GC PMC reclamation to GC GMS.

GitHub noreply at github.com
Mon Jul 2 22:04:48 UTC 2012


  Branch: refs/heads/chromatic/early_pmc_gc
  Home:   https://github.com/parrot/parrot
  Commit: 2cd0e7e9316d8e32d79e872cea44767ee76d8ad1
      https://github.com/parrot/parrot/commit/2cd0e7e9316d8e32d79e872cea44767ee76d8ad1
  Author: chromatic <chromatic at wgz.org>
  Date:   2012-07-02 (Mon, 02 Jul 2012)

  Changed paths:
    M src/gc/gc_gms.c
    M t/op/gc.t

  Log Message:
  -----------
  Added early GC PMC reclamation to GC GMS.

This makes the "sweep 0" opcode reclaim all PMCs in the youngest generation
which have their early GC flag set. Set this with the "needs_destroy" opcode.

If you don't know what you're doing, you can cause great harm. If you do know
what you're doing, you can force a cheap GC run every few thousand PMC
allocations to reclaim PMCs you know won't be used ever again without running a
full mark and sweep or waiting to bump up against a memory limit.

This comes with the appropriate warning: YOU are performing manual escape
analysis. If you get that wrong, you'd better have a spectacular test suite to
demonstrate that you have it wrong.


  Commit: 7ec2cafe38870a4d47e3aa2cca45f538b74970f0
      https://github.com/parrot/parrot/commit/7ec2cafe38870a4d47e3aa2cca45f538b74970f0
  Author: chromatic <chromatic at wgz.org>
  Date:   2012-07-02 (Mon, 02 Jul 2012)

  Changed paths:
    M src/gc/gc_gms.c

  Log Message:
  -----------
  Ran headerizer on new lazy GC code.


  Commit: 80475023905ba3944c140b1b439ceee97775a0f5
      https://github.com/parrot/parrot/commit/80475023905ba3944c140b1b439ceee97775a0f5
  Author: chromatic <chromatic at wgz.org>
  Date:   2012-07-02 (Mon, 02 Jul 2012)

  Changed paths:
    M src/gc/gc_gms.c

  Log Message:
  -----------
  Added documentation to new GC GMS functions.


  Commit: 1742672e05c4bcc0572d801f10b059cbe31f5a96
      https://github.com/parrot/parrot/commit/1742672e05c4bcc0572d801f10b059cbe31f5a96
  Author: chromatic <chromatic at wgz.org>
  Date:   2012-07-02 (Mon, 02 Jul 2012)

  Changed paths:
    M src/gc/gc_gms.c

  Log Message:
  -----------
  Added headerization.


Compare: https://github.com/parrot/parrot/compare/2cd0e7e9316d^...1742672e05c4


More information about the parrot-commits mailing list