<feed xmlns='http://www.w3.org/2005/Atom'>
<title>go/src/cmd/compile/internal/inline/inl.go, branch json-isValidNumber-before</title>
<subtitle>Fork of Go programming language with my patches.</subtitle>
<id>http://git.kilabit.info/go/atom?h=json-isValidNumber-before</id>
<link rel='self' href='http://git.kilabit.info/go/atom?h=json-isValidNumber-before'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/'/>
<updated>2023-01-26T00:29:56Z</updated>
<entry>
<title>cmd/compile: change some unreachable code paths into Fatalf</title>
<updated>2023-01-26T00:29:56Z</updated>
<author>
<name>Matthew Dempsky</name>
<email>mdempsky@google.com</email>
</author>
<published>2022-12-02T00:33:59Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=de9bffb5f12c4985d8369c39e158fe946f369e82'/>
<id>urn:sha1:de9bffb5f12c4985d8369c39e158fe946f369e82</id>
<content type='text'>
Now that GOEXPERIMENT=nounified is removed, we can assume InlineCall
and HaveInlineBody will always be overridden with the unified
frontend's implementations. Similarly, we can assume expandDecl will
never be called.

This CL changes the code paths into Fatalfs, so subsequent CLs can
remove all the unreachable code.

Updates #57410.

Change-Id: I2a0c3edb32916c30dd63c4dce4f1bd6f18e07468
Reviewed-on: https://go-review.googlesource.com/c/go/+/458618
Auto-Submit: Matthew Dempsky &lt;mdempsky@google.com&gt;
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: Keith Randall &lt;khr@google.com&gt;
Run-TryBot: Matthew Dempsky &lt;mdempsky@google.com&gt;
Reviewed-by: Keith Randall &lt;khr@golang.org&gt;
</content>
</entry>
<entry>
<title>cmd/compile: remove -d=typecheckinl flag</title>
<updated>2023-01-26T00:28:48Z</updated>
<author>
<name>Matthew Dempsky</name>
<email>mdempsky@google.com</email>
</author>
<published>2022-12-02T00:43:05Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=532e34dd383549cdb415bc3e09b70d23f280524e'/>
<id>urn:sha1:532e34dd383549cdb415bc3e09b70d23f280524e</id>
<content type='text'>
This flag forced the compiler to eagerly type check all available
inline function bodies, which presumably was useful in the early days
of implementing inlining support. However, it shouldn't have any
significance with the unified frontend, since the same code paths are
used for constructing normal function bodies as for inlining.

Updates #57410.

Change-Id: I6842cf86bcd0fbf22ac336f2fc0b7b8fe14bccca
Reviewed-on: https://go-review.googlesource.com/c/go/+/458617
Reviewed-by: Keith Randall &lt;khr@golang.org&gt;
Run-TryBot: Matthew Dempsky &lt;mdempsky@google.com&gt;
Reviewed-by: Keith Randall &lt;khr@google.com&gt;
Auto-Submit: Matthew Dempsky &lt;mdempsky@google.com&gt;
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
</content>
</entry>
<entry>
<title>cmd: remove GOEXPERIMENT=nounified knob</title>
<updated>2023-01-25T21:16:32Z</updated>
<author>
<name>Matthew Dempsky</name>
<email>mdempsky@google.com</email>
</author>
<published>2022-12-02T00:14:11Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=4f467f10820e78add23bf5ddeb1de521aa6f8864'/>
<id>urn:sha1:4f467f10820e78add23bf5ddeb1de521aa6f8864</id>
<content type='text'>
This CL removes the GOEXPERIMENT=nounified knob, and any conditional
statements that depend on that knob. Further CLs to remove unreachable
code follow this one.

Updates #57410.

Change-Id: I39c147e1a83601c73f8316a001705778fee64a91
Reviewed-on: https://go-review.googlesource.com/c/go/+/458615
Run-TryBot: Matthew Dempsky &lt;mdempsky@google.com&gt;
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: Cherry Mui &lt;cherryyz@google.com&gt;
</content>
</entry>
<entry>
<title>cmd/compile: flag 'large' functions when -m=2+ in effect</title>
<updated>2023-01-24T13:28:54Z</updated>
<author>
<name>Than McIntosh</name>
<email>thanm@google.com</email>
</author>
<published>2023-01-03T18:11:10Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=733ba921875ea11088f1f447cbca418f651aae5c'/>
<id>urn:sha1:733ba921875ea11088f1f447cbca418f651aae5c</id>
<content type='text'>
When -m=N (where N &gt; 1) is in effect, include a note in the trace
output if a given function is considered "big" during inlining
analysis, since this causes the inliner to be less aggressive. If a
small change to a large function happens to nudge it over the large
function threshold, it can be confusing for developers, thus it's
probably worth including this info in the remark output.

Change-Id: Id31a1b76371ab1ef9265ba28a377f97b0247d0a7
Reviewed-on: https://go-review.googlesource.com/c/go/+/460317
Reviewed-by: Keith Randall &lt;khr@golang.org&gt;
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
Run-TryBot: Than McIntosh &lt;thanm@google.com&gt;
Reviewed-by: Keith Randall &lt;khr@google.com&gt;
</content>
</entry>
<entry>
<title>all: fix typos in go file comments</title>
<updated>2023-01-20T03:27:26Z</updated>
<author>
<name>Marcel Meyer</name>
<email>mm.marcelmeyer@gmail.com</email>
</author>
<published>2023-01-19T22:26:15Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=b419db6c15519a29ff3d7d2e56d8f115204f8c5d'/>
<id>urn:sha1:b419db6c15519a29ff3d7d2e56d8f115204f8c5d</id>
<content type='text'>
This is the second round to look for spelling mistakes. This time the
manual sifting of the result list was made easier by filtering out
capitalized and camelcase words.

grep -r --include '*.go' -E '^// .*$' . | aspell list | grep -E -x '[A-Za-z]{1}[a-z]*' | sort | uniq

This PR will be imported into Gerrit with the title and first
comment (this text) used to generate the subject and body of
the Gerrit change.

Change-Id: Ie8a2092aaa7e1f051aa90f03dbaf2b9aaf5664a9
GitHub-Last-Rev: fc2bd6e0c51652f13a7588980f1408af8e6080f5
GitHub-Pull-Request: golang/go#57737
Reviewed-on: https://go-review.googlesource.com/c/go/+/461595
Auto-Submit: Ian Lance Taylor &lt;iant@google.com&gt;
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: Ian Lance Taylor &lt;iant@google.com&gt;
Run-TryBot: Ian Lance Taylor &lt;iant@google.com&gt;
Reviewed-by: Robert Griesemer &lt;gri@google.com&gt;
</content>
</entry>
<entry>
<title>cmd/compile: simplify PGO hot caller/callee computation</title>
<updated>2022-11-17T20:52:15Z</updated>
<author>
<name>Cherry Mui</name>
<email>cherryyz@google.com</email>
</author>
<published>2022-11-15T18:32:32Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=3f1bcc58b32dbbf7f27fbe0984b95036ddb249b9'/>
<id>urn:sha1:3f1bcc58b32dbbf7f27fbe0984b95036ddb249b9</id>
<content type='text'>
Currently, we use CDF to compute a weight threshold and then use
the weight threshold to determine whether a call site is hot. As
when we compute the CDF we already have a list of hot call sites
that make up the given percentage of the CDF, just use that list.

Also, when computing the CDF threshold, include the very last node
that makes it to go over the threshold. (I.e. if the CDF threshold
is 50% and one hot node takes 60% of weight, we should include that
node instead of excluding it. In practice it rarely matters,
probably only for testing and micro-benchmarks.)

Change-Id: I535ae9cd6b679609e247c3d0d9ee572c1a1187cc
Reviewed-on: https://go-review.googlesource.com/c/go/+/450737
Reviewed-by: Austin Clements &lt;austin@google.com&gt;
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
Run-TryBot: Cherry Mui &lt;cherryyz@google.com&gt;
</content>
</entry>
<entry>
<title>cmd/compile: adjust PGO inlining default parameters</title>
<updated>2022-11-10T23:11:59Z</updated>
<author>
<name>Cherry Mui</name>
<email>cherryyz@google.com</email>
</author>
<published>2022-11-10T16:33:00Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=1b03568ae18715ad081cc57197b61388c8e6caa4'/>
<id>urn:sha1:1b03568ae18715ad081cc57197b61388c8e6caa4</id>
<content type='text'>
Adjust PGO inlining default parameters to 99% CDF threshold and
2000 budget. Benchmark results (mostly from Sweet) show that this
set of parameters performs reasonably well, with a few percent
speedup at the cost of a few percent binary size increase.

Also rename the debug flags to start with "pgo", to make it clear
that they are related to PGO.

Change-Id: I0749249b1298d1dc55a28993c37b3185f9d7639d
Reviewed-on: https://go-review.googlesource.com/c/go/+/449477
Run-TryBot: Cherry Mui &lt;cherryyz@google.com&gt;
Reviewed-by: Michael Pratt &lt;mpratt@google.com&gt;
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
</content>
</entry>
<entry>
<title>cmd/compile: fix transitive inlining of generic functions</title>
<updated>2022-11-08T21:26:09Z</updated>
<author>
<name>Matthew Dempsky</name>
<email>mdempsky@google.com</email>
</author>
<published>2022-10-17T23:57:07Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=9944ba757b0f8005cfb7715d41592c7e13c0a2b8'/>
<id>urn:sha1:9944ba757b0f8005cfb7715d41592c7e13c0a2b8</id>
<content type='text'>
If an imported, non-generic function F transitively calls a generic
function G[T], we may need to call CanInline on G[T].

While here, we can also take advantage of the fact that we know G[T]
was already seen and compiled in an imported package, so we don't need
to call InlineCalls or add it to typecheck.Target.Decls. This saves us
from wasting compile time re-creating DUPOK symbols that we know
already exist in the imported package's link objects.

Fixes #56280.

Change-Id: I3336786bee01616ee9f2b18908738e4ca41c8102
Reviewed-on: https://go-review.googlesource.com/c/go/+/443535
Run-TryBot: Matthew Dempsky &lt;mdempsky@google.com&gt;
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: David Chase &lt;drchase@google.com&gt;
Auto-Submit: Matthew Dempsky &lt;mdempsky@google.com&gt;
</content>
</entry>
<entry>
<title>cmd/compile: adjust PGO debug output slightly</title>
<updated>2022-11-08T18:10:43Z</updated>
<author>
<name>Cherry Mui</name>
<email>cherryyz@google.com</email>
</author>
<published>2022-11-07T22:05:33Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=e5d2814576937162ce183d5aab09616ae13d983c'/>
<id>urn:sha1:e5d2814576937162ce183d5aab09616ae13d983c</id>
<content type='text'>
- Include the callee names in hot call inlining message.
- Print the graph when pgoinline &gt;= 2.

Change-Id: Iceb89b5f18cefc69ab9256aca9a910743d22ec0f
Reviewed-on: https://go-review.googlesource.com/c/go/+/448496
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
Run-TryBot: Cherry Mui &lt;cherryyz@google.com&gt;
Reviewed-by: Michael Pratt &lt;mpratt@google.com&gt;
</content>
</entry>
<entry>
<title>cmd/compile: fix PGO line offset matching</title>
<updated>2022-11-08T16:35:09Z</updated>
<author>
<name>Cherry Mui</name>
<email>cherryyz@google.com</email>
</author>
<published>2022-11-07T23:04:58Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=0409314db39db8f1d587fff31f79a24f1aa36ad2'/>
<id>urn:sha1:0409314db39db8f1d587fff31f79a24f1aa36ad2</id>
<content type='text'>
Appears to be a typo in CL 447315.

Change-Id: I9f380a3c7521f5ac5a1d7e271eaa60bd4bbcfb29
Reviewed-on: https://go-review.googlesource.com/c/go/+/448515
Run-TryBot: Cherry Mui &lt;cherryyz@google.com&gt;
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: Michael Pratt &lt;mpratt@google.com&gt;
</content>
</entry>
</feed>
