From: Josh Bleecher Snyder Date: Sun, 28 Feb 2016 23:56:21 +0000 (-0800) Subject: cmd/compile: make alg gen prologue/epilogue match X-Git-Tag: go1.7beta1~1439 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=e0032df81e64ea90d3a68295c4b6e3323df8857f;p=gostls13.git cmd/compile: make alg gen prologue/epilogue match With this, the start and end of geneq and genhash are parallel. This removes a few rare nilchecks from generated hash functions, but nothing to write home about. Change-Id: I3b4836111d04daa6f6834a579bbec374a3f42c70 Reviewed-on: https://go-review.googlesource.com/20456 Run-TryBot: Josh Bleecher Snyder TryBot-Result: Gobot Gobot Reviewed-by: David Crawshaw --- diff --git a/src/cmd/compile/internal/gc/alg.go b/src/cmd/compile/internal/gc/alg.go index 4ef97ff56e..7c9d6ca65e 100644 --- a/src/cmd/compile/internal/gc/alg.go +++ b/src/cmd/compile/internal/gc/alg.go @@ -289,7 +289,9 @@ func genhash(sym *Sym, t *Type) { old_safemode := safemode safemode = 0 + Disable_checknil++ funccompile(fn) + Disable_checknil-- safemode = old_safemode } @@ -357,6 +359,7 @@ func geneq(sym *Sym, t *Type) { tfn.Rlist.Append(n) funchdr(fn) + typecheck(&fn.Func.Nname.Name.Param.Ntype, Etype) // geneq is only called for types that have equality but // cannot be handled by the standard algorithms,