diff options
author | Ben Gamari <ben@smart-cactus.org> | 2020-09-11 06:16:18 -0400 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2020-09-18 15:56:25 -0400 |
commit | 40dc91069d15bfc1d81f1722b39e06cac8fdddd1 (patch) | |
tree | 35dddbae6594e1db99802ed08ddd2b1ee4e92afe /includes/rts | |
parent | c492134912e5270180881b7345ee86dc32756bdd (diff) | |
download | haskell-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.h | 2 |
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[]; }; |