From 92ecd7893308ad222bfdd33b10be1cce769a3cdf Mon Sep 17 00:00:00 2001 From: Cherry Zhang Date: Fri, 13 Jan 2017 15:42:50 -0500 Subject: [PATCH] cmd/compile: add ZeroWB case in writebarrier It looks like it should be there, although I couldn't find a test case that fails without it. ZeroWB is probably never generated now: zeroing an initialized heap object is done by making an autotmp on stack, zeroing it, and copying (typedmemmove) to heap. Passes "toolstash -cmp" on std. Change-Id: I702a59759e33fb8cc2a34a3b3029e7540aca080a Reviewed-on: https://go-review.googlesource.com/35250 Reviewed-by: Austin Clements Run-TryBot: Austin Clements TryBot-Result: Gobot Gobot --- src/cmd/compile/internal/ssa/writebarrier.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cmd/compile/internal/ssa/writebarrier.go b/src/cmd/compile/internal/ssa/writebarrier.go index 1eb4d7bb1a..054ba1f85c 100644 --- a/src/cmd/compile/internal/ssa/writebarrier.go +++ b/src/cmd/compile/internal/ssa/writebarrier.go @@ -35,7 +35,7 @@ func writebarrier(f *Func) { valueLoop: for i, v := range b.Values { switch v.Op { - case OpStoreWB, OpMoveWB, OpMoveWBVolatile: + case OpStoreWB, OpMoveWB, OpMoveWBVolatile, OpZeroWB: if IsStackAddr(v.Args[0]) { switch v.Op { case OpStoreWB: -- 2.50.0