]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile/internal/importer: lazier unified IR importing
authorMatthew Dempsky <mdempsky@google.com>
Tue, 1 Mar 2022 05:21:40 +0000 (21:21 -0800)
committerMatthew Dempsky <mdempsky@google.com>
Tue, 1 Mar 2022 19:33:00 +0000 (19:33 +0000)
No need to eagerly read the object dictionary or setup the object
reader outside of the lazy resolve function.

Change-Id: Ic4245b0c09f3beaff97860d7f2dfb5b2b5778cc9
Reviewed-on: https://go-review.googlesource.com/c/go/+/388615
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Trust: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
src/cmd/compile/internal/importer/ureader.go

index 1b61f37dc8f9a3edbce6ca4be72a5628c358237e..a22cd2bb5317db0f334852e455c29d499c119e02 100644 (file)
@@ -375,12 +375,12 @@ func (pr *pkgReader) objIdx(idx int) (*types2.Package, string) {
                return objPkg, objName
        }
 
-       dict := pr.objDictIdx(idx)
+       objPkg.Scope().InsertLazy(objName, func() types2.Object {
+               dict := pr.objDictIdx(idx)
 
-       r := pr.newReader(pkgbits.RelocObj, idx, pkgbits.SyncObject1)
-       r.dict = dict
+               r := pr.newReader(pkgbits.RelocObj, idx, pkgbits.SyncObject1)
+               r.dict = dict
 
-       objPkg.Scope().InsertLazy(objName, func() types2.Object {
                switch tag {
                default:
                        panic("weird")