Skip to content

Commit 7dc1ee8

Browse files
griesemergopherbot
authored andcommitted
cmd/compile/internal/noder: reduce clutter a bit (cosmetic changes)
- introduce index alias - inline the two short tables in stmt.go (removes a TODO) - move assert out of stencil.go and remove that file (we can always re-introduce it) Also, replace two if's with a simpler switch. Change-Id: I25c3104164574999dd9826dee6166dd8a8488908 Reviewed-on: https://go-review.googlesource.com/c/go/+/607236 Reviewed-by: Robert Griesemer <gri@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Robert Griesemer <gri@google.com> Reviewed-by: Tim King <taking@google.com>
1 parent a5d61d7 commit 7dc1ee8

File tree

6 files changed

+77
-95
lines changed

6 files changed

+77
-95
lines changed

src/cmd/compile/internal/noder/linker.go

+9-9
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ import (
3939
type linker struct {
4040
pw pkgbits.PkgEncoder
4141

42-
pkgs map[string]pkgbits.Index
43-
decls map[*types.Sym]pkgbits.Index
44-
bodies map[*types.Sym]pkgbits.Index
42+
pkgs map[string]index
43+
decls map[*types.Sym]index
44+
bodies map[*types.Sym]index
4545
}
4646

4747
// relocAll ensures that all elements specified by pr and relocs are
@@ -58,7 +58,7 @@ func (l *linker) relocAll(pr *pkgReader, relocs []pkgbits.RelocEnt) []pkgbits.Re
5858

5959
// relocIdx ensures a single element is copied into the output export
6060
// data file, and returns the corresponding index in the output.
61-
func (l *linker) relocIdx(pr *pkgReader, k pkgbits.RelocKind, idx pkgbits.Index) pkgbits.Index {
61+
func (l *linker) relocIdx(pr *pkgReader, k pkgbits.RelocKind, idx index) index {
6262
assert(pr != nil)
6363

6464
absIdx := pr.AbsIdx(k, idx)
@@ -67,7 +67,7 @@ func (l *linker) relocIdx(pr *pkgReader, k pkgbits.RelocKind, idx pkgbits.Index)
6767
return ^newidx
6868
}
6969

70-
var newidx pkgbits.Index
70+
var newidx index
7171
switch k {
7272
case pkgbits.RelocString:
7373
newidx = l.relocString(pr, idx)
@@ -95,7 +95,7 @@ func (l *linker) relocIdx(pr *pkgReader, k pkgbits.RelocKind, idx pkgbits.Index)
9595

9696
// relocString copies the specified string from pr into the output
9797
// export data file, deduplicating it against other strings.
98-
func (l *linker) relocString(pr *pkgReader, idx pkgbits.Index) pkgbits.Index {
98+
func (l *linker) relocString(pr *pkgReader, idx index) index {
9999
return l.pw.StringIdx(pr.StringIdx(idx))
100100
}
101101

@@ -106,7 +106,7 @@ func (l *linker) relocString(pr *pkgReader, idx pkgbits.Index) pkgbits.Index {
106106
// TODO(mdempsky): Since CL 391014, we already have the compilation
107107
// unit's import path, so there should be no need to rewrite packages
108108
// anymore.
109-
func (l *linker) relocPkg(pr *pkgReader, idx pkgbits.Index) pkgbits.Index {
109+
func (l *linker) relocPkg(pr *pkgReader, idx index) index {
110110
path := pr.PeekPkgPath(idx)
111111

112112
if newidx, ok := l.pkgs[path]; ok {
@@ -134,7 +134,7 @@ func (l *linker) relocPkg(pr *pkgReader, idx pkgbits.Index) pkgbits.Index {
134134
// relocObj copies the specified object from pr into the output export
135135
// data file, rewriting its compiler-private extension data (e.g.,
136136
// adding inlining cost and escape analysis results for functions).
137-
func (l *linker) relocObj(pr *pkgReader, idx pkgbits.Index) pkgbits.Index {
137+
func (l *linker) relocObj(pr *pkgReader, idx index) index {
138138
path, name, tag := pr.PeekObj(idx)
139139
sym := types.NewPkg(path, "").Lookup(name)
140140

@@ -252,7 +252,7 @@ func (l *linker) exportBody(obj *ir.Name, local bool) {
252252

253253
// relocCommon copies the specified element from pr into w,
254254
// recursively relocating any referenced elements as well.
255-
func (l *linker) relocCommon(pr *pkgReader, w *pkgbits.Encoder, k pkgbits.RelocKind, idx pkgbits.Index) {
255+
func (l *linker) relocCommon(pr *pkgReader, w *pkgbits.Encoder, k pkgbits.RelocKind, idx index) {
256256
r := pr.NewDecoderRaw(k, idx)
257257
w.Relocs = l.relocAll(pr, r.Relocs)
258258
io.Copy(&w.Data, &r.Data)

src/cmd/compile/internal/noder/reader.go

+11-11
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ type pkgReader struct {
4848
// offset for rewriting the given (absolute!) index into the output,
4949
// but bitwise inverted so we can detect if we're missing the entry
5050
// or not.
51-
newindex []pkgbits.Index
51+
newindex []index
5252
}
5353

5454
func newPkgReader(pr pkgbits.PkgDecoder) *pkgReader {
@@ -59,15 +59,15 @@ func newPkgReader(pr pkgbits.PkgDecoder) *pkgReader {
5959
pkgs: make([]*types.Pkg, pr.NumElems(pkgbits.RelocPkg)),
6060
typs: make([]*types.Type, pr.NumElems(pkgbits.RelocType)),
6161

62-
newindex: make([]pkgbits.Index, pr.TotalElems()),
62+
newindex: make([]index, pr.TotalElems()),
6363
}
6464
}
6565

6666
// A pkgReaderIndex compactly identifies an index (and its
6767
// corresponding dictionary) within a package's export data.
6868
type pkgReaderIndex struct {
6969
pr *pkgReader
70-
idx pkgbits.Index
70+
idx index
7171
dict *readerDict
7272
methodSym *types.Sym
7373

@@ -85,7 +85,7 @@ func (pri pkgReaderIndex) asReader(k pkgbits.RelocKind, marker pkgbits.SyncMarke
8585
return r
8686
}
8787

88-
func (pr *pkgReader) newReader(k pkgbits.RelocKind, idx pkgbits.Index, marker pkgbits.SyncMarker) *reader {
88+
func (pr *pkgReader) newReader(k pkgbits.RelocKind, idx index, marker pkgbits.SyncMarker) *reader {
8989
return &reader{
9090
Decoder: pr.NewDecoder(k, idx, marker),
9191
p: pr,
@@ -260,7 +260,7 @@ func (r *reader) posBase() *src.PosBase {
260260

261261
// posBaseIdx returns the specified position base, reading it first if
262262
// needed.
263-
func (pr *pkgReader) posBaseIdx(idx pkgbits.Index) *src.PosBase {
263+
func (pr *pkgReader) posBaseIdx(idx index) *src.PosBase {
264264
if b := pr.posBases[idx]; b != nil {
265265
return b
266266
}
@@ -341,7 +341,7 @@ func (r *reader) pkg() *types.Pkg {
341341

342342
// pkgIdx returns the specified package from the export data, reading
343343
// it first if needed.
344-
func (pr *pkgReader) pkgIdx(idx pkgbits.Index) *types.Pkg {
344+
func (pr *pkgReader) pkgIdx(idx index) *types.Pkg {
345345
if pkg := pr.pkgs[idx]; pkg != nil {
346346
return pkg
347347
}
@@ -391,7 +391,7 @@ func (r *reader) typWrapped(wrapped bool) *types.Type {
391391
func (r *reader) typInfo() typeInfo {
392392
r.Sync(pkgbits.SyncType)
393393
if r.Bool() {
394-
return typeInfo{idx: pkgbits.Index(r.Len()), derived: true}
394+
return typeInfo{idx: index(r.Len()), derived: true}
395395
}
396396
return typeInfo{idx: r.Reloc(pkgbits.RelocType), derived: false}
397397
}
@@ -668,7 +668,7 @@ func (pr *pkgReader) objInstIdx(info objInfo, dict *readerDict, shaped bool) ir.
668668
// type arguments, if any.
669669
// If shaped is true, then the shaped variant of the object is returned
670670
// instead.
671-
func (pr *pkgReader) objIdx(idx pkgbits.Index, implicits, explicits []*types.Type, shaped bool) ir.Node {
671+
func (pr *pkgReader) objIdx(idx index, implicits, explicits []*types.Type, shaped bool) ir.Node {
672672
n, err := pr.objIdxMayFail(idx, implicits, explicits, shaped)
673673
if err != nil {
674674
base.Fatalf("%v", err)
@@ -682,7 +682,7 @@ func (pr *pkgReader) objIdx(idx pkgbits.Index, implicits, explicits []*types.Typ
682682
//
683683
// Other sources of internal failure (such as duplicate definitions) still fail
684684
// the build.
685-
func (pr *pkgReader) objIdxMayFail(idx pkgbits.Index, implicits, explicits []*types.Type, shaped bool) (ir.Node, error) {
685+
func (pr *pkgReader) objIdxMayFail(idx index, implicits, explicits []*types.Type, shaped bool) (ir.Node, error) {
686686
rname := pr.newReader(pkgbits.RelocName, idx, pkgbits.SyncObject1)
687687
_, sym := rname.qualifiedIdent()
688688
tag := pkgbits.CodeObj(rname.Code(pkgbits.SyncCodeObj))
@@ -952,7 +952,7 @@ func shapify(targ *types.Type, basic bool) *types.Type {
952952
}
953953

954954
// objDictIdx reads and returns the specified object dictionary.
955-
func (pr *pkgReader) objDictIdx(sym *types.Sym, idx pkgbits.Index, implicits, explicits []*types.Type, shaped bool) (*readerDict, error) {
955+
func (pr *pkgReader) objDictIdx(sym *types.Sym, idx index, implicits, explicits []*types.Type, shaped bool) (*readerDict, error) {
956956
r := pr.newReader(pkgbits.RelocObjDict, idx, pkgbits.SyncObject1)
957957

958958
dict := readerDict{
@@ -2578,7 +2578,7 @@ func (r *reader) funcInst(pos src.XPos) (wrapperFn, baseFn, dictPtr ir.Node) {
25782578
return
25792579
}
25802580

2581-
func (pr *pkgReader) objDictName(idx pkgbits.Index, implicits, explicits []*types.Type) *ir.Name {
2581+
func (pr *pkgReader) objDictName(idx index, implicits, explicits []*types.Type) *ir.Name {
25822582
rname := pr.newReader(pkgbits.RelocName, idx, pkgbits.SyncObject1)
25832583
_, sym := rname.qualifiedIdent()
25842584
tag := pkgbits.CodeObj(rname.Code(pkgbits.SyncCodeObj))

src/cmd/compile/internal/noder/stencil.go

-16
This file was deleted.

src/cmd/compile/internal/noder/stmt.go

-24
This file was deleted.

src/cmd/compile/internal/noder/unified.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -458,17 +458,17 @@ func writeUnifiedExport(out io.Writer) {
458458
l := linker{
459459
pw: pkgbits.NewPkgEncoder(base.Debug.SyncFrames),
460460

461-
pkgs: make(map[string]pkgbits.Index),
462-
decls: make(map[*types.Sym]pkgbits.Index),
463-
bodies: make(map[*types.Sym]pkgbits.Index),
461+
pkgs: make(map[string]index),
462+
decls: make(map[*types.Sym]index),
463+
bodies: make(map[*types.Sym]index),
464464
}
465465

466466
publicRootWriter := l.pw.NewEncoder(pkgbits.RelocMeta, pkgbits.SyncPublic)
467467
privateRootWriter := l.pw.NewEncoder(pkgbits.RelocMeta, pkgbits.SyncPrivate)
468468
assert(publicRootWriter.Idx == pkgbits.PublicRootIdx)
469469
assert(privateRootWriter.Idx == pkgbits.PrivateRootIdx)
470470

471-
var selfPkgIdx pkgbits.Index
471+
var selfPkgIdx index
472472

473473
{
474474
pr := localPkgReader
@@ -498,7 +498,7 @@ func writeUnifiedExport(out io.Writer) {
498498
}
499499

500500
{
501-
var idxs []pkgbits.Index
501+
var idxs []index
502502
for _, idx := range l.decls {
503503
idxs = append(idxs, idx)
504504
}
@@ -525,7 +525,7 @@ func writeUnifiedExport(out io.Writer) {
525525
{
526526
type symIdx struct {
527527
sym *types.Sym
528-
idx pkgbits.Index
528+
idx index
529529
}
530530
var bodies []symIdx
531531
for sym, idx := range l.bodies {

0 commit comments

Comments
 (0)