0
1
mirror of https://github.com/golang/go synced 2025-06-22 18:42:55 +00:00

cmd/compile/internal/noder: fill in SectionName

Change-Id: Ib99d40a546cb095c1b6c2d33e0735f3b5c681539
Reviewed-on: https://go-review.googlesource.com/c/go/+/677237
Reviewed-by: Robert Griesemer <gri@google.com>
Auto-Submit: Mark Freeman <mark@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
This commit is contained in:
Mark Freeman
2025-05-29 15:43:47 -04:00
committed by Gopher Robot
parent 711ff943af
commit 11660d537b

@ -25,7 +25,7 @@ determines its index in the series.
SectionMeta
SectionPosBase
SectionPkg
SectionName // TODO(markfreeman) Define.
SectionName
SectionType // TODO(markfreeman) Define.
SectionObj // TODO(markfreeman) Define.
SectionObjExt // TODO(markfreeman) Define.
@ -35,9 +35,11 @@ determines its index in the series.
# Sections
A section is a series of elements of a type determined by the section's
kind. Go constructs are mapped onto (potentially multiple) elements.
Elements are accessed using an index relative to the start of the
section.
kind. Go constructs are mapped onto one or more elements with possibly
different types; in that case, the elements are in different sections.
Elements are accessed using an element index relative to the start of
the section.
RelElemIdx = Uint64 .
@ -135,6 +137,28 @@ Note, a PkgRef is *not* equivalent to Ref[Pkg] due to an extra marker.
Ref[Pkg]
.
## Object Sections
Information about an object (e.g. variable, function, type name, etc.)
is split into multiple elements in different sections. Those elements
have the same section-relative element index.
### Name Section
The name section holds a series of names.
SectionName = { Name } .
Names are elements holding qualified identifiers and type information
for objects.
Name = RefTable
[ Sync ]
[ Sync ]
PkgRef // the object's package
StringRef // the object's package-local name
[ Sync ]
Uint64 // the object's type (e.g. Var, Func, etc.)
.
# References
A reference table precedes every element. Each entry in the table
contains a (section, index) pair denoting the location of the