diff options
| author | Matthew Dempsky <mdempsky@google.com> | 2023-08-16 17:23:52 -0700 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2023-08-17 19:36:24 +0000 |
| commit | e45397100584e0ca55901f203d16c2acadbb4447 (patch) | |
| tree | 488380de82eeadfb2d5f8b6ea722e028c4b0c7e9 /src/cmd/compile/internal/staticdata/data.go | |
| parent | d63652b7c69d106a6bab787fbdf7726d39e42406 (diff) | |
| download | go-e45397100584e0ca55901f203d16c2acadbb4447.tar.xz | |
cmd/compile/internal/ir: add typ parameter to NewNameAt
Start making progress towards constructing IR with proper types.
Change-Id: Iad32c1cf60f30ceb8e07c31c8871b115570ac3bd
Reviewed-on: https://go-review.googlesource.com/c/go/+/520263
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Diffstat (limited to 'src/cmd/compile/internal/staticdata/data.go')
| -rw-r--r-- | src/cmd/compile/internal/staticdata/data.go | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/src/cmd/compile/internal/staticdata/data.go b/src/cmd/compile/internal/staticdata/data.go index e39d0ee6a5..14107057d4 100644 --- a/src/cmd/compile/internal/staticdata/data.go +++ b/src/cmd/compile/internal/staticdata/data.go @@ -17,7 +17,6 @@ import ( "cmd/compile/internal/base" "cmd/compile/internal/ir" "cmd/compile/internal/objw" - "cmd/compile/internal/typecheck" "cmd/compile/internal/types" "cmd/internal/notsha256" "cmd/internal/obj" @@ -56,7 +55,7 @@ func InitSliceBytes(nam *ir.Name, off int64, s string) { if nam.Op() != ir.ONAME { base.Fatalf("InitSliceBytes %v", nam) } - InitSlice(nam, off, slicedata(nam.Pos(), s).Linksym(), int64(len(s))) + InitSlice(nam, off, slicedata(nam.Pos(), s), int64(len(s))) } const ( @@ -134,7 +133,7 @@ func fileStringSym(pos src.XPos, file string, readonly bool, hash []byte) (*obj. if readonly { sym = StringSym(pos, string(data)) } else { - sym = slicedata(pos, string(data)).Linksym() + sym = slicedata(pos, string(data)) } if len(hash) > 0 { sum := notsha256.Sum256(data) @@ -182,7 +181,7 @@ func fileStringSym(pos src.XPos, file string, readonly bool, hash []byte) (*obj. } else { // Emit a zero-length data symbol // and then fix up length and content to use file. - symdata = slicedata(pos, "").Linksym() + symdata = slicedata(pos, "") symdata.Size = size symdata.Type = objabi.SNOPTRDATA info := symdata.NewFileInfo() @@ -195,18 +194,14 @@ func fileStringSym(pos src.XPos, file string, readonly bool, hash []byte) (*obj. var slicedataGen int -func slicedata(pos src.XPos, s string) *ir.Name { +func slicedata(pos src.XPos, s string) *obj.LSym { slicedataGen++ symname := fmt.Sprintf(".gobytes.%d", slicedataGen) - sym := types.LocalPkg.Lookup(symname) - symnode := typecheck.NewName(sym) - sym.Def = symnode - - lsym := symnode.Linksym() + lsym := types.LocalPkg.Lookup(symname).LinksymABI(obj.ABI0) off := dstringdata(lsym, 0, s, pos, "slice") objw.Global(lsym, int32(off), obj.NOPTR|obj.LOCAL) - return symnode + return lsym } func dstringdata(s *obj.LSym, off int, t string, pos src.XPos, what string) int { |
