[commit: ghc] wip/ghc-8.0-det: Serialize vParallelTyCons in a stable order (69d2fdc)

git at git.haskell.org git at git.haskell.org
Thu Jul 14 13:54:01 UTC 2016


Repository : ssh://git@git.haskell.org/ghc

On branch  : wip/ghc-8.0-det
Link       : http://ghc.haskell.org/trac/ghc/changeset/69d2fdc1f6568956a131b40a35af8443ce58551d/ghc

>---------------------------------------------------------------

commit 69d2fdc1f6568956a131b40a35af8443ce58551d
Author: Bartosz Nitka <niteria at gmail.com>
Date:   Thu Jun 2 09:51:04 2016 -0700

    Serialize vParallelTyCons in a stable order
    
    nameSetElems can introduce nondeterminism and while I haven't
    observed this being a problem in practice (possibly because this
    is dead code) there's no downside to doing this.
    
    Test Plan: ./validate
    
    Reviewers: bgamari, austin, simonpj, simonmar
    
    Reviewed By: simonmar
    
    Subscribers: thomie
    
    Differential Revision: https://phabricator.haskell.org/D2296
    
    GHC Trac Issues: #4012


>---------------------------------------------------------------

69d2fdc1f6568956a131b40a35af8443ce58551d
 compiler/iface/MkIface.hs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/compiler/iface/MkIface.hs b/compiler/iface/MkIface.hs
index 1a31afd..1b9570c 100644
--- a/compiler/iface/MkIface.hs
+++ b/compiler/iface/MkIface.hs
@@ -326,7 +326,7 @@ mkIface_ hsc_env maybe_old_fingerprint
        , ifaceVectInfoTyCon          = [tyConName t   | (t, t_v) <- nameEnvElts vTyCon, t /= t_v]
        , ifaceVectInfoTyConReuse     = [tyConName t   | (t, t_v) <- nameEnvElts vTyCon, t == t_v]
        , ifaceVectInfoParallelVars   = [Var.varName v | v <- varSetElems vParallelVars]
-       , ifaceVectInfoParallelTyCons = nameSetElems vParallelTyCons
+       , ifaceVectInfoParallelTyCons = nameSetElemsStable vParallelTyCons
        }
 
 -----------------------------



More information about the ghc-commits mailing list