review request (S) - 8014611: reserve_and_align() assumptions
Bengt Rutisson
bengt.rutisson at oracle.com
Fri May 17 07:52:37 PDT 2013
Hi John,
On 5/15/13 6:59 PM, John Coomes wrote:
> Please review this change for hs24:
>
> 8014611: reserve_and_align() assumptions are invalid on windows
>
> http://cr.openjdk.java.net/~jcoomes/8014611-reserve-and-align/
>
> The webrev has more info about the problem and the fix.
>
> -John
I don't really understand how this fix helps the Windows issue. The
problem on Windows is that if you try to release any part of a reserved
region it will actually release the whole region instead of the part
that you specified. Or did I miss understand the problem?
If that is the underlying issue then I would have expected this code in
ReservedSpace::align_reserved_region():
83 if (beg_delta != 0) {
84 os::release_partial_region(addr, beg_delta);
85 }
86
87 if (end_delta != 0) {
88 char* release_addr = (char*) (s + beg_delta + required_size);
89 os::release_partial_region(release_addr, end_delta);
90 }
to be:
if (beg_delta != 0 && os::can_release_partial_region()) {
...
}
if (end_delta != 0 && os::can_release_partial_region()) {
...
}
And that os::release_partial_region() on Windows should be implemented as:
bool os::release_partial_region(char* addr, size_t bytes) {
ShouldNotReachHere();
}
I guess I am missing something. Can you explain in more detail why your
approach solves the Windows uncommit problem?
Thanks,
Bengt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/attachments/20130517/59e8006c/attachment.html
More information about the hotspot-runtime-dev
mailing list