Fix a rare parallel GC bug
Fix a rare parallel GC bug

When there's a conflict between two threads evacuating the same TSO,
in some cases we would update the incall->tso pointer to point to the
wrong copy of the TSO.  This would get fixed during the next GC, but
if the thread completed in the meantime, it would likely crash.  We're
seeing this about once per day on a heavily loaded machine (it varies
a lot though).

GaloisInc/halvm-ghc,gridaphobe/ghc,AlexanderPankiv/ghc,gcampax/ghc,nushio3/ghc,gcampax/ghc,sgillespie/ghc,ezyang/ghc,christiaanb/ghc,vikraman/ghc,mfine/ghc,olsner/ghc,snoyberg/ghc,christiaanb/ghc,nushio3/ghc,nkaretnikov/ghc,tjakway/ghcjvm,sgillespie/ghc,anton-dessiatov/ghc,nathyong/microghc-ghc,GaloisInc/halvm-ghc,wxwxwwxxx/ghc,acowley/ghc,elieux/ghc,siddhanathan/ghc,mfine/ghc,gcampax/ghc,anton-dessiatov/ghc,ghc-android/ghc,elieux/ghc,AlexanderPankiv/ghc,oldmanmike/ghc,jstolarek/ghc,green-haskell/ghc,vTurbine/ghc,elieux/ghc,ezyang/ghc,fmthoma/ghc,tjakway/ghcjvm,mettekou/ghc,ezyang/ghc,ml9951/ghc,mcschroeder/ghc,vikraman/ghc,gridaphobe/ghc,green-haskell/ghc,mettekou/ghc,sdiehl/ghc,TomMD/ghc,tjakway/ghcjvm,shlevy/ghc,sdiehl/ghc,urbanslug/ghc,gridaphobe/ghc,nathyong/microghc-ghc,tjakway/ghcjvm,gridaphobe/ghc,wxwxwwxxx/ghc,mfine/ghc,vTurbine/ghc,gridaphobe/ghc,wxwxwwxxx/ghc,nkaretnikov/ghc,acowley/ghc,elieux/ghc,oldmanmike/ghc,ghc-android/ghc,nathyong/microghc-ghc,vikraman/ghc,anton-dessiatov/ghc,gcampax/ghc,wxwxwwxxx/ghc,nathyong/microghc-ghc,sgillespie/ghc,forked-upstream-packages-for-ghcjs/ghc,wxwxwwxxx/ghc,ml9951/ghc,mfine/ghc,sgillespie/ghc,ml9951/ghc,elieux/ghc,oldmanmike/ghc,urbanslug/ghc,TomMD/ghc,nushio3/ghc,ml9951/ghc,mfine/ghc,ghc-android/ghc,forked-upstream-packages-for-ghcjs/ghc,ezyang/ghc,ghc-android/ghc,siddhanathan/ghc,vTurbine/ghc,anton-dessiatov/ghc,vTurbine/ghc,vTurbine/ghc,gridaphobe/ghc,mcschroeder/ghc,vTurbine/ghc,sgillespie/ghc,nkaretnikov/ghc,GaloisInc/halvm-ghc,fmthoma/ghc,sgillespie/ghc,ghc-android/ghc,olsner/ghc,mfine/ghc,acowley/ghc,nushio3/ghc,gcampax/ghc,forked-upstream-packages-for-ghcjs/ghc,siddhanathan/ghc,AlexanderPankiv/ghc,nathyong/microghc-ghc,TomMD/ghc,oldmanmike/ghc,wxwxwwxxx/ghc,shlevy/ghc,fmthoma/ghc,AlexanderPankiv/ghc,nkaretnikov/ghc,ml9951/ghc,AlexanderPankiv/ghc,ml9951/ghc,da-x/ghc,fmthoma/ghc,ezyang/ghc,mcschroeder/ghc,mettekou/ghc,acowley/ghc,da-x/ghc,ezyang/ghc,tjakway/ghcjvm,anton-dessiatov/ghc,ezyang/ghc,mfine/ghc,da-x/ghc,snoyberg/ghc,da-x/ghc,gridaphobe/ghc,forked-upstream-packages-for-ghcjs/ghc,jstolarek/ghc,da-x/ghc,sdiehl/ghc,olsner/ghc,ghc-android/ghc,elieux/ghc,siddhanathan/ghc,da-x/ghc,mettekou/ghc,green-haskell/ghc,bitemyapp/ghc,acowley/ghc,sdiehl/ghc,snoyberg/ghc,da-x/ghc,TomMD/ghc,shlevy/ghc,nathyong/microghc-ghc,urbanslug/ghc,vikraman/ghc,olsner/ghc,forked-upstream-packages-for-ghcjs/ghc,siddhanathan/ghc,shlevy/ghc,ml9951/ghc,tjakway/ghcjvm,fmthoma/ghc,jstolarek/ghc,siddhanathan/ghc,mcschroeder/ghc,anton-dessiatov/ghc,mettekou/ghc,oldmanmike/ghc,olsner/ghc,snoyberg/ghc,jstolarek/ghc,vTurbine/ghc,GaloisInc/halvm-ghc,mettekou/ghc,oldmanmike/ghc,vikraman/ghc,anton-dessiatov/ghc,gcampax/ghc,bitemyapp/ghc,oldmanmike/ghc,christiaanb/ghc,siddhanathan/ghc,sdiehl/ghc,bitemyapp/ghc,ghc-android/ghc,urbanslug/ghc,fmthoma/ghc,mettekou/ghc,TomMD/ghc,mcschroeder/ghc,bitemyapp/ghc,TomMD/ghc,shlevy/ghc,urbanslug/ghc,GaloisInc/halvm-ghc,sdiehl/ghc,nkaretnikov/ghc,snoyberg/ghc,AlexanderPankiv/ghc,urbanslug/ghc,GaloisInc/halvm-ghc,nkaretnikov/ghc,nushio3/ghc,TomMD/ghc,snoyberg/ghc,forked-upstream-packages-for-ghcjs/ghc,green-haskell/ghc,nushio3/ghc,nkaretnikov/ghc,forked-upstream-packages-for-ghcjs/ghc,GaloisInc/halvm-ghc,urbanslug/ghc,sdiehl/ghc,olsner/ghc,christiaanb/ghc,christiaanb/ghc,nushio3/ghc,elieux/ghc,acowley/ghc,fmthoma/ghc,ml9951/ghc,vikraman/ghc,christiaanb/ghc,shlevy/ghc,AlexanderPankiv/ghc,jstolarek/ghc,olsner/ghc,mcschroeder/ghc,wxwxwwxxx/ghc,mcschroeder/ghc,bitemyapp/ghc,shlevy/ghc,acowley/ghc,vikraman/ghc,green-haskell/ghc,sgillespie/ghc,snoyberg/ghc,gcampax/ghc,christiaanb/ghc,tjakway/ghcjvm,nathyong/microghc-ghc