diff options
| author | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-03-03 20:14:52 +0000 |
|---|---|---|
| committer | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-03-03 20:14:52 +0000 |
| commit | 2f501e2420760a9e62838d39fa7738e7d3284231 (patch) | |
| tree | fb0eb29cec9de27ca80e274d703ef63dd94e37c3 /libgo/runtime | |
| parent | d7f5615e21e38f5c85175b3cf2a1a6525d9d9558 (diff) | |
| download | ppe42-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.c | 5 |
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); } |

