runtime: don't crash if no p in kickoff
authorIan Lance Taylor <ian@gcc.gnu.org>
Fri, 23 Jun 2017 16:05:44 +0000 (16:05 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Fri, 23 Jun 2017 16:05:44 +0000 (16:05 +0000)
commitbb96aa6726d1fac7e2500ef37d1193eed00b03f1
treef9c9927c7f70e3dd316f3234661634304e55c10a
parent5f0b897b2ee47bf3845d924dd5bc3beb949bc78b
runtime: don't crash if no p in kickoff

    The kickoff function for g0 can be invoked without a p, for example
    from mcall(exitsyscall0) in exitsyscall after exitsyscall has cleared
    the p field. The assignment gp.param = nil will invoke a write barrier.
    If gp.param is not already nil, this will require a p. Avoid the problem
    for a specific case that is known to be OK: when the value in gp.param
    is a *g.

    Reviewed-on: https://go-review.googlesource.com/46512

From-SVN: r249595
gcc/go/gofrontend/MERGE
libgo/go/runtime/proc.go