aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/link/internal/loader
diff options
context:
space:
mode:
authorCherry Zhang <cherryyz@google.com>2020-02-17 01:27:11 -0500
committerCherry Zhang <cherryyz@google.com>2020-02-19 23:40:15 +0000
commit0f99ab4e8629f205ea613e78122f6cfb3ec0561f (patch)
tree1569b0746835c1110b3ed637511633256b1e6644 /src/cmd/link/internal/loader
parentc4ccd08a253406aac49744a3852d7a28894ac5dd (diff)
downloadgo-0f99ab4e8629f205ea613e78122f6cfb3ec0561f.tar.xz
[dev.link] cmd/internal/goobj2: move NoSplit to symbol flag
Move NoSplit flag from FuncInfo to symbol flag, so this can be accessed easily without reading the FuncInfo. The CFunc flag is never used. Remove. Change-Id: I8bf4fcb2f209434bb90ccc4987a4c3f28f003323 Reviewed-on: https://go-review.googlesource.com/c/go/+/220058 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jeremy Faller <jeremy@golang.org> Reviewed-by: Than McIntosh <thanm@google.com>
Diffstat (limited to 'src/cmd/link/internal/loader')
-rw-r--r--src/cmd/link/internal/loader/loader.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/cmd/link/internal/loader/loader.go b/src/cmd/link/internal/loader/loader.go
index 8675637af0..1ff123efbb 100644
--- a/src/cmd/link/internal/loader/loader.go
+++ b/src/cmd/link/internal/loader/loader.go
@@ -940,6 +940,11 @@ func (l *Loader) IsReflectMethod(i Sym) bool {
return l.SymAttr(i)&goobj2.SymFlagReflectMethod != 0
}
+// Returns whether the i-th symbol is nosplit.
+func (l *Loader) IsNoSplit(i Sym) bool {
+ return l.SymAttr(i)&goobj2.SymFlagNoSplit != 0
+}
+
// Returns whether this is a Go type symbol.
func (l *Loader) IsGoType(i Sym) bool {
return l.SymAttr(i)&goobj2.SymFlagGoType != 0
@@ -2189,7 +2194,7 @@ func loadObjFull(l *Loader, r *oReader) {
info := goobj2.FuncInfo{}
info.Read(b)
- if info.NoSplit != 0 {
+ if osym.NoSplit() {
s.Attr |= sym.AttrNoSplit
}
if osym.ReflectMethod() {