Ticket #1475 (new bug)

Opened 5 years ago

Last modified 4 years ago

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

Reported by: plobsing Owned by:
Priority: normal Milestone:
Component: build Version: 2.1.0
Severity: medium Keywords:
Cc: Language:
Patch status: Platform:

Description

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.

Change History

  Changed 5 years ago by plobsing

  • owner cotto deleted

in reply to: ↑ description   Changed 5 years ago by plobsing

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.

  Changed 4 years ago by coke

  • component changed from pmc2c to build

  Changed 4 years ago by jkeenan

Peter,

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

Thank you very much.

kid51

Note: See TracTickets for help on using tickets.