feat: support for MPS garbage collector (igc)

And remove/disable gcmh if running the IGC build.
This commit is contained in:
Henrik Lissner 2026-03-19 14:17:47 -04:00
parent a6a25521dc
commit a629b154cc
No known key found for this signature in database
GPG key ID: B60957CA074D39A3
3 changed files with 10 additions and 6 deletions

View file

@ -84,10 +84,11 @@
;; when it's idle. However, if the idle delay is too long, we run the risk of
;; runaway memory usage in busy sessions. And if it's too low, then we may as
;; well not be using gcmh at all.
(setq gcmh-idle-delay 'auto ; default is 15s
gcmh-auto-idle-delay-factor 10
gcmh-high-cons-threshold (* 64 1024 1024)) ; 64mb
(add-hook 'doom-first-buffer-hook #'gcmh-mode)
(unless (featurep 'igc)
(setq gcmh-idle-delay 'auto ; default is 15s
gcmh-auto-idle-delay-factor 10
gcmh-high-cons-threshold (* 64 1024 1024)) ; 64mb
(add-hook 'doom-first-buffer-hook #'gcmh-mode))
;;; Disable UI elements early

View file

@ -155,6 +155,8 @@
(push 'jansson features))
(if (string-match-p "HARFBUZZ" system-configuration-features) ; no alternative
(push 'harfbuzz features))
(if (fboundp 'igc-info)
(push 'igc features))
;; The `native-compile' feature exists whether or not it is functional (e.g.
;; libgcc is available or not). This seems silly, as some packages will blindly

View file

@ -7,8 +7,9 @@
(package! compat
:recipe (:host github :repo "emacs-compat/compat")
:pin "38df650dce9f862c6b523de5b683573df590ab85")
(package! gcmh
:pin "0089f9c3a6d4e9a310d0791cf6fa8f35642ecfd9")
(unless (featurep 'igc)
(package! gcmh
:pin "0089f9c3a6d4e9a310d0791cf6fa8f35642ecfd9"))
;; doom-packages.el
(package! straight