dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
15.43k stars 4.76k forks source link

Allow nibblemap deletes to be no-op #109976

Closed max-charlamb closed 5 days ago

max-charlamb commented 5 days ago

Fixes #109970

108939 changed nibblemap delete function to assert that the delete operation occurred on a valid nibble. Testing with the AltJit triggered the revert path (BackoutJitData) which attempts to delete the nibblemap entry which is never set.

In other paths the nibblemap entry has already been set, therefore I am modifying the assert to allow no-op deletes. This should be the same behavior as before #108939.