- struct PackFile is now a PackFile_Directory holding BYTECODE, CONSTANT, FIXUP and some other segments
- directories can have subdirectories which can be e.g. loaded packfiles
- ... which is done by the C<load_bytecode> opcode
- there is a fixup_find() functionality (currently just iterating over all segments and for global labels only)
- C<branch_cs> can jump to a label in a different packfile (still via resume, which finally will not be needed)
So this works already:
$ cat ext.pasm _ext_main: print "in ext.pbc\n" end
$ cat main.pasm _main: load_bytecode "ext.pbc" print "ok loaded\n" branch_cs "_ext_main" print "not reached\n" end $ parrot -o ext.pbc ext.pasm $ parrot main.pasm ok loaded in ext.pbc
TODOs (too much to list her ;-)
Have fun, leo