comparison src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp @ 20338:8d5f66b42c53

8055525: Bigapp weblogic+medrec fails to startup after JDK-8038423 Summary: If large pages are enabled and configured in Linux, the VM always pre-commits the entire space. The VM fails verification of the commit of the initial heap because some internal data structure marked all memory pages of the heap as committed during initialization. This makes the code think that we attempted a double-commit during first allocation of the heap. Remove the initial marking of memory pages of the heap to committed. Reviewed-by: mgerdin
author tschatzl
date Wed, 20 Aug 2014 14:34:40 +0200
parents 1f1d373cd044
children ae52ee069062
comparison
equal deleted inserted replaced
20337:1f1d373cd044 20338:8d5f66b42c53
64 _page_size = page_size; 64 _page_size = page_size;
65 65
66 assert(_committed.size() == 0, "virtual space initialized more than once"); 66 assert(_committed.size() == 0, "virtual space initialized more than once");
67 uintx size_in_bits = rs.size() / page_size; 67 uintx size_in_bits = rs.size() / page_size;
68 _committed.resize(size_in_bits, /* in_resource_area */ false); 68 _committed.resize(size_in_bits, /* in_resource_area */ false);
69
70 if (_special) {
71 _committed.set_range(0, size_in_bits);
72 }
73 69
74 return true; 70 return true;
75 } 71 }
76 72
77 73