From e0032df81e64ea90d3a68295c4b6e3323df8857f Mon Sep 17 00:00:00 2001 From: Josh Bleecher Snyder Date: Sun, 28 Feb 2016 15:56:21 -0800 Subject: [PATCH] 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 --- src/cmd/compile/internal/gc/alg.go | 3 +++ 1 file changed, 3 insertions(+) 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, -- 2.48.1