summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2020-09-11 06:16:18 -0400
committerBen Gamari <ben@smart-cactus.org>2020-09-16 15:30:20 -0400
commit9c748240149aa27af74ca721b2c1d144ed82a1a1 (patch)
treedd1c3224df62b9946c3b21afb8e226111912aed8 /includes
parent9436cac081931b83c54a906e7f2c5fe32e868c81 (diff)
downloadhaskell-wip/initializers.tar.gz
rts: Refactor unloading of foreign export StablePtrswip/initializers
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')
-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[];
};