]> Cypherpunks repositories - gostls13.git/commit
[dev.typeparams] cmd/compile: refactor import reading
authorMatthew Dempsky <mdempsky@google.com>
Fri, 4 Jun 2021 17:26:40 +0000 (10:26 -0700)
committerMatthew Dempsky <mdempsky@google.com>
Sat, 5 Jun 2021 23:28:52 +0000 (23:28 +0000)
commit4c072c94dc2ffedd29d51d04aba2e1a6f2afd93f
tree76ca779ea2b36b741515d744a21b7cb7eafdedb0
parent4e001a8d9eec1ec165b45a37e804c2cf42351bc5
[dev.typeparams] cmd/compile: refactor import reading

This CL restructures the gcimports importer to mmap the export data
into memory as a string, and then pass that same string to both the
typecheck and types2 importers.

This is primarily motivated by preparation for unified IR; but it
should also improve performance (fewer string copies) and reduces
divergance between the two importers.

Passes toolstash -cmp.

Change-Id: I397f720693e9e6360bfcb5acb12609ab339d251f
Reviewed-on: https://go-review.googlesource.com/c/go/+/325210
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
Trust: Matthew Dempsky <mdempsky@google.com>
Trust: Robert Griesemer <gri@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
src/cmd/compile/internal/base/mapfile_mmap.go [moved from src/cmd/compile/internal/typecheck/mapfile_mmap.go with 93% similarity]
src/cmd/compile/internal/base/mapfile_read.go [moved from src/cmd/compile/internal/typecheck/mapfile_read.go with 85% similarity]
src/cmd/compile/internal/importer/gcimporter.go
src/cmd/compile/internal/importer/iimport.go
src/cmd/compile/internal/noder/decl.go
src/cmd/compile/internal/noder/import.go
src/cmd/compile/internal/typecheck/iimport.go