From d1a186d7d07034b75f1d3fe950804efec3b9089a Mon Sep 17 00:00:00 2001 From: Than McIntosh Date: Wed, 13 Dec 2023 11:37:46 -0500 Subject: [PATCH] doc: add release note fragment on inlining changes Add some material to the "compiler" portion of the release notes describing the 1.22 changes to the inliner. For #61422. Updates #61502. Change-Id: Ic7f1cb7f70752446d2465ea3da6bd7488436342b Reviewed-on: https://go-review.googlesource.com/c/go/+/549395 Reviewed-by: David Chase Reviewed-by: Matthew Dempsky LUCI-TryBot-Result: Go LUCI --- doc/go1.22.html | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/doc/go1.22.html b/doc/go1.22.html index 1ac0e7e6ee..c4337f1fe7 100644 --- a/doc/go1.22.html +++ b/doc/go1.22.html @@ -219,6 +219,18 @@ defer func() { 14% improvement from enabling PGO.

+

+ The compiler now interleaves devirtualization and inlining, so interface + method calls are better optimized. +

+ +

+ Go 1.22 also includes a preview of an enhanced implementation of the compiler's inlining phase that uses heuristics to boost inlinability at call sites deemed "important" (for example, in loops) and discourage inlining at call sites deemed "unimportant" (for example, on panic paths). + Building with GOEXPERIMENT=newinliner enables the new call-site + heuristics; see issue #61502 for + more info and to provide feedback. +

+

Linker

-- 2.50.0