From c69dd3f0547e5846ce259a02d0b6ad9f19b566b6 Mon Sep 17 00:00:00 2001 From: Cherry Zhang Date: Wed, 26 Oct 2016 16:17:54 -0400 Subject: [PATCH] cmd/compile: enable DUFFZERO in defframe on MIPS64 DUFFZERO was disabled due to issue #12108. CL 27592 fixed it and enabled DUFFZERO in general, but this one was forgotten. Change-Id: I0476a3a0524c7b54218f7a747bdba76cd823fbc5 Reviewed-on: https://go-review.googlesource.com/32181 Run-TryBot: David Chase TryBot-Result: Gobot Gobot Reviewed-by: David Chase --- src/cmd/compile/internal/mips64/ggen.go | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/cmd/compile/internal/mips64/ggen.go b/src/cmd/compile/internal/mips64/ggen.go index 06f3474885..2af4a8b1ce 100644 --- a/src/cmd/compile/internal/mips64/ggen.go +++ b/src/cmd/compile/internal/mips64/ggen.go @@ -67,10 +67,7 @@ func zerorange(p *obj.Prog, frame int64, lo int64, hi int64) *obj.Prog { for i := int64(0); i < cnt; i += int64(gc.Widthptr) { p = gc.Appendpp(p, mips.AMOVV, obj.TYPE_REG, mips.REGZERO, 0, obj.TYPE_MEM, mips.REGSP, 8+frame+lo+i) } - // TODO(dfc): https://golang.org/issue/12108 - // If DUFFZERO is used inside a tail call (see genwrapper) it will - // overwrite the link register. - } else if false && cnt <= int64(128*gc.Widthptr) { + } else if cnt <= int64(128*gc.Widthptr) { p = gc.Appendpp(p, mips.AADDV, obj.TYPE_CONST, 0, 8+frame+lo-8, obj.TYPE_REG, mips.REGRT1, 0) p.Reg = mips.REGSP p = gc.Appendpp(p, obj.ADUFFZERO, obj.TYPE_NONE, 0, 0, obj.TYPE_MEM, 0, 0) -- 2.48.1