Commit a9b9ecc9 authored by Austin Clements's avatar Austin Clements

[dev.power64] runtime: fix early GC of Defer objects

go_bootstrap was panicking during runtime initialization
(under runtime.main) because Defer objects were being
prematurely GC'd.  This happened because of an incorrect
change to runtime·unrollgcprog_m to make it endian-agnostic
during the conversion of runtime bitmaps to byte arrays.

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/161960044
parent f0bd539c
......@@ -1799,7 +1799,7 @@ runtime·unrollgcprog_m(void)
}
// atomic way to say mask[0] = 1
x = typ->gc[0];
x = *(uintptr*)mask;
((byte*)&x)[0] = 1;
runtime·atomicstorep((void**)mask, (void*)x);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment