#624: pluggable everything
---------------------+------------------------------------------------------
Reporter: allison | Owner:
Type: roadmap | Status: new
Priority: normal | Milestone: 3.6
Component: none | Version:
Severity: medium | Keywords:
Lang: | Patch:
Platform: |
---------------------+------------------------------------------------------
Comment(by whiteknight):
Replying to [comment:2 Infinoid]:
> We already have dynamic and pluggable HLLs, PMCs, and ops. We also have
dynamic (though not yet pluggable) runcores and GCs. Similarly, I/O
objects are pluggable because they're just PMCs.
I think we're also going to want to include compiler front-ends in this
list. IMCC and PIRC should be able to be swapped out for other front-ends
if wanted.
As to the idea of a pluggable GC, I think that it is certainly very
possible to do. Once we've modified Parrot to support compacting/compiling
GCs, we will be able to deinitialize one core without finalizing it,
initialize the next core, and then move all the headers from one to the
other. Some cores may have an interchangable storage format so we could
just move the pools from one to the other. In other cases will will have
to allocate new pools and arenas and move the headers to them. So long as
we are not in the middle of a mark or a sweep phase, it should be very
possible to hot-plug cores at runtime.
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/624#comment:3>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets