mirror of
https://github.com/golang/go
synced 2024-11-18 21:34:46 -07:00
e2921e188a
1. ParseFiles (in util.go) parses each file in its own goroutine. 2. (*Importer).LoadPackage asynchronously prefetches the import graph by scanning the imports of each loaded package and calling LoadPackage on each one. LoadPackage is now thread-safe and idempotent: it uses a condition variable per package; the first goroutine to request a package becomes responsible for loading it and broadcasts to the others (waiting) when it becomes ready. ssadump runs 34% faster when loading the oracle. Also, refactorings: - delete SourceLoader mechanism; just expose go/build.Context directly. - CreateSourcePackage now also returns an error directly, rather than via PackageInfo.Err, since every client wants that. R=crawshaw CC=golang-dev https://golang.org/cl/13509045 |
||
---|---|---|
.. | ||
testdata | ||
analysis.go | ||
api.go | ||
callgraph.go | ||
doc.go | ||
gen.go | ||
intrinsics.go | ||
labels.go | ||
pointer_test.go | ||
print.go | ||
solve.go | ||
TODO | ||
util.go |