mirror of
https://github.com/golang/go.git
synced 2025-05-28 19:02:22 +00:00
[dev.ssa] cmd/compile: fix function call memory
We need to move the memory variable update back to before endBlock so that all successors use the right memory value. See https://go-review.googlesource.com/13560 Change-Id: Id72e5526c56e5e070b933d3b28dc503a5a2978dc Reviewed-on: https://go-review.googlesource.com/13586 Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
This commit is contained in:
parent
ce97788914
commit
d56d2fa206
@ -1311,6 +1311,7 @@ func (s *state) expr(n *Node) *ssa.Value {
|
||||
}
|
||||
dowidth(left.Type)
|
||||
call.AuxInt = left.Type.Argwid // call operations carry the argsize of the callee along with them
|
||||
s.vars[&memvar] = call
|
||||
b := s.endBlock()
|
||||
b.Kind = ssa.BlockCall
|
||||
b.Control = call
|
||||
@ -1319,7 +1320,6 @@ func (s *state) expr(n *Node) *ssa.Value {
|
||||
|
||||
// read result from stack at the start of the fallthrough block
|
||||
s.startBlock(bNext)
|
||||
s.vars[&memvar] = call
|
||||
var titer Iter
|
||||
fp := Structfirst(&titer, Getoutarg(left.Type))
|
||||
if fp == nil {
|
||||
|
Loading…
x
Reference in New Issue
Block a user