Here is s short overview of the current packfile changes til now (PackFile-6).
- 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



Reply via email to