[parrot/parrot] 051857: Added set_pmc_keyed_str() VTABLE to Exception PMC.

GitHub noreply at github.com
Tue Jul 3 20:57:02 UTC 2012


  Branch: refs/heads/chromatic/early_pmc_mark_throws_exception
  Home:   https://github.com/parrot/parrot
  Commit: 051857bd982b2a3146829e699808b09432689dc9
      https://github.com/parrot/parrot/commit/051857bd982b2a3146829e699808b09432689dc9
  Author: chromatic <chromatic at wgz.org>
  Date:   2012-07-03 (Tue, 03 Jul 2012)

  Changed paths:
    M src/pmc/exception.pmc

  Log Message:
  -----------
  Added set_pmc_keyed_str() VTABLE to Exception PMC.


  Commit: 8896a87ec7a1966efcbe5c58fe3a1218c8aeb662
      https://github.com/parrot/parrot/commit/8896a87ec7a1966efcbe5c58fe3a1218c8aeb662
  Author: chromatic <chromatic at wgz.org>
  Date:   2012-07-03 (Tue, 03 Jul 2012)

  Changed paths:
    M include/parrot/exceptions.h
    M src/gc/gc_gms.c
    M t/op/gc.t

  Log Message:
  -----------
  Added GC exception when marking early_GC PMC.

This may cause weird errors, depending on your use of the needs_destroy opcode.
Because nothing currently sweeps up early_GC PMCs, they may exist somewhere in
your object graph.

That does allow an interesting debugging possibility, however: mark such PMCs
and catch the exceptions to see if you have references to them from places you
don't expect.

Note that a couple of the t/op/gc.t tests fail. Those failures make sense to
me, but the tests themselves don't. A little more sanity there might make the
intentions more obvious.


Compare: https://github.com/parrot/parrot/compare/051857bd982b^...8896a87ec7a1


More information about the parrot-commits mailing list