-
Notifications
You must be signed in to change notification settings - Fork 18k
cmd/compile: document go:systemstack comment #12454
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
I don't think we should get rid of this feature. It is nice to annotate and check that routines that should not run on a normal Go stack don't in fact do that. We don't have any C code that needs this checking anymore, but there is Go code (and assembly, probably) that does. We should probably be using go:systemstack in other places, for example in all the stack copying code, signal handlers, etc. Maybe a rename of Cfunc and morestackc is in order, though. |
SGTM. I've changed this issue to call for documenting it, presumably in cmd/compile/doc.go. |
I think we can just restrict it to package runtime, and then we
don't have the need to document it (like go:nowritebarrier).
|
That works for me too. |
CL https://golang.org/cl/14274 mentions this issue. |
Now that the runtime has been entirely converted from C to Go, I believe we can remove the go:systemstack comment. It follows that we can remove the Cfunc field from Lsym, remove all the uses of it, and remove the morestackc function.
I see exactly one remaining use of go:systemstack, on persistentalloc1 in runtime/malloc.go.
CC @randall77 in case you disagree.
The text was updated successfully, but these errors were encountered: