Ticket #1879 (closed deprecation: fixed)

Opened 4 years ago

Last modified 3 years ago

Deprecate Parrot_compreg

Reported by: whiteknight Owned by: whiteknight
Priority: normal Milestone:
Component: none Version: master
Severity: medium Keywords: deprecation
Cc: Language:
Patch status: Platform: all

Description

The Parrot_compreg function registers a C function pointer as an NCI PMC in the IGLOBALS_COMPREG_HASH global. This is only used by IMCC, and is not really a sustainable solution. Basic NCI PMCs do not follow the interface suggested in PDD31, although that's not really the biggest problem here.

A much more sustainable solution would be a function which takes a compiler PMC and registers it. IMCC and any other utility that wants to, can create it's own NCI PMC and register that through the same interface.

I would like to deprecate the Parrot_compreg function and replace it with a more sustainable and extendable interface.

Change History

Changed 4 years ago by whiteknight

  • owner set to whiteknight

Changed 4 years ago by coke

The code in Parrot_compreg is similar to that in the <compreg> opcode;
please take care not to break the op as part of this ticket.

Changed 3 years ago by whiteknight

  • status changed from new to assigned
  • type changed from RFC to deprecation
  • milestone 2.11 deleted

I have added the deprecation notice for this function, It will go away shortly after 3.6. I will take special care to not harm the compreg op, and will increase test coverage of that op if necessary.

Changed 3 years ago by whiteknight

  • status changed from assigned to closed
  • resolution set to fixed

As promised, Parrot_compreg was removed from master. This was all dead code, and there was no change in behavior with the compreg opcode.

Note: See TracTickets for help on using tickets.