mirror of
https://github.com/golang/go
synced 2024-11-02 11:50:30 +00:00
cmd/compile: optimize unified IR handling of imported functions
This CL skips reading of imported function bodies except from the local package or for inlining. Previously, we wasted a bunch of CPU and memory by reading in normal function bodies for all imported functions and methods. Change-Id: I0b3df3f4a3e2819117dac11a1f9e4526288c14d8 Reviewed-on: https://go-review.googlesource.com/c/go/+/347030 Trust: Matthew Dempsky <mdempsky@google.com> Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
This commit is contained in:
parent
50f38d0405
commit
88859f3cd8
1 changed files with 6 additions and 0 deletions
|
@ -920,6 +920,12 @@ func (r *reader) addBody(fn *ir.Func) {
|
|||
pri := pkgReaderIndex{r.p, r.reloc(relocBody), r.dict}
|
||||
bodyReader[fn] = pri
|
||||
|
||||
if fn.Nname.Defn == nil {
|
||||
// Don't read in function body for imported functions.
|
||||
// See comment in funcExt.
|
||||
return
|
||||
}
|
||||
|
||||
if r.curfn == nil {
|
||||
todoBodies = append(todoBodies, fn)
|
||||
return
|
||||
|
|
Loading…
Reference in a new issue