From: Cherry Zhang Date: Sun, 12 Jul 2020 21:15:35 +0000 (-0400) Subject: [dev.link] cmd/compile: make GC map symbols content-addressable X-Git-Tag: go1.16beta1~1378^2~52 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=17344d55d61b10f2145a95958ca2796846159dd0;p=gostls13.git [dev.link] cmd/compile: make GC map symbols content-addressable Change-Id: I20e5b580b3e0505473816fe7f277a74e13d33e64 Reviewed-on: https://go-review.googlesource.com/c/go/+/242080 Reviewed-by: Jeremy Faller --- diff --git a/src/cmd/compile/internal/gc/plive.go b/src/cmd/compile/internal/gc/plive.go index 7e1c0c1a95..b366c8a4a0 100644 --- a/src/cmd/compile/internal/gc/plive.go +++ b/src/cmd/compile/internal/gc/plive.go @@ -1563,6 +1563,7 @@ func (lv *Liveness) emit() (argsSym, liveSym, regsSym *obj.LSym) { makeSym := func(tmpSym *obj.LSym) *obj.LSym { return Ctxt.LookupInit(fmt.Sprintf("gclocals·%x", md5.Sum(tmpSym.P)), func(lsym *obj.LSym) { lsym.P = tmpSym.P + lsym.Set(obj.AttrContentAddressable, true) }) } if !go115ReduceLiveness { diff --git a/src/cmd/compile/internal/gc/reflect.go b/src/cmd/compile/internal/gc/reflect.go index f614b60685..05e64a5a9a 100644 --- a/src/cmd/compile/internal/gc/reflect.go +++ b/src/cmd/compile/internal/gc/reflect.go @@ -1715,6 +1715,7 @@ func dgcptrmask(t *types.Type) *obj.LSym { duint8(lsym, i, x) } ggloblsym(lsym, int32(len(ptrmask)), obj.DUPOK|obj.RODATA|obj.LOCAL) + lsym.Set(obj.AttrContentAddressable, true) } return lsym }