Skip to content
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: use memmove to initialize non-global static data #29693

Open
josharian opened this issue Jan 11, 2019 · 0 comments
Open

cmd/compile: use memmove to initialize non-global static data #29693

josharian opened this issue Jan 11, 2019 · 0 comments
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. NeedsFix The path to resolution is known, but the work has not been done. Performance
Milestone

Comments

@josharian
Copy link
Contributor

This is a duplicate of #29573 (comment) and #29574 (comment), but split out so that it doesn't get lost in the other discussions.

When initializing static data in a function (non-global) context, we generate code to construct the desired object. In some (most?) cases, it'd be preferable to have a static data symbol containing the desired object and then copy it into place using memmove/typedmemmove.

See those issues/comments for more details.

cc @dsnet @randall77

@josharian josharian added Performance NeedsFix The path to resolution is known, but the work has not been done. labels Jan 11, 2019
@josharian josharian added this to the Go1.13 milestone Jan 11, 2019
@andybons andybons modified the milestones: Go1.13, Go1.14 Jul 8, 2019
@rsc rsc modified the milestones: Go1.14, Backlog Oct 9, 2019
@gopherbot gopherbot added the compiler/runtime Issues related to the Go compiler and/or runtime. label Jul 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. NeedsFix The path to resolution is known, but the work has not been done. Performance
Projects
Status: Triage Backlog
Development

No branches or pull requests

4 participants