-
-
Notifications
You must be signed in to change notification settings - Fork 672
how to disable generation "trampoline" code? #102
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
Comments
The trampoline is generated if a function with optional arguments is called with omitted arguments. It basically wraps up the initializers of optional arguments in a proper context and calls the original function with them. If you always call functions with optional arguments with all arguments provided, no trampolines must be generated. |
This reminds me that a few optimizations could be performed there. One is that if default values of omitted arguments are zero anyway, another one is if default values are constants that can be inlined into the call. |
…102; Fix temporary local flags not being cleared; Fix inlined temporary locals not being free'd; Fix inlined flows not breaking after returns; Allow changetype of u32s, i.e. function pointers
Closing this issue for now as it hasn't received any replies recently, so I assume that the optimizations implemented above address it sufficiently. Feel free to reopen if necessary! |
The text was updated successfully, but these errors were encountered: