RFR (XS) 8016825 Large pages for the heap broken on Windows for compressed oops
Thomas Schatzl
thomas.schatzl at oracle.com
Mon Jul 15 09:33:36 UTC 2013
Hi all,
can I have reviews for the following change?
The change fixes the allocation of memory using large pages on Windows
when a particular address is requested under some circumstances.
In particular, VirtualAlloc is always called with a NULL address,
meaning there is no preferred allocation address, which is not the
desired behavior.
See src/os/windows/vm/os_windows.cpp line 3155 in the original code.
The other part of the changes contain a test case for that.
This test case is a bit convoluted, as it needs to handle a few edge
cases which are valid behaviors (mostly not getting large pages in the
first place) that should not cause a failed test.
There is no check whether the returned memory consists of large pages; the call to VirtualAlloc() with MEM_LARGE_PAGES always returns large page memory on success.
webrev:
http://cr.openjdk.java.net/~tschatzl/8016825/webrev/
jbs:
https://jbs.oracle.com/bugs/browse/JDK-8016825
bugs.sun
http://bugs.sun.com/view_bug.do?bug_id=8016825
testing:
jprt running the test case, manual testing
To reproduce the test case, you must give yourself permission to use
large pages (http://msdn.microsoft.com/en-us/library/ms190730.aspx) and
run the VM in an elevated shell with -XX:+UseLargePages and -XX:
+ExecuteInternalVMTests .
Thanks,
Thomas
More information about the hotspot-gc-dev
mailing list