#218: can't sort a PIR subclass of an RPA.
-------------------------+--------------------------------------------------
Reporter: coke | Owner: whiteknight
Type: bug | Status: reopened
Priority: normal | Milestone: 1.1
Component: core | Version:
Severity: high | Resolution:
Keywords: tcl blocker | Lang:
Patch: | Platform: all
-------------------------+--------------------------------------------------
Comment(by whiteknight):
Okay, I talked with pmichaud++ and jonathan++ tonight, and I've come up
with a bit of a game plan that we can use to resolve this issue (although
it will take at least one deprecation cycle):
1) Change the Sub, Continuation, EventHandler, and other PMCs to not rely
on get_addr and set_addr anymore. This will help to remove the very-
volatile get_pointer and set_pointer VTABLEs from being exposed to PIR
code (which can easily create segfaults if misused with other types of
PMCs that don't expect it).
2) Remove the set_addr opcode entirely.
3) Change the get_addr opcode to return the memory address of the PMC
passed into it. This is needed by Rakudo at least, and probably by other
HLLs as well eventually.
4) Change FixedPMCArray (and maybe other array PMCs) to use get_pointer to
return a pointer to the underlying C array. This will improve
encapsulation and allow subclassed types to inherit the sort() method
properly.
Does this plan sound decent?
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/218#comment:16>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets