> Hi, Please review > Usually most OSes are configured with page size of 4K, but some others are > configured with 64K. If jdk binary is built on 4K platform and run on > different configured platforms, CDS fails to be loaded due to region > alignment mismatch: > Unable to map CDS archive -- os::vm_allocation_granularity() expected: 4096 > actual: 65536 > This change uses 64K as region alignment if OS page size is less than 64K. > For most of the current OSes, means always use 64K as file map region > alignment. > The archive size will increase about 300K due to the change. > Tests: tier1-4 > Run MacOS/X64 binary on MacOS/aarch64 > > Thanks > Yumin
Yumin Qi has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains seven commits: - Merge branch 'master' into jdk-8236847 - Merge master - Add --enable-compatible-cds-alignment for linux-aarch64 and macosx-x64 in jib job - Switch to enble compatible-cds-alignment at configuration - Make CDS core region alignment configurable at build time - Make 64K core region alignment only for specific platforms, also fixed comments as suggestions. - 8236847: CDS archive with 4K alignment unusable on machines with 64k pages ------------- Changes: https://git.openjdk.java.net/jdk/pull/2651/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2651&range=06 Stats: 220 lines in 16 files changed: 161 ins; 16 del; 43 mod Patch: https://git.openjdk.java.net/jdk/pull/2651.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2651/head:pull/2651 PR: https://git.openjdk.java.net/jdk/pull/2651