RFR: 8232604: ZGC: Make ZVerifyViews mapping and unmapping precise

Stefan Karlsson stefan.karlsson at oracle.com
Thu Oct 24 16:36:42 UTC 2019


Hi all,

Please review this patch to make the ZVerifyViews mapping and unmapping 
precise.

https://cr.openjdk.java.net/~stefank/8232604/webrev.01/
https://bugs.openjdk.java.net/browse/JDK-8232604

Today, when the ZVerifyViews flag is turned on, we unmap all bad views. 
The intention is to catch stray-pointer bugs.

The current implementation takes a short-cut and unmap all memory en 
masse. This works for Linux, but not on Windows, where we must be 
precise in what we unmap.

There are three places where allocated pages are registered today:
- In the page table - actively used
- In the page cache - free pages waiting to be used
- In-flight from the alloc queue

The proposed patch registers all satisfied alloc requests, lets the 
requesting threads deregister the satisfied request when the page is 
received, and makes sure that the GC visits all in-flight satisfied 
alloc requests when it performs the ZVerifyViews flip.

Thanks,
StefanK



More information about the hotspot-gc-dev mailing list