recursion-ninja pushed to branch wip/fix-25636 at Glasgow Haskell Compiler / GHC

Commits:

2 changed files:

Changes:

  • libraries/ghci/GHCi/CreateBCO.hs
    ... ... @@ -116,19 +116,9 @@ mkPtrsArray arr n_ptrs ptrs = do
    116 116
           -- This MUST be /strict!/
    
    117 117
           -- Lazy evaluation will cause interpreter panics (at best).
    
    118 118
           -- Used to refer to unlifted data constructor applications.
    
    119
    ---      let !x = arr ! n
    
    120 119
           let x@(HValue !a) = arr ! n
    
    121 120
           a `seq` writePtrsArrayHValue i x marr
    
    122
    -{-
    
    123
    -      let (HValue !a) = arr ! n
    
    124
    -      let uVal :: IO (Any UnliftedType)
    
    125
    -          !uVal = unsafeCoerce# a
    
    126
    -      aVal <- evaluate uVal
    
    127
    -      let !hVal = unsafeCoerce aVal
    
    128
    -      hVal `seq` writePtrsArrayHValue i hVal marr
    
    129
    ---      let x@(HValue !a) = arr ! n
    
    130
    ---      in  a `seq` writePtrsArrayHValue i x' marr
    
    131
    --}
    
    121
    +--      writePtrsArrayHValue i (arr ! n) marr
    
    132 122
         fill (ResolvedBCOPtr r) i = do
    
    133 123
           hv <- localRef r
    
    134 124
           writePtrsArrayHValue i hv marr
    

  • rts/PrimOps.cmm
    1
    +
    
    1 2
     /* -*- tab-width: 8 -*- */
    
    2 3
     /* -----------------------------------------------------------------------------
    
    3 4
      *
    
    ... ... @@ -2143,17 +2144,17 @@ stg_deRefStablePtrzh ( P_ sp )
    2143 2144
     /* -----------------------------------------------------------------------------
    
    2144 2145
        Bytecode object primitives
    
    2145 2146
        -------------------------------------------------------------------------  */
    
    2146
    -/*
    
    2147
    -stg_newUDHzh ( P_ datacon_itbl )
    
    2147
    +
    
    2148
    +stg_newUDHzh ( W_ datacon_itbl )
    
    2148 2149
     {
    
    2149 2150
         W_ p;
    
    2150
    -    ALLOC_PRIM(SIZEOF_StgClosure)
    
    2151
    -    p = Hp - SIZEOF_StgClosure + WDS(1);
    
    2151
    +    ALLOC_PRIM(SIZEOF_StgHeader);
    
    2152
    +    p = Hp - SIZEOF_StgHeader + WDS(1);
    
    2152 2153
         // No memory barrier necessary as this is a new allocation.
    
    2153 2154
         SET_HDR(p, datacon_itbl, CCS_MAIN);
    
    2154 2155
         return (p);
    
    2155 2156
     }
    
    2156
    -*/
    
    2157
    +
    
    2157 2158
     stg_newBCOzh ( P_ instrs,
    
    2158 2159
                    P_ literals,
    
    2159 2160
                    P_ ptrs,