-
Notifications
You must be signed in to change notification settings - Fork 18.4k
Closed
Labels
FrozenDueToAgeNeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.Performancecompiler/runtimeIssues related to the Go compiler and/or runtime.Issues related to the Go compiler and/or runtime.
Milestone
Description
https://go.dev/cl/492436 implements the bare minimum of a PGO devirtualization implementation. There are still numerous limitations that we would like address shortly:
- Callees not directly referenced in the current package can be missed (even if they are in the transitive dependences). https://go.dev/cl/497175
- Only interface method calls are supported, not other indirect function calls.
- Callees that only partially implement an interface (they are embedded in another type that completes the interface) cannot be devirtualized. -> cmd/compile: PGO devirtualization of partial interface implementations #64673
- Closures cannot be inlined -> cmd/compile: PGO devirtualization of closures #64675
- Callees may be missing from export data -> cmd/compile: include PGO devirtualization targets in export data #64676
Metadata
Metadata
Assignees
Labels
FrozenDueToAgeNeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.Performancecompiler/runtimeIssues related to the Go compiler and/or runtime.Issues related to the Go compiler and/or runtime.