12 | | * Define Lorito ops and semantics (ffi, arg format, binary format, registers, ops, syscalls, text format, etc). |
13 | | * Discuss the eventual PBC format and how to allow Lorito-based dynops and PIR ops while avoiding excessive bytecode bloat. |
14 | | * If it's agreed that PBC should not store Lorito ops directly, a separate Lorito format should be discussed. |
15 | | * Decide whether Lorito bytecode is something we expect to distribute or if it will exist only as a local caching optimization. |
| 12 | * Define Lorito ops and semantics. |
| 13 | * Primary issues (should be decided before serious prototyping can begin): |
| 14 | * how to deal with native types and call C-level functions (ffi) |
| 15 | * arg format (fixed three-arg format, variable, other) |
| 16 | * classes of ops |
| 17 | * security model |
| 18 | * interaction with PMCs |
| 19 | * registers (will PMCs have distinct registers or be represented simply as pointers) |
| 20 | * Secondary issues (can be decided as implementations progress): |
| 21 | * binary format (i.e. will PBC eventually contain Lorito) |
| 22 | * textual format |
| 23 | * composition of PIR ops from Lorito ops |
| 24 | * how will bytecode be used (i.e. local caching optimization, distributed directly, only present as an intermediate step during compilation) |
| 25 | * minimizing bytecode bloat (if PBC will eventually become Lorito-based) |