runtime: mapassign_* should use typedmemmove to update keys
runtime: mapassign_* should use typedmemmove to update keys

We need to make sure that when the key contains a pointer, we use
a write barrier to update the key.

Also mapdelete_* should use typedmemclr.

Fixes #21297

Change-Id: I63dc90bec1cb909c2c6e08676c9ec853d736cdf8
Reviewed-on: https://go-review.googlesource.com/53414
Run-TryBot: Keith Randall <8c99c3a9284e493be632950b84cd789d08ed3e9d@golang.org>
TryBot-Result: Gobot Gobot <66cb808b70d30c07676d5e946fee83fd561249e5@golang.org>
Reviewed-by: Austin Clements <7ea35d812706d9213868749011af1ed4fa2f6aa0@google.com>
Reviewed-by: Josh Bleecher Snyder <cdc248cc4d32e4fbfe04e45228163bcecd48a0b9@gmail.com>
Reviewed-by: Ian Lance Taylor <87e9c6d529889242b7e184afb632328636553ab4@golang.org>

nawawi/go,cloudflare/go,Cofyc/go,polyverse-security/go,christopher-henderson/Go,cloudflare/go,codestation/go,golang/go,nawawi/go,polyverse-security/go,josharian/go,cloudflare/go,codestation/go,golang/go,golang/go,polyverse-security/go,polyverse-security/go,cloudflare/go,golang/go,nawawi/go,Cofyc/go,CAFxX/go,Cofyc/go,josharian/go,josharian/go,polyverse-security/go,akutz/go,codestation/go,Cofyc/go,CAFxX/go,Cofyc/go,akutz/go,golang/go,akutz/go,nawawi/go,polyverse-security/go,cloudflare/go,josharian/go,akutz/go,CAFxX/go,polyverse-security/go,Cofyc/go,akutz/go,polyverse-security/go,CAFxX/go,akutz/go,codestation/go,cloudflare/go,codestation/go,golang/go,cloudflare/go,CAFxX/go,josharian/go,codestation/go,CAFxX/go,akutz/go,nawawi/go,josharian/go,golang/go,josharian/go,codestation/go,CAFxX/go,cloudflare/go,golang/go,josharian/go,nawawi/go,nawawi/go,codestation/go,Cofyc/go,CAFxX/go,nawawi/go,Cofyc/go,akutz/go