runtime: don't do a plain throw when throwsplit == true
runtime: don't do a plain throw when throwsplit == true

The test case in #15639 somehow causes an invalid syscall frame. The
failure is obscured because the throw occurs when throwsplit == true,
which causes a "stack split at bad time" error when trying to print the
throw message.

This CL fixes the "stack split at bad time" by using systemstack. No
test because there shouldn't be any way to trigger this error anyhow.

Update #15639.

Change-Id: I4240f3fd01bdc3c112f3ffd1316b68504222d9e1
Reviewed-on: https://go-review.googlesource.com/23153
Run-TryBot: Ian Lance Taylor <87e9c6d529889242b7e184afb632328636553ab4@golang.org>
Reviewed-by: Austin Clements <7ea35d812706d9213868749011af1ed4fa2f6aa0@google.com>

theif519/go,polyverse-security/go,theif519/go,akutz/go,momchil-velikov/go,ImJasonH/go,golang/go,nawawi/go,Cofyc/go,josharian/go,suncycheng/go,4ad/go,cloudflare/go,nawawi/go,cloudflare/go,cloudflare/go,goodlang/good,ImJasonH/go,momchil-velikov/go,ImJasonH/go,derekmarcotte/go,theif519/go,josharian/go,polyverse-security/go,momchil-velikov/go,derekmarcotte/go,vsekhar/elastic-go,codestation/go,akutz/go,vsekhar/elastic-go,josharian/go,4ad/go,CAFxX/go,CAFxX/go,derekmarcotte/go,theif519/go,linux-on-ibm-z/go,golang/go,nawawi/go,suncycheng/go,momchil-velikov/go,ImJasonH/go,josharian/go,4ad/go,goodlang/good,codestation/go,derekmarcotte/go,suncycheng/go,josharian/go,codestation/go,vsekhar/elastic-go,goodlang/good,linux-on-ibm-z/go,polyverse-security/go,4ad/go,momchil-velikov/go,akutz/go,polyverse-security/go,nawawi/go,momchil-velikov/go,codestation/go,ImJasonH/go,akutz/go,4ad/go,linux-on-ibm-z/go,4ad/go,vsekhar/elastic-go,akutz/go,Cofyc/go,ImJasonH/go,derekmarcotte/go,golang/go,goodlang/good,CAFxX/go,cloudflare/go,golang/go,theif519/go,codestation/go,suncycheng/go,linux-on-ibm-z/go,cloudflare/go,golang/go,derekmarcotte/go,christopher-henderson/Go,vsekhar/elastic-go,linux-on-ibm-z/go,nawawi/go,cloudflare/go,akutz/go,momchil-velikov/go,polyverse-security/go,codestation/go,derekmarcotte/go,4ad/go,cloudflare/go,derekmarcotte/go,vsekhar/elastic-go,nawawi/go,vsekhar/elastic-go,CAFxX/go,goodlang/good,codestation/go,suncycheng/go,suncycheng/go,josharian/go,ImJasonH/go,Cofyc/go,codestation/go,Cofyc/go,CAFxX/go,ImJasonH/go,goodlang/good,4ad/go,Cofyc/go,theif519/go,CAFxX/go,linux-on-ibm-z/go,theif519/go,josharian/go,vsekhar/elastic-go,Cofyc/go,golang/go,suncycheng/go,golang/go,Cofyc/go,josharian/go,golang/go,theif519/go,CAFxX/go,momchil-velikov/go,polyverse-security/go,linux-on-ibm-z/go,polyverse-security/go,linux-on-ibm-z/go,akutz/go,Cofyc/go,goodlang/good,CAFxX/go,polyverse-security/go,cloudflare/go,akutz/go,nawawi/go,goodlang/good,suncycheng/go,nawawi/go