-
Notifications
You must be signed in to change notification settings - Fork 726
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
Use a shared null object for all Stores. #1860
Conversation
What is the goal of this change? Is it an optimization or something about being able to share this object between stores? If its an optimization then I would ask why such micro-optimizations are needed? Are you huge number of stores? |
It is a simple optimization. If you think this is unnecessary, I can close the PR. I would like to help improving the interpreter, is there any task which is useful for you? I would focus on garbage collection and memory, but I can help with other things. |
If the optimization is to avoid the bytes needed to represent NULL in each store I do think it might be premature, yes. I imagine this is a couple of words of memory per-store? But I don't know if anyone who uses the wabt interpreter on a scale where that would matter. If you are interested in helping out wabt in general what would be great! Let me go through the open issues and prioritize some of them and get back to you. |
Thank you for the suggestion. At first sight it looks like it adds a new struct / array related code. The work looks quite a big, and does a lot of different things. Is it possible to split this into well defined subtasks? I see references to draft documents. Is there a final version available somewhere? |
The GC proposal is still in flight but recently reached stage 2 so is less likely to have huge changes going forward. But yes, I think it pretty large amount of work. There are certainly many smaller issues in wabt that we could have you look at. |
I am ok working on this but I would prefer to do incremental changes rather than a huge patch, Something like introducing the support of some opcodes, and adding tests for them. I am still new here and needs to learn a lot. This document mentions two prerequisites: Are these supported? If not, and not too complicated, maybe I could try to do them. But I am open to any ideas. |
Another useful task that could be more reasonable in size would be to update the That process bascially ensure that wabt stays to-to-date with any specs that it purports to support. |
Closing as dormant (it looks like we decided not to do this). |
No description provided.