-
e9fc5e68
by Luite Stegeman at 2026-09-16T09:55:33+05:30
rts: handle large CONSTR closures in compacting GC
The function update_fwd_large in the compacting GC could run into
an unexpected object with the following error:
internal error: update_fwd_large: unknown/strange object 1
Closure type 1 is CONSTR. This patch adds cases for CONSTR and
CONSTR_NOCAF.
This is the same problem as #27434 (large AP closures, fixed by
cca0d58963), which missed this case.
Fixes #27649
(cherry picked from commit 749d2448eb56367046b2de890f1bf89a856ce53f)
-
08450404
by Luite Stegeman at 2026-09-16T09:55:35+05:30
testsuite: fix T27434 test with compacting GC
Ensure that the interpreter is actually run with the compacting GC
(cherry picked from commit 177d615518a44dde595f3166f56ec604e0675b3b)
-
f8905344
by Luite Stegeman at 2026-09-16T09:55:35+05:30
rts: initialise the stack frame header for mask_frame and apply_mask_frame
We must leave the stack in consistent state before jumping to
mask_frame or apply_mask_frame because they may result. Failing
to do so could lead to a crash if there were waiting exceptions.
Fixes #27651
(cherry picked from commit 5796aa637cca079854fc7e84e7e0fa497aacab3c)
-
a65f6881
by Simon Peyton Jones at 2026-09-16T09:55:36+05:30
Re-introduce the "weird SpecDict" case
In this commit
commit f80375dd4945350a1d784e436975b48b9c736eaf
Author: Simon Peyton Jones <simon.peytonjones@gmail.com>
Date: Sun Jun 29 15:26:58 2025 +0100
Refactor of Specialise.hs
I removed a test for a dictionary with unbound type variables. This
turned out to be wrong; see #27629.
So this MR re-introduces it.
(cherry picked from commit 2486cc92cea451fd6528292252a8f384e3b34dcb)
-
6c0977e9
by Cheng Shao at 2026-09-16T09:55:36+05:30
Revert "wasm: workaround WebKit bug in dyld"
This reverts commit c9b8465c2c338176fcab9d197e9d31f4aee11f68. The
underlying webkit bug has been fixed in
https://commits.webkit.org/314219@main. Closes #27564.
(cherry picked from commit 0f48735bf5dbddd3ae43932d8abfbb0c7a13a69d)
-
cfe8c93d
by Luite Stegeman at 2026-09-16T09:55:55+05:30
rts: make stg_threadLabelzh return a valid pointer for unlabeled threads.
This fixes a segfault in the GC caused by stg_threadLabelzh returning
a 0 pointer in a GC pointer field.
stg_threadLabelzh returns a tuple of type (# Int#, ByteArray# #). If a
thread has no label, the second field is unused. We must still return
a valid heap object pointer.
Instead of returning 0, we now return stg_DEAD_SLOT_closure.
fixes #27618
(cherry picked from commit 809294f14cf6939b249d93af92c0ae174dda5b4a)
-
cc5224c1
by Zubin Duggal at 2026-09-16T09:58:41+05:30
Prepare 10.0.1-alpha1