| 1 | |
| 2 | = Miscellanea and General Cleanup = |
| 3 | |
| 4 | - Don't differentiate between "initial" packfiles and others. We should initialize the interpreter properly, and load all packfiles in through a common interface |
| 5 | - Break up src/packfile/api.c into a series of smaller files, by separating out functions that work on similar things |
| 6 | - Allocate Packfile stuctures through the GC fixed size allocator, not mem_sys_alloc and friends |
| 7 | - Don't use PARROT_EXPORT for anything (with *very few* exceptions) in src/packfile/*. This subsystem should be private and should not be used by external utilities |
| 8 | - Rename subsystem API functions to Parrot_pf_* |
| 9 | - Don't differentiate between PBC_LOAD and PBC_INIT functions in a packfile |
| 10 | - The PackFile structure should keep track of the current PBC_MAIN function, and not rely on storing a reference to it in CURRENT_CONTEXT(interp). This way we can query the main function of any packfile at any time |
| 11 | - Packfile functions should not write to Parrot_io_printf or Parrot_io_eprintf directly. Functions should throw exceptions on error, or print errors to an error buffer so an embedding application and choose where to send it. |
| 12 | - break compile_or_load file into two functions, one that loads a .pbc file, and one that compiles a PIR function. Deprecate the later. |
| 13 | - Parrot_load_language is an HLL function. it belongs in src/hll.c or similar, not in src/packfile/api.c |
| 14 | |
| 15 | |
| 16 | = Segment Dump Operations = |
| 17 | |
| 18 | There are utilities for dumping the contents of a Packfile. These need help: |
| 19 | |
| 20 | - All dump-related functions should move to src/packfile/packdump.c |
| 21 | - These functions should not output to stdout. Either add to a STRING, a StringBuilder, or some kind of new PackfileDumpVisiot |
| 22 | - These functions should not be part of struct PackFile_funcs |
| 23 | - Actually, do these functions belong in src/packfile/* at all, or in frontends/pbc_dump/*? Or, do they belong as PMC methods? |
| 24 | |