Version 2 (modified by cotto, 13 years ago)

--

Intro

The PMC Union is being deprecated, which means that any instances of PMC_int_val, etc need to disappear. This is a big job with several gotchas.

What Needs to Happen

Allison  explained in depth how to convert code.

Many uses of PMC_x_val are outside of the core PMC code. These should be converted to VTABLE functions wherever possible, since VTABLE functions make no assumptions about PMC internals.

Inheritance

Because 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. http://mksig.org/img/pmc_deps.png

Attachments