aboutsummaryrefslogtreecommitdiff
path: root/src/share/vm/gc_implementation/g1
diff options
context:
space:
mode:
authortschatzl <none@none>2014-12-18 09:37:02 +0100
committertschatzl <none@none>2014-12-18 09:37:02 +0100
commiteb227ee08ed95d9317dd6b9dc8019069f9f604c7 (patch)
tree187bae8b7e31f82d8cb92c85dc9d61a88b8f4c3e /src/share/vm/gc_implementation/g1
parent4681ac7c741594141a9953fed24057775e089b87 (diff)
downloadjdk8u_hotspot-eb227ee08ed95d9317dd6b9dc8019069f9f604c7.tar.gz
8067469: G1 ignores AlwaysPreTouch
Summary: Factor out pretouch code of the various virtual space management classes and use them everywhere including in G1. Reviewed-by: stefank, ehelin, dholmes
Diffstat (limited to 'src/share/vm/gc_implementation/g1')
-rw-r--r--src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp b/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp
index 662d28aee..f483dbbf4 100644
--- a/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp
+++ b/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp
@@ -144,6 +144,9 @@ bool G1PageBasedVirtualSpace::commit(uintptr_t start, size_t size_in_pages) {
}
_committed.set_range(start, end);
+ if (AlwaysPreTouch) {
+ os::pretouch_memory(page_start(start), page_start(start) + byte_size_for_pages(size_in_pages));
+ }
return zero_filled;
}