-
Notifications
You must be signed in to change notification settings - Fork 4
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
Promote immediates. #93
Conversation
Any hint what is being promoted here? I assume for |
It's not very easy to follow, but if you follow the chain of macros it eventually ends up getting an integer value from an address relative to the instruction pointer. e.g.
where This looks feasible to me. |
This seems sensible to me |
As Edd said, the macros mean that it's a bit hard to see what's going on. I'm not totally certain if/how to document it, either. |
I guess my question is how did you decide which values to promote? |
Those which are used as immediates in Lua opcodes. Unfortunately you have to do a research hunt to work out how... |
@ptersilie are you happy for me to merge this? |
Yes, please go ahead. |
Hrm, yklua failed to link. |
Leave it to me. |
d9a3ce2 guards the changes with |
Please squash. |
This is a conservative use of `yk_promote` operating on Lua opcodes which themselves use immediates (e.g. OP_ADDI). It does have a small (just over 1% improvement) effect on big_loop.lua, but the main point of this is to show that we can start to move an interpreter in a yk-specific direction.
Squashed. |
This is a conservative use of
yk_promote
operating on Lua opcodes which themselves use immediates (e.g. OP_ADDI). It does have a small (just over 1% improvement) effect on big_loop.lua, but the main point of this is to show that we can start to move an interpreter in a yk-specific direction.Please wait until all reviewers have OKed this, as it's important for us to all see what this sort of thing looks like in practise.