mirror of
https://github.com/golang/go
synced 2024-11-23 21:00:06 -07:00
cmd/compile: simplify extendslice and isAppendOfMake
Change-Id: Ia66361812837dde23aac09e916f058ba509a323c Reviewed-on: https://go-review.googlesource.com/111737 Run-TryBot: Martin Möhrmann <moehrmann@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
This commit is contained in:
parent
2486ebfb63
commit
337cc29156
@ -3054,11 +3054,7 @@ func isAppendOfMake(n *Node) bool {
|
||||
}
|
||||
|
||||
second := n.List.Second()
|
||||
if second.Op != OMAKESLICE {
|
||||
return false
|
||||
}
|
||||
|
||||
if n.List.Second().Right != nil {
|
||||
if second.Op != OMAKESLICE || second.Right != nil {
|
||||
return false
|
||||
}
|
||||
|
||||
@ -3135,10 +3131,8 @@ func extendslice(n *Node, init *Nodes) *Node {
|
||||
nodes = append(nodes, nod(OAS, nn, nod(OADD, nod(OLEN, s, nil), l2)))
|
||||
|
||||
// if uint(n) > uint(cap(s))
|
||||
nuint := nod(OCONV, nn, nil)
|
||||
nuint.Type = types.Types[TUINT]
|
||||
capuint := nod(OCONV, nod(OCAP, s, nil), nil)
|
||||
capuint.Type = types.Types[TUINT]
|
||||
nuint := conv(nn, types.Types[TUINT])
|
||||
capuint := conv(nod(OCAP, s, nil), types.Types[TUINT])
|
||||
nif := nod(OIF, nod(OGT, nuint, capuint), nil)
|
||||
|
||||
// instantiate growslice(typ *type, old []any, newcap int) []any
|
||||
|
Loading…
Reference in New Issue
Block a user