There exists a function, really only used on 32bit platforms with ZGC or if AggressiveHeap is set, which tests if a given memory size is reservable. A variant of this function exists for every os_cpu variant. They don't really differ much. Some of the 64bit only variants (eg ppc) never bothered to implement this.
I am not sure how much sense this function makes; but it could at least be unified across POSIX platforms, and it should not use os::reserve_memory but plain raw mmap. There is no need for it to go through our whole reservation layer (eg NMT) if it just immediately releases the memory again.
I also would like NMT to be kept out of this since I work on NMT late stage initialization (JDK-8256844) and would like to avoid calling any of our reservation APIs before NMT initialization ran.
I am not sure how much sense this function makes; but it could at least be unified across POSIX platforms, and it should not use os::reserve_memory but plain raw mmap. There is no need for it to go through our whole reservation layer (eg NMT) if it just immediately releases the memory again.
I also would like NMT to be kept out of this since I work on NMT late stage initialization (