Skip to content

Pack all ops that do not take arguments in memory 2 to a word #2

@strinsberg

Description

@strinsberg

The major issue with the use of 16 bit words is that it is a waste of space. I tried to think of a way to pack more information into some of the ops, but it didn't really help much. The only ops that cannot be packed easily are those that take an argument, only push and dpush. They will need to be treated in a way that guarantees all literal arguments are aligned properly. The rest of the ops can be stored 2 at a time in a word and the main loop can decode them and evaluate both before getting the next word from memory.

This is a Major change because it will break all existing tests and require complimentary adjustments to the assembler. It is also not a required change, so if new useful features will be compatible with the changes those features should be prioritized over this change.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions