-
Notifications
You must be signed in to change notification settings - Fork 18k
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
cmd/compile: don't copy args and externs into new stack slots #12070
Comments
Yes, it is unnecessary for args. It seems necessary for globals unless we have alias information to know otherwise. |
Are you talking about SSA? I don't believe that the current compiler copies either into the local stack. |
Yes, these are SSA passes. |
Thanks. Please do make sure the args are stored back into their original homes when spilled back to the stack. Debugging the runtime and other programs I depend on the stack trace showing the actual current values of the arguments (if they've been reassigned). |
I'm a little worried about debuggers but at this point it may be too late for Go 1.7. |
This was fixed a while ago, sorry I didn't close the issue. |
The current regalloc and stackalloc passes copy arguments and globals onto the local stack for use. This is unnecessary; they can be loaded from their original homes as needed.
/cc @randall77
The text was updated successfully, but these errors were encountered: