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: treat pointer-to-go:notinheap types as scalar #22519

Open
mdempsky opened this Issue Oct 31, 2017 · 0 comments

Comments

Projects
None yet
1 participant
@mdempsky
Member

mdempsky commented Oct 31, 2017

In the runtime, we have the go:notinheap directive to flag types that can never appear in the Go heap. The compiler currently uses this directive to omit write barriers for *T-typed slots when T is marked go:notinheap.

However, we still mark *T-typed slots as pointers in the GC maps, worry about zero-initializing them, allocate them in the .bss/.data sections instead of .noptrbss/.noptrdata sections, etc. This issue is about determining whether we can just treat them as scalars instead; and if so, implementing that change.

See also brief discussion in CL 73412.

/cc @aclements

@mdempsky mdempsky added this to the Unplanned milestone Oct 31, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment