[Pmc2c] make METHOD and MULTI consistent in terms of how PCC is done #566

Open
plobsing opened this Issue Feb 23, 2010 · 2 comments

Comments

Projects
None yet
2 participants
Contributor

plobsing commented Feb 23, 2010

Currently, pmc2c generates the boilerplate to do PCC stuff in methods. However, if the method is multi, pmc2c uses NCI to do PCC.

There are likely advantages and disadvantages to both approaches (duplicate code vs potential object system bootstrapping issues). One thing is clear to me: whichever mechanism is used, these should be doing things the same way.

Originally http://trac.parrot.org/parrot/ticket/1475

Contributor

plobsing commented Mar 5, 2010

Replying to plobsing:

Currently, pmc2c generates the boilerplate to do PCC stuff in methods. However, if the method is multi, pmc2c uses NCI to do PCC. There are likely advantages and disadvantages to both approaches (duplicate code vs potential object system bootstrapping issues). One thing is clear to me: whichever mechanism is used, these should be doing things the same way.

This was discussed in a thread that went somewhat off-topic on the parrot-dev mailing list,  [RFC] removing library NCI signatures from core. Some points that came out of the discussion were:

  • NCI thunks don't (and shouldn't) cover all of the PCC functionality required by methods, so methods shouldn't use NCI thunks.
  • Thunked and raw NCI are fundamentally different and should have different supporting PMCs to make this distinction, to simplify implementation, and to allow raw NCI to provide signature introspection.
Contributor

jkeenan commented Oct 17, 2010

Peter,

Do you have any further thoughts about the issues raised in this ticket?

Thank you very much.

kid51

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment