Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
strinsberg opened this issue Sep 13, 2021 · 0 comments
Open

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

strinsberg opened this issue Sep 13, 2021 · 0 comments
Labels
backburner Things that we want to do, but can wait breaking change enhancement New feature or request

Comments

@strinsberg
Copy link
Owner

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.

@strinsberg strinsberg added enhancement New feature or request backburner Things that we want to do, but can wait breaking change labels Sep 13, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backburner Things that we want to do, but can wait breaking change enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant