• Martin Möhrmann's avatar
    cmd/compile: ensure init of memclr happens after growslice in extendslice · 6495bf17
    Martin Möhrmann authored
    Using the extendslice init node list to add the init nodes for the memclr
    call could add init nodes for memclr function before the growslice call
    created by extendslice.
    
    As all arguments of the memclr were explicitly set in OAS nodes before
    the memclr call this does not change the generated code currently.
    ./all.bash runs fine when replacing memclr init with nil suggesting there
    are currently no additional nodes added to the init of extendslice by
    the memclr call.
    
    Add the init nodes for the memclr call directly before the node of the
    memclr call to prevent additional future init nodes for function calls
    and argument evaluations to be evaluated too early when other compiler
    code is added.
    
    passes toolstash -cmp
    
    Updates #21266
    
    Change-Id: I44bd396fe864bfda315175aa1064f9d51c5fb57a
    Reviewed-on: https://go-review.googlesource.com/112595Reviewed-by: default avatarJosh Bleecher Snyder <josharian@gmail.com>
    Run-TryBot: Martin Möhrmann <moehrmann@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    6495bf17
walk.go 101 KB