vm: support noreinit option

This commit is contained in:
Irmen de Jong
2022-04-03 17:07:26 +02:00
parent 95f16c38a9
commit 5b3ccab7dc
4 changed files with 19 additions and 38 deletions

View File

@@ -3,10 +3,10 @@ TODO
For next release
^^^^^^^^^^^^^^^^
- vm: support no globals re-init option
- vm: make registers typed? so that it's immediately obvious what type they represent. Much like regular variables in memory.
- vm: don't store symbol names in instructions to make optimizing the IR easier? but what about jumps to labels. And it's no longer readable by humans.
- vm codegen/assembler: variable memory locations should also be referenced by the variable name instead of just the address, to make the output more human-readable
- vm: make registers typed? so that it's immediately obvious what type they represent. Much like regular variables in memory.
so we have a set of byte registers, a set of word registers, and other sets if we introduce other types.
- vm: don't store symbol names in instructions to make optimizing the IR easier? but what about jumps to labels. And it's no longer readable by humans.
- vm: how to remove all unused subroutines? (in the assembly codegen, we let 64tass solve this for us)
- vm: rather than being able to jump to any 'address' (IPTR), use 'blocks' that have entry and exit points -> even better dead code elimination possible too
- when the vm is stable and *if* its language can get promoted to prog8 IL, the variable allocation should be changed.