mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Added a new flag to the GenericMetadataPatternFlags flagset for whether the metadata has a set of flags at its tail. When that flag is set, there will be an extra uint64_t flagset at the end of the metadata. For struct metadata, the type of that flagset will be StructMetadataTrailingFlags. The first flag in that trailing flagset indicates whether the metadata was statically specialized. The second flag in that trailing flagset indicates whether the metadata is statically canonical. When verifying the metadata cache, a check is done for whether the metadata was statically specialized and whether it was known to be canonical statically. If so, verification is skipped. Skipping it is necessary because the known-canonical statically specialized metadata will not be in the cache. In that case, the canonical statically specialized metadata will be returned from the metadata accessor and never be cached.
192 KiB
192 KiB