You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ahead of ABI Stability, determine the layout algorithm for multi-payload enums. The algorithm should try to rearrange payloads so as to coalesce cases and save space. This rearrangement can also improve performance and code size. For example, if ARC-ed payload components reside in the same location, operations like copy can be done directly on the values without extensive switching.
The text was updated successfully, but these errors were encountered:
Single-payload enum layout deserves some consideration too. It'd be nice if extra inhabitants were always distributed in such a way that we could figure out the tag of an enum loading only one word; sometimes the tag information is scattered between extra tag bits at the back of the value and extra inhabitants which are biased toward the front of the value.
The only change that we're going to make for the stable ABI is to look for extra inhabitants in any field of a fixed-layout struct (#18630 Other enum layout changes might be possible in the future if we add a mechanism to version the layouts.
Additional Detail from JIRA
md5: fe502935ae3aee66b438641e4a3b8d0a
relates to:
Issue Description:
Ahead of ABI Stability, determine the layout algorithm for multi-payload enums. The algorithm should try to rearrange payloads so as to coalesce cases and save space. This rearrangement can also improve performance and code size. For example, if ARC-ed payload components reside in the same location, operations like copy can be done directly on the values without extensive switching.
The text was updated successfully, but these errors were encountered: