Ticket #301 (closed RFC: wontfix)
kill morph VTABLE
Reported by: | whiteknight | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | core | Version: | |
Severity: | low | Keywords: | |
Cc: | Language: | ||
Patch status: | Platform: |
Description
I'm doing some work converting the morph VTABLE interface to take class PMCs instead of INTVAL type ids. I'm finding a few issues:
1) Only 5 PMCs implement morph, and most of the custom implementations of it are identical functionally to that found in the default PMC. They all basically call pmc_reuse() with no other actions or side effects. 2) A lot of the PMC classes we try to morph to don't have class PMCs available, so I've been replacing a lot of VTABLE_morph calls with pmc_reuse calls in the branch.
I'm suggesting here that we remove "morph" as a vtable. Almost all of the calls can be replaced with pmc_reuse() calls directly. If we want to keep the morph opcode, we can turn it into a thin wrapper over the pmc_reuse function. Of course, that's only if anybody is really using morph, which I am starting to doubt.
Any thoughts on this?