With my PR dotnet/coreclr#6484 I fixed an error where out-of-range assertions were being used.
Part of the fix was to initialize the sets to a "valid full" set that includes only valid indices, instead of apFull, which has all possible bits set. It would be good to remove both apFull and optNewFullAssertSet(), but the former is used in morph. Those uses could probably be modified in some way to avoid using apFull.
Another part of the fix was to add more validation to the checking of AssertionDscs, and to call that (in DEBUG) when an assertion is retrieved. It would be good to add a check that the value numbers are valid.
category:correctness
theme:assertion-prop
skill-level:expert
cost:small
impact:small
With my PR dotnet/coreclr#6484 I fixed an error where out-of-range assertions were being used.
Part of the fix was to initialize the sets to a "valid full" set that includes only valid indices, instead of
apFull, which has all possible bits set. It would be good to remove bothapFullandoptNewFullAssertSet(), but the former is used in morph. Those uses could probably be modified in some way to avoid usingapFull.Another part of the fix was to add more validation to the checking of AssertionDscs, and to call that (in DEBUG) when an assertion is retrieved. It would be good to add a check that the value numbers are valid.
category:correctness
theme:assertion-prop
skill-level:expert
cost:small
impact:small