Hey all. I'm having a parrot-project weekend, y'all might have noticed. Right now, I'm thinking of multiple oplibs, specificly how to get the bytecode/packfile to express it. Here's what I'm thinking: The high 16 bits (or so) of the opcode can identify the oplib (as an index to the table of oplibs, see the next para), the rest can identify the opcode. This shouldn't be too bad a limit: 64k opcodes perl oplib, 64k oplibs per packfile. There should be a table of oplibs used (probably in the fixup section, but possibly in imports) in the packfile. Each entry should have the name of the oplib and a signature. (The index is implicitly inorder.)
The number one problem I see with this is that when we can dynamicly load bytecode, different peices might want to have different oplibs. The best way I see to handle this is to know in the runops core that we're dispatching to a different set of tables when we cross boundries between opcode peices. I'm going to set about implementing this now. -=- James Mastros