Changes between Version 3 and Version 4 of PMCUnionDeprecationTasklist

Show
Ignore:
Timestamp:
01/14/09 23:26:27 (6 years ago)
Author:
whiteknight
Comment:

adding a note about how this relates to the GC, which is going to need updatin'

Legend:

Unmodified
Added
Removed
Modified
  • PMCUnionDeprecationTasklist

    v3 v4  
    1515Because the PMC union struct is part of a PMC's internals, its use is affected by PMC inheritance.  The following image shows the dependencies between all *core* PMCs.  This does not include PMCs from HLLs.  Because of these dependencies, all PMCs in a given dependency tree will have to be updated simultaneously.  This only means that all instances of e.g. PMC_struct_val will have to be updated, not all instances of all PMC_x_val. 
    1616[[Image(wiki:PMCUnionDeprecationTasklist:pmc_deps.png)]] 
     17 
     18== Notes == 
     19 
     20*Array PMCs need to have their mark VTABLE methods updated to actually mark the elements inside them. src/gc/mark_sweep.c:Parrot_gc_trace_pmc_data() attempts to do this by mucking around with PMC_data_typed(). Once the mark VTABLE methods are updated to do The Right Thing, Parrot_gc_trace_pmc_data() can be deprecated along with the PObj_data_is_PMC_array_FLAG. All arrays should instead be marked with PObj_custom_mark_FLAG to call the proper mark VTABLE methods.