map_or_reserve_memory_aligned attempts to allocate aligned memory by:
1) reserving larger area
2) releasing it
3) attempting to re-reserve into the vacated address space a smaller area at the aligned start address
Since this may fail (between (2) and (3) someone may have grabbed that address concurrently), we do this in a loop. However, when failing to release it we will loop-reserve endlessly.
This is one of the reasons for JDK-8255954 whose root cause will be fixed with JDK-8255978. But we should guard against endless loops independently from that.