Changes between Version 1 and Version 2 of GenerationalMarkSweep
- Timestamp:
- 05/02/10 00:33:54 (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GenerationalMarkSweep
v1 v2 15 15 automatically. 16 16 17 * Add {{{VTABLE *write_barrier_variant}}} into {{{VTABLE}}}17 * Add {{{VTABLE *write_barrier_variant}}} and {{{normal_variant}}} into {{{VTABLE}}} 18 18 * Patch Pmc2c to create new "write barrier" VTABLE. 19 19 * Every method marked with :write will have body like this … … 21 21 VTABLE_foo() { 22 22 Parrot_gc_write_barrier(INTERP, SELF); 23 SELF->vtable = SELF->vtable-> write_barrier_variant;23 SELF->vtable = SELF->vtable->normal_variant; 24 24 SELF.foo(); 25 25 } … … 28 28 * GMS will have {{{current_generation}}} property during mark. 29 29 * {{{Parrot_gc_mark_PMC_alive}}} will skip older objects during marking. 30 * When PMC propogated to older generation we will uipdate {{{generation}}} field and replace VTABLE with {{{write_barrier_variant}}}