Skip to content

cmd/compile: PGO devirtualization of closures #64675

@prattmic

Description

@prattmic

https://go.dev/cl/539699 adds PGO devirtualization of calls to function values, but it is limited to callees that are standard functions. Closures (any function requiring closure context) are excluded due to the extra complexity of passing the closure context.

It should be feasible to devirtualize these calls, but will require extra work in SSA to pass a closure context to a closure call as well as work in IR to represent such static closure calls.

cc @cherrymui @aclements @mdempsky

Metadata

Metadata

Assignees

No one assigned

    Labels

    NeedsInvestigationSomeone 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.

    Type

    No type

    Projects

    Status

    Todo

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions