- 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.pbcTODOs (too much to list her ;-)
Have fun, leo
