RFR: 8222462: Introduce CollectedHeap::unused()
Per Liden
per.liden at oracle.com
Mon Apr 15 06:49:57 UTC 2019
JVM_FreeMemory() has two problems:
1) It currently uses Heap_lock to protect capacity() and used() from
changing while calculating the amount of free memory available. However,
Heap_lock is doesn't protect capacity() and used() in all collectors,
and as a result, JVM_FreeMemory() could return a negative value.
2) The amount of free memory is not always calculated using capacity() -
used(). For ZGC, we also want to take the reserve into account.
The proposed solution is to introduce CollectedHeap::unused() (the name
is chosen to match CollectedHeap::used()), so that we can delegate this
calculation to the GC.
Testing: tier1-3
Bug: https://bugs.openjdk.java.net/browse/JDK-8222462
Webrev: http://cr.openjdk.java.net/~pliden/8222462/webrev.0
/Per
More information about the hotspot-gc-dev
mailing list