G1PageBasedVirtualSpace::commit_preferred_pages:
os::commit_memory_or_exit(start_addr, size, _page_size, _executable,
err_msg("Failed to commit area from " PTR_FORMAT " to " PTR_FORMAT " of length " SIZE_FORMAT ".",
p2i(start_addr), p2i(start_addr + size), size));
G1PageBasedVirtualSpace::commit_tail():
os::commit_memory_or_exit(aligned_end_address, _tail_size, os::vm_page_size(), _executable,
err_msg("Failed to commit tail area from " PTR_FORMAT " to " PTR_FORMAT " of length " SIZE_FORMAT ".",
p2i(aligned_end_address), p2i(_high_boundary), _tail_size));
When starting G1 with a lot of regions, these show up in startup profiles.
Replacing with a static error message can reduce scaling startup overhead from number of regions by ~20%: http://cr.openjdk.java.net/~redestad/scratch/static_commit_errmgs.00/
While the above was just a quick verification, it seems most of the information we output at these places is redundant. SeeJDK-8202504 for an example.
I propose replacing the err_msg in these places with "G1 virtual space", aligning with other usage of this API.
os::commit_memory_or_exit(start_addr, size, _page_size, _executable,
err_msg("Failed to commit area from " PTR_FORMAT " to " PTR_FORMAT " of length " SIZE_FORMAT ".",
p2i(start_addr), p2i(start_addr + size), size));
G1PageBasedVirtualSpace::commit_tail():
os::commit_memory_or_exit(aligned_end_address, _tail_size, os::vm_page_size(), _executable,
err_msg("Failed to commit tail area from " PTR_FORMAT " to " PTR_FORMAT " of length " SIZE_FORMAT ".",
p2i(aligned_end_address), p2i(_high_boundary), _tail_size));
When starting G1 with a lot of regions, these show up in startup profiles.
Replacing with a static error message can reduce scaling startup overhead from number of regions by ~20%: http://cr.openjdk.java.net/~redestad/scratch/static_commit_errmgs.00/
While the above was just a quick verification, it seems most of the information we output at these places is redundant. See
I propose replacing the err_msg in these places with "G1 virtual space", aligning with other usage of this API.