-
-
Notifications
You must be signed in to change notification settings - Fork 670
Update internal ABI to zero/sign-extend where necessary only #87
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
Conversation
One more missing piece is remembering wrap status of locals thoughout flows. Without, occurences of This can't be done for globals because these are shared between functions, so I decided to wrap |
…h flows; Create wrappers for binaryen functions that expect non-tagged pointers
Tagging has the disadvantage that it doesn't take the target type of an expresssion into account when converted. Also required applying and checking tags in a lot of places, which now all happens in the canOverflow check instead.
Ok, I think the most common cases should be handled now, but there are more opportunities along the road. Thinking of merging and adding an issue to track additional optimizations - maybe? |
Great idea. Also Alan working on souper branch which could be cover other optimization scenarios when it landed |
Related issue: #38
Previous behaviour was:
New behavior is:
get_local
s .