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

git at git.haskell.org git at git.haskell.org
Mon Jul 25 14:59:03 UTC 2016


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

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

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

commit 3b745a14f69d1a6143df17d58c8eb3368ed9812c
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
    
    (cherry picked from commit d348acd527548fc71a59e239a963e982c69af1f8)


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

3b745a14f69d1a6143df17d58c8eb3368ed9812c
 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