Cheng Shao pushed to branch wip/remove-alloc_p_ticky at Glasgow Haskell Compiler / GHC Commits: f3c18890 by Samuel Thibault at 2026-01-10T15:48:22+01:00 hurd: Fix getExecutablePath build 3939a8bf93e27 ("GNU/Hurd: Add getExecutablePath support") added using /proc/self/exe for GNU/Hurd but missed adding the required imports for the corresponding code. - - - - - 7f15bd15 by Samuel Thibault at 2026-01-12T07:16:25-05:00 Fix the OS string encoding for GNU/Hurd Following https://github.com/haskell/cabal/pull/9434/files , and as seen in the various gnu_HOST_OS usages in the source code, it is expected that GNU/Hurd is advertised as "gnu", like the autotools do. - - - - - 1db2f240 by Andrew Lelechenko at 2026-01-12T07:17:06-05:00 Add since annotation for Data.Bifoldable1 Fixes #26432 - - - - - e038a383 by Sven Tennie at 2026-01-12T07:17:49-05:00 Ignore Windows CI tool directories in Git Otherwise, we see thousands of changes in `git status` which is very confusing to work with. - - - - - b6731ff9 by Cheng Shao at 2026-01-12T13:43:21+01:00 rts: fix typo in TICK_ALLOC_RTS This patch fixes a typo in the `TICK_ALLOC_RTS` macro, the original `bytes` argument was silently dropped. The Cmm code has its own version of `TICK_ALLOC_RTS` not affected by this typo, it affected the C RTS, and went unnoticed because the variable `n` happened to also be available at its call site. But the number was incorrect. Also fixes its call site since `WDS()` is not available in C. - - - - - c7d17058 by Cheng Shao at 2026-01-12T13:43:44+01:00 rts: remove broken & unused ALLOC_P_TICKY This patch removes the `ALLOC_P_TICKY` macro from the rts, it's unused, and its expanded code is already broken. - - - - - 7 changed files: - .gitignore - libraries/base/src/Data/Bifoldable1.hs - libraries/ghc-internal/src/GHC/Internal/System/Environment/ExecutablePath.hsc - libraries/ghc-platform/src/GHC/Platform/ArchOS.hs - rts/include/Cmm.h - rts/include/stg/Ticky.h - rts/sm/Storage.c Changes: ===================================== .gitignore ===================================== @@ -256,3 +256,12 @@ ghc.nix/ # clangd .clangd dist-newstyle/ + +# ----------------------------------------------------------------------------- +# CI + +# Windows CI +toolchain/ +ghc-*/ +inplace/ +tmp/ ===================================== libraries/base/src/Data/Bifoldable1.hs ===================================== @@ -2,6 +2,7 @@ -- Copyright: Edward Kmett, Oleg Grenrus -- License: BSD-3-Clause -- +-- @since 4.18.0.0 {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE Safe #-} ===================================== libraries/ghc-internal/src/GHC/Internal/System/Environment/ExecutablePath.hsc ===================================== @@ -51,7 +51,7 @@ import GHC.Internal.Foreign.Ptr import GHC.Internal.Foreign.Storable import GHC.Internal.System.IO.Error (isDoesNotExistError) import GHC.Internal.System.Posix.Internals -#elif defined(linux_HOST_OS) +#elif defined(linux_HOST_OS) || defined(gnu_HOST_OS) import GHC.Internal.Data.Functor import GHC.Internal.Data.List (isSuffixOf) import GHC.Internal.Foreign.C.Types ===================================== libraries/ghc-platform/src/GHC/Platform/ArchOS.hs ===================================== @@ -156,7 +156,7 @@ stringEncodeOS = \case OSHaiku -> "haiku" OSQNXNTO -> "nto-qnx" OSAIX -> "aix" - OSHurd -> "hurd" + OSHurd -> "gnu" OSWasi -> "wasi" OSGhcjs -> "ghcjs" ===================================== rts/include/Cmm.h ===================================== @@ -441,12 +441,6 @@ #define HP_CHK_P(bytes, fun, arg) \ HEAP_CHECK(bytes, GC_PRIM_P(fun,arg)) -// TODO I'm not seeing where ALLOC_P_TICKY is used; can it be removed? -// -NSF March 2013 -#define ALLOC_P_TICKY(bytes, fun, arg) \ - HP_CHK_P(bytes); \ - TICK_ALLOC_RTS(bytes); - // Load a field out of structure with relaxed ordering. #define RELAXED_LOAD_FIELD(fld, ptr) \ REP_##fld![(ptr) + OFFSET_##fld] ===================================== rts/include/stg/Ticky.h ===================================== @@ -246,7 +246,7 @@ EXTERN StgInt RET_UNBOXED_TUP_hst[TICKY_BIN_COUNT] INIT({0}); TICK_BUMP_BY(ALLOC_THK_gds,g);\ TICK_BUMP_BY(ALLOC_THK_slp,s);\ -#define TICK_ALLOC_RTS(bytes)\ +#define TICK_ALLOC_RTS(n)\ TICK_BUMP(ALLOC_RTS_ctr);\ TICK_BUMP_BY(ALLOC_RTS_tot,n); #endif ===================================== rts/sm/Storage.c ===================================== @@ -990,7 +990,7 @@ move_STACK (StgStack *src, StgStack *dest) void accountAllocation(Capability *cap, W_ n) { - TICK_ALLOC_RTS(WDS(n)); + TICK_ALLOC_RTS(n*sizeof(W_)); CCS_ALLOC(cap->r.rCCCS,n); if (cap->r.rCurrentTSO != NULL) { // cap->r.rCurrentTSO->alloc_limit -= n*sizeof(W_) View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/4332fbdd248c74164f043c0e5a984a4... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/4332fbdd248c74164f043c0e5a984a4... You're receiving this email because of your account on gitlab.haskell.org.