I have started looking at dynamic classes. I have currently - new subdirectory /dynclasses - small hack for classes/pmc2c.pl to consider this directory too - dynclasses/foo.pmc, dynclasses/Makefile (unportable, but short ;-)
That works fine so far, it builds F<foo_pmc.so>. Now we would need: - an allocated *Parrot_base_vtables [1] - the count of available PMCs (current enum_class_max) - and finally an opcode to load and initialize that I'm thinking here of the currently unused C<loadext> opcode, which could be expanded, to load all kinds of extensions. This opcode would need additionally: - a flag, stating e.g. a dynamic PMC is loaded - a signature for the init function to call
[1] per interpreter, because different threads might have different pmc classes loaded?
Comments welcome, leo