Skip to content

Instantly share code, notes, and snippets.

View mpickering's full-sized avatar

Matthew Pickering mpickering

  • Well Typed LLP
  • Sheffield, UK
View GitHub Profile
=== GHC RTS Stats Comparison ===
_release_debug_info _release_no_prof_no_hash _release_no_split_sections _release
Metric
bytes allocated 110146924080 169756134368 110070939008 110066233592
num_GCs 1759 1964 1732 1570
average_bytes_used 149789226 209639940 144597600 146507169
max_bytes_used 356366328 627307312 386094344 386696640
num_byte_usage_samples 19 22 20 20
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE DeriveFunctor #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE LambdaCase #-}
{-# OPTIONS_GHC -ddump-simpl #-}
module StreamTest where
import Language.Haskell.TH
commit fff55592a7b9c9487c043d055f2d0d77fa549f4e
Author: Torsten Schmits <[email protected]>
Date: Thu Aug 22 15:58:09 2024 +0200
finder: Add `IsBootInterface` to finder cache keys
diff --git a/compiler/GHC/Driver/Backpack.hs b/compiler/GHC/Driver/Backpack.hs
index 3fe26820651..bd4dae294ff 100644
--- a/compiler/GHC/Driver/Backpack.hs
+++ b/compiler/GHC/Driver/Backpack.hs
commit fd9986790de790e3bec7e5a7ac19fc6b2541b199
Author: Krzysztof Gogolewski <[email protected]>
Date: Mon Jun 9 12:44:07 2025 +0200
Fix EPT enforcement when mixing unboxed tuples and non-tuples
The code was assuming that an alternative cannot be returning a normal
datacon and an unboxed tuple at the same time. However, as seen in #26107,
this can happen when using a GADT to refine the representation type.
commit a27803fa7ab18582f61558aaf3799d94726a0a1f
Author: Matthew Pickering <[email protected]>
Date: Wed Apr 2 14:16:16 2025 +0100
Move ModuleGraph into UnitEnv
The ModuleGraph is a piece of information associated with the
ExternalPackageState and HomeUnitGraph. Therefore we should store it
inside the HomeUnitEnv.
diff --git a/compiler/GHC/Cmm/Info.hs b/compiler/GHC/Cmm/Info.hs
index 06b926aa595..80da422ac77 100644
--- a/compiler/GHC/Cmm/Info.hs
+++ b/compiler/GHC/Cmm/Info.hs
@@ -392,7 +392,7 @@ mkStdInfoTable profile (type_descr, closure_descr) cl_type srt layout_lit
prof_info
-- Ticky info (none at present)
-- Debug info (none at present)
- ++ [layout_lit, tag, srt]
+ ++ [closure_id, layout_lit, tag, srt]
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE DeriveFunctor #-}
{-# LANGUAGE FlexibleInstances #-}
{-# OPTIONS_GHC -ddump-simpl #-}
module StreamTest where
import Language.Haskell.TH
import Data.Functor.Compose
{-# LANGUAGE DeriveFunctor #-}
{-# LANGUAGE OverloadedStrings #-}
import Data.Map.Strict (Map)
import qualified Data.Map.Strict as Map
import Data.List (nub)
import Data.Maybe (mapMaybe)
import Control.Monad (guard)
-- Basic types
#!/usr/bin/env bash
set -e
usage() {
echo "$0 (job-name)"
exit 1
}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE OverloadedStrings #-}
import System.IO
import System.Posix.IO
import System.Posix.Types
import Control.Concurrent
import Control.Monad
import qualified Data.ByteString.Char8 as BS
import GHC.IO.Handle