summaryrefslogtreecommitdiffstats
path: root/libgo/runtime
diff options
context:
space:
mode:
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2014-03-03 20:14:52 +0000
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2014-03-03 20:14:52 +0000
commit2f501e2420760a9e62838d39fa7738e7d3284231 (patch)
treefb0eb29cec9de27ca80e274d703ef63dd94e37c3 /libgo/runtime
parentd7f5615e21e38f5c85175b3cf2a1a6525d9d9558 (diff)
downloadppe42-gcc-2f501e2420760a9e62838d39fa7738e7d3284231.tar.gz
ppe42-gcc-2f501e2420760a9e62838d39fa7738e7d3284231.zip
libgo: Update to Go 1.2.1 release.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208286 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgo/runtime')
-rw-r--r--libgo/runtime/mgc0.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libgo/runtime/mgc0.c b/libgo/runtime/mgc0.c
index d5ce9c883b1..f963686e313 100644
--- a/libgo/runtime/mgc0.c
+++ b/libgo/runtime/mgc0.c
@@ -1770,6 +1770,8 @@ runtime_memorydump(void)
void
runtime_gchelper(void)
{
+ uint32 nproc;
+
gchelperstart();
// parallel mark for over gc roots
@@ -1786,7 +1788,8 @@ runtime_gchelper(void)
runtime_parfordo(work.sweepfor);
bufferList[runtime_m()->helpgc].busy = 0;
- if(runtime_xadd(&work.ndone, +1) == work.nproc-1)
+ nproc = work.nproc; // work.nproc can change right after we increment work.ndone
+ if(runtime_xadd(&work.ndone, +1) == nproc-1)
runtime_notewakeup(&work.alldone);
}
OpenPOWER on IntegriCloud