Tags: fryguybob/ghc
Tags
Fix GC for TRec mutable array entries. We use the offset to determine if an entry is a pointer. With mutable arrays we have pointer entires beyond the index of the last non-pointer.
Fix GC for TRec mutable array entries. We use the offset to determine if an entry is a pointer. With mutable arrays we have pointer entires beyond the index of the last non-pointer.
Turn on eager promotion for TStruct. Also don't keep TStructs always on the mutable list, but instead add as needed with a write barrier.
Keep the representation of ref parts normal. Switch back to having the ref parts represented as they would be for storing and special case layout when generating alts. I think we can remove the special alt types refAddrAlt# and refIndexAlt# now.
Remove fancy shadowing logic; always override in package database order. This is a stopgap fix for GHC 8.0 bug #12485: in particular, it relaxes need for -package-db flags to be given in dependency order. The trade-off is that we are a lot more unsafe when there are packages with duplicate 'id's in the database stack: the new code will not do an ABI compatibility check: if two packages have the same 'id', they are assumed to be ABI compatible. If this is not true, GHC may build segfaulting executables. Missing test updates, but I'm putting it up so people can take a look. In GHC 8.2, we'll record ABIs for all dependencies, allowing GHC to make better decisions about shadowing. Signed-off-by: Edward Z. Yang <[email protected]> Test Plan: validate Reviewers: austin, niteria, bgamari, simonmar Reviewed By: simonmar Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2613 GHC Trac Issues: #12485
PreviousNext