You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Perhaps I am missing something and there's a valid reason for this, but it seems to me that we could use this sequence once and save 40+ bytes of instructions. Not sure if it's occuring anywhere else.
The text was updated successfully, but these errors were encountered:
If you look at the line table information, you'll see that there are different line numbers associated with each of those instruction blocks. There are three of them because there are three different return true statements in the function. It's not possible for a Go compiler to merge instruction sequences in the general case, because that will cause a panic to show the wrong line number. This particular instruction sequence probably can't panic, but a signal is still a possibility. It's not clear to me whether these instructions can be merged or not.
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (
go env
)?go env
OutputWhat did you do?
Looked at the assembly code of runtime.adjustframe.
What did you expect to see?
I expected to see this once since there's a ret.
What did you see instead?
Perhaps I am missing something and there's a valid reason for this, but it seems to me that we could use this sequence once and save 40+ bytes of instructions. Not sure if it's occuring anywhere else.
The text was updated successfully, but these errors were encountered: