Closed
Description
For instance, adding a conditional direct call to the concrete type of the hottest callee of an interface call.
Converting:
iface.Bar()
to
t, ok := iface.(Concrete)
if ok {
t.Bar()
} else {
iface.Bar()
}
This can enable inlining of the hot path. It won't affect escape analysis because the fallback path still escapes.