Description
Description
This PR tracks progress on implementation of cuckoo filter for attribute retrieval with possibly higher execution speed performance path if attribute doesn't exist, as outlined in dotnet/coreclr#24498.
The runtime has a list of "well known" attributes and their names. During the AOT compilation, if a class or method is annotated with the attribute, a cuckoo filter entry could be created that combines the hash code of the known attribute name and the metadata token of the item as a hash key.
At the runtime, if the AOT image is available, it could first lookup if a particular item has the attribute by computing the hash again and retrieving probability from the filter. If there is a non-zero probability for the attribute, the runtime could perform a slow check (false positives are possible). Otherwise (common case), it is known that the member doesn't have the attribute.