summaryrefslogtreecommitdiff
path: root/includes/rts
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2020-09-11 06:16:18 -0400
committerMarge Bot <ben+marge-bot@smart-cactus.org>2020-09-18 15:56:25 -0400
commit40dc91069d15bfc1d81f1722b39e06cac8fdddd1 (patch)
tree35dddbae6594e1db99802ed08ddd2b1ee4e92afe /includes/rts
parentc492134912e5270180881b7345ee86dc32756bdd (diff)
downloadhaskell-40dc91069d15bfc1d81f1722b39e06cac8fdddd1.tar.gz
rts: Refactor unloading of foreign export StablePtrs
Previously we would allocate a linked list cell for each foreign export. Now we can avoid this by taking advantage of the fact that they are already broken into groups.
Diffstat (limited to 'includes/rts')
-rw-r--r--includes/rts/ForeignExports.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/includes/rts/ForeignExports.h b/includes/rts/ForeignExports.h
index f8828e59d4..aeb524aebf 100644
--- a/includes/rts/ForeignExports.h
+++ b/includes/rts/ForeignExports.h
@@ -29,6 +29,8 @@ struct ForeignExportsList {
/* if the RTS linker loaded the module,
* this points to an array of length ->n_entries
* recording the StablePtr for each export. */
+ StgStablePtr **stable_ptrs;
+ /* the exported closures. of length ->exports. */
StgPtr exports[];
};