Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9237cbeea2 |
@@ -1,184 +0,0 @@
|
||||
# git blame ignore revs file
|
||||
#
|
||||
# The list of revisions below will be ignored by git-blame (1) if this file gets
|
||||
# passed via the --ignore-revs-file command line option or is configured using
|
||||
# the blame.ignoreRevsFile key.
|
||||
#
|
||||
# Only add commits that obviously do not change semantics, e.g. mechanical refactorings
|
||||
# or formatting. Always add the commit message as a comment above the revision
|
||||
# to keep the file readable.
|
||||
|
||||
# 8299973: Replace NULL with nullptr in share/utilities/
|
||||
1084fd24eb118d4131538c2a3ead714db7d0357b
|
||||
|
||||
# 8299974: Replace NULL with nullptr in share/adlc/
|
||||
62537d200f01d58ff1c236f31f71c5839316db9e
|
||||
|
||||
# 8300081: Replace NULL with nullptr in share/asm/
|
||||
9d5bab11f08a992803399f422d75b17f8607df72
|
||||
|
||||
# 8300086: Replace NULL with nullptr in share/c1/
|
||||
90d5041b6a055d6266140ffea2aa9a3b08b32209
|
||||
|
||||
# 8300087: Replace NULL with nullptr in share/cds/
|
||||
eca64795be63c599a637ce2a7f740b2d0a1ec9bc
|
||||
|
||||
# 8300222: Replace NULL with nullptr in share/logging
|
||||
bd5ca953058704087da4bc5796b3ce28ce2a8f78
|
||||
|
||||
# 8300240: Replace NULL with nullptr in share/ci/
|
||||
f52d35c84b7333809156d201c866793854143888
|
||||
|
||||
# 8300241: Replace NULL with nullptr in share/classfile/
|
||||
49ff52087be8b95cbf369518281312ecc9d83618
|
||||
|
||||
# 8300242: Replace NULL with nullptr in share/code/
|
||||
cfe57466ddecb93b528478d0b053b089dd1ed285
|
||||
|
||||
# 8300243: Replace NULL with nullptr in share/compiler/
|
||||
fcbf9d052efd16821750fb20813f8030ee828472
|
||||
|
||||
# 8300244: Replace NULL with nullptr in share/interpreter/
|
||||
a5d8e12872d9de399fa97b33896635d101b71372
|
||||
|
||||
# 8300245: Replace NULL with nullptr in share/jfr/
|
||||
cc396895e5a1dac49f4e341ce91c04b8c092d0af
|
||||
|
||||
# 8300651: Replace NULL with nullptr in share/runtime/
|
||||
71107f4648d8f31a7bcc0aa5202ef46230df583f
|
||||
|
||||
# 8301068: Replace NULL with nullptr in share/jvmci/
|
||||
90ec19efeda90f13a918b4481fe6ee552ab2af66
|
||||
|
||||
# 8301069: Replace NULL with nullptr in share/libadt/
|
||||
b0376a5f4421fb58c0feeddfce2c2083314e400c
|
||||
|
||||
# 8301070: Replace NULL with nullptr in share/memory/
|
||||
d98a323a8b972c17a066c597a81b164681ad5589
|
||||
|
||||
# 8301072: Replace NULL with nullptr in share/oops/
|
||||
c8ace482edead720c865cf996729a316025d937e
|
||||
|
||||
# 8301074: Replace NULL with nullptr in share/opto/
|
||||
5726d31e56530bbe7dee61ae04b126e20cb3611d
|
||||
|
||||
# 8301076: Replace NULL with nullptr in share/prims/
|
||||
b76a52f2104b63e84e5d09f47ce01dd0cb3935d7
|
||||
|
||||
# 8301077: Replace NULL with nullptr in share/services/
|
||||
5c1ec82656323872c4628026662fe5b62e7a61e3
|
||||
|
||||
# 8301178: Replace NULL with nullptr in share/gc/epsilon/
|
||||
b77abc6a0daed0e01a9003d42493320376dc98bc
|
||||
|
||||
# 8301179: Replace NULL with nullptr in share/gc/serial/
|
||||
107e184d59c0bbed6441a3c1a9bfd4527da3bce5
|
||||
|
||||
# 8301180: Replace NULL with nullptr in share/gc/parallel/
|
||||
3758487fda61b27e7e684413793ed28c0b9e64d3
|
||||
|
||||
# 8301223: Replace NULL with nullptr in share/gc/g1/
|
||||
75a4edca6b9fa6b3e66b564aeb4d7ca8acf02491
|
||||
|
||||
# 8301225: Replace NULL with nullptr in share/gc/shenandoah/
|
||||
0c9658446d111ec944f06b7a8a4e3ae7bf53ee8d
|
||||
|
||||
# 8301477: Replace NULL with nullptr in os/aix
|
||||
43288bbd684abfcefdf385ed1e0307070399ccbf
|
||||
|
||||
# 8301478: Replace NULL with nullptr in os/bsd
|
||||
716f1df609e7f0aa7b3b9383d23dde5c71017d02
|
||||
|
||||
# 8301479: Replace NULL with nullptr in os/linux
|
||||
ac9e046748a9bb6ee065dc473d82135ce36043b7
|
||||
|
||||
# 8301480: Replace NULL with nullptr in os/posix
|
||||
4539899c55c77771b951d005c17550ef9ac94819
|
||||
|
||||
# 8301481: Replace NULL with nullptr in os/windows
|
||||
c91cd2814baa8dee2af8af0fecf9185d4a0a44cf
|
||||
|
||||
# 8301493: Replace NULL with nullptr in cpu/aarch64
|
||||
948f3b3c24709eca3aa6c3f0db6adb9226d6f9ac
|
||||
|
||||
# 8301494: Replace NULL with nullptr in cpu/arm
|
||||
c4ffe4bf6369d5b271aa8689b8648f3fe8dcabed
|
||||
|
||||
# 8301495: Replace NULL with nullptr in cpu/ppc
|
||||
0826ceee65ab83f643a77716f8f12d0060369923
|
||||
|
||||
# 8301496: Replace NULL with nullptr in cpu/riscv
|
||||
d2ce04bb101002abfdb7c8adb3fa8ea267903c36
|
||||
|
||||
# 8301497: Replace NULL with nullptr in cpu/s390
|
||||
54f7b6ca34986cc26c5b91c6724b9a1754c94391
|
||||
|
||||
# 8301498: Replace NULL with nullptr in cpu/x86
|
||||
4154a980ca28c1ae56db26e3dce64c07c225de12
|
||||
|
||||
# 8301499: Replace NULL with nullptr in cpu/zero
|
||||
4e327db1d127c652ef39e31c164e36ae429a0065
|
||||
|
||||
# 8301500: Replace NULL with nullptr in os_cpu/aix_ppc
|
||||
c8307e37fdf4453cade84efc113d93dd14333fd0
|
||||
|
||||
# 8301501: Replace NULL with nullptr in os_cpu/bsd_aarch64
|
||||
218223e4a31d485935655cb3f186a752defd8fa8
|
||||
|
||||
# 8301502: Replace NULL with nullptr in os_cpu/bsd_x86
|
||||
6daff6b26946748360d59a12e9069a08ab5ca06d
|
||||
|
||||
# 8301503: Replace NULL with nullptr in os_cpu/bsd_zero
|
||||
8cc399b672c6ce08037685b3a3a2db3c53a87b50
|
||||
|
||||
# 8301504: Replace NULL with nullptr in os_cpu/linux_aarch64
|
||||
13fcd602d37eb0095f169255128588b872639571
|
||||
|
||||
# 8301505: Replace NULL with nullptr in os_cpu/linux_arm
|
||||
b81f0ff43ac8d1431f2f5dccb7499a3a1503823d
|
||||
|
||||
# 8301506: Replace NULL with nullptr in os_cpu/linux_ppc
|
||||
b1e96989b693aadea082a01576e25f85ed28ff0d
|
||||
|
||||
# 8301507: Replace NULL with nullptr in os_cpu/linux_riscv
|
||||
182d1b2fb7034b6e9177dc360cbea43d548c3ff0
|
||||
|
||||
# 8301508: Replace NULL with nullptr in os_cpu/linux_s390
|
||||
d097b5e6285e1a59632211e006592fedf2047c09
|
||||
|
||||
# 8301509: Replace NULL with nullptr in os_cpu/linux_x86
|
||||
5d1f71daf06870810c9ca24e911d6191cc4f3006
|
||||
|
||||
# 8301511: Replace NULL with nullptr in os_cpu/linux_zero
|
||||
42a286a15862d9a05ea3477a9eeab46e7b33e599
|
||||
|
||||
# 8301512: Replace NULL with nullptr in os_cpu/windows_aarch64
|
||||
ad79e49141f063a61090eda69d96dc580db88949
|
||||
|
||||
# 8301513: Replace NULL with nullptr in os_cpu/windows_x86
|
||||
c109dae48c61c6fbeacadf59d509d37d2c4d2bb8
|
||||
|
||||
# 8308092: Replace NULL with nullptr in gc/x
|
||||
599fa774b875da971d66f79e5e43ede2b5ce18aa
|
||||
|
||||
# 8309044: Replace NULL with nullptr, final sweep of hotspot code
|
||||
4f16161607edbf69f423ced1d3c24f7af058d46b
|
||||
|
||||
# 8324286: Fix backsliding on use of nullptr instead of NULL
|
||||
bcb340da091e3287da8d2ecfcd017ebcc6613cae
|
||||
|
||||
# 8324678: Replace NULL with nullptr in HotSpot gtests
|
||||
c1281e6b45ed167df69d29a6039d81854c145ae6
|
||||
|
||||
# 8324679: Replace NULL with nullptr in HotSpot .ad files
|
||||
b3ecd55601d483359819d02e70789bbd412b13da
|
||||
|
||||
# 8324680: Replace NULL with nullptr in JVMTI generated code
|
||||
267780bf0adf4bfd831fbc04347e297fa8f3bb01
|
||||
|
||||
# 8324681: Replace NULL with nullptr in HotSpot jtreg test native code files
|
||||
a6bdee48f39993128d8095d40ab417f0102af0f4
|
||||
|
||||
# 8324799: Use correct extension for C++ test headers
|
||||
998d0baab0fd051c38d9fd6021628eb863b80554
|
||||
|
||||
@@ -37,13 +37,13 @@ runs:
|
||||
|
||||
- name: 'Check cache for already built JTReg'
|
||||
id: get-cached
|
||||
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: jtreg/installed
|
||||
key: jtreg-${{ steps.version.outputs.value }}
|
||||
|
||||
- name: 'Checkout the JTReg source'
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: openjdk/jtreg
|
||||
ref: jtreg-${{ steps.version.outputs.value }}
|
||||
@@ -61,7 +61,7 @@ runs:
|
||||
if: (steps.get-cached.outputs.cache-hit != 'true')
|
||||
|
||||
- name: 'Upload JTReg artifact'
|
||||
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: bundles-jtreg-${{ steps.version.outputs.value }}
|
||||
path: jtreg/installed
|
||||
|
||||
@@ -66,7 +66,7 @@ runs:
|
||||
shell: bash
|
||||
|
||||
- name: 'Upload build logs'
|
||||
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: failure-logs-${{ inputs.platform }}${{ inputs.debug-suffix }}
|
||||
path: failure-logs
|
||||
@@ -74,7 +74,7 @@ runs:
|
||||
|
||||
# This is the best way I found to abort the job with an error message
|
||||
- name: 'Notify about build failures'
|
||||
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: core.setFailed('Build failed. See summary for details.')
|
||||
if: steps.check.outputs.failure == 'true'
|
||||
|
||||
@@ -65,7 +65,7 @@ runs:
|
||||
|
||||
- name: 'Check cache for BootJDK'
|
||||
id: get-cached-bootjdk
|
||||
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: bootjdk/jdk
|
||||
key: boot-jdk-${{ inputs.platform }}-${{ steps.sha256.outputs.value }}
|
||||
|
||||
@@ -54,14 +54,14 @@ runs:
|
||||
steps:
|
||||
- name: 'Download bundles artifact'
|
||||
id: download-bundles
|
||||
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}
|
||||
path: bundles
|
||||
continue-on-error: true
|
||||
|
||||
- name: 'Download bundles artifact (retry)'
|
||||
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}
|
||||
path: bundles
|
||||
@@ -69,7 +69,7 @@ runs:
|
||||
|
||||
- name: 'Download static bundles artifact'
|
||||
id: download-static-bundles
|
||||
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}${{ inputs.static-suffix }}
|
||||
path: bundles
|
||||
|
||||
@@ -40,7 +40,7 @@ runs:
|
||||
var: GTEST_VERSION
|
||||
|
||||
- name: 'Checkout GTest source'
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: google/googletest
|
||||
ref: 'v${{ steps.version.outputs.value }}'
|
||||
|
||||
@@ -41,7 +41,7 @@ runs:
|
||||
|
||||
- name: 'Download JTReg artifact'
|
||||
id: download-jtreg
|
||||
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: bundles-jtreg-${{ steps.version.outputs.value }}
|
||||
path: jtreg/installed
|
||||
|
||||
@@ -25,49 +25,20 @@
|
||||
|
||||
name: 'Get MSYS2'
|
||||
description: 'Download MSYS2 and prepare a Windows host'
|
||||
inputs:
|
||||
architecture:
|
||||
description: 'Architecture'
|
||||
required: true
|
||||
|
||||
runs:
|
||||
using: composite
|
||||
steps:
|
||||
- name: 'Install MSYS2 on x86.x64'
|
||||
id: msys2-x64
|
||||
uses: msys2/setup-msys2@66cd2cce69caa17b53920067426061ca1de3a884 # v2.32.0
|
||||
- name: 'Install MSYS2'
|
||||
id: msys2
|
||||
uses: msys2/setup-msys2@v2.28.0
|
||||
with:
|
||||
install: 'autoconf tar unzip zip make'
|
||||
path-type: minimal
|
||||
release: false
|
||||
if: ${{ inputs.architecture == 'x86.x64' }}
|
||||
|
||||
- name: 'Install MSYS2 on ARM64'
|
||||
id: msys2-arm64
|
||||
uses: msys2/setup-msys2@66cd2cce69caa17b53920067426061ca1de3a884 # v2.32.0
|
||||
with:
|
||||
install: 'autoconf tar unzip zip make'
|
||||
path-type: minimal
|
||||
release: true
|
||||
location: ${{ runner.tool_cache }}/msys2
|
||||
if: ${{ inputs.architecture == 'ARM64' }}
|
||||
|
||||
# We can't run bash until this is completed, so stick with pwsh
|
||||
- name: 'Set MSYS2 path for x64'
|
||||
- name: 'Set MSYS2 path'
|
||||
run: |
|
||||
echo "${{ steps.msys2-x64.outputs.msys2-location }}/usr/bin" >> $env:GITHUB_PATH
|
||||
echo "${{ steps.msys2.outputs.msys2-location }}/usr/bin" >> $env:GITHUB_PATH
|
||||
shell: pwsh
|
||||
if: ${{ inputs.architecture == 'x86.x64' }}
|
||||
|
||||
- name: 'Set MSYS2 path for ARM64'
|
||||
run: |
|
||||
echo "${{ steps.msys2-arm64.outputs.msys2-location }}/usr/bin" >> $env:GITHUB_PATH
|
||||
shell: pwsh
|
||||
if: ${{ inputs.architecture == 'ARM64' }}
|
||||
|
||||
# Remove the default config.site file provided by MSYS2 to ensure config.guess accurately detects the host system.
|
||||
- name: 'Remove default config.site'
|
||||
run: |
|
||||
echo "Removing default config.site"
|
||||
rm -f /etc/config.site
|
||||
shell: env /usr/bin/bash --login -eo pipefail {0}
|
||||
|
||||
@@ -87,7 +87,7 @@ runs:
|
||||
shell: bash
|
||||
|
||||
- name: 'Upload bundles artifact'
|
||||
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}${{ inputs.static-suffix }}${{ inputs.bundle-suffix }}
|
||||
path: bundles
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
|
||||
|
||||
|
||||
---------
|
||||
- [ ] I confirm that I make this contribution in accordance with the [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
|
||||
@@ -74,7 +74,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: 'Checkout the JDK source'
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: 'Install toolchain and dependencies'
|
||||
run: |
|
||||
|
||||
@@ -54,11 +54,18 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
target-cpu:
|
||||
- aarch64
|
||||
- arm
|
||||
- s390x
|
||||
- ppc64le
|
||||
- riscv64
|
||||
include:
|
||||
- target-cpu: aarch64
|
||||
gnu-arch: aarch64
|
||||
debian-arch: arm64
|
||||
debian-repository: https://httpredir.debian.org/debian/
|
||||
debian-version: trixie
|
||||
tolerate-sysroot-errors: false
|
||||
- target-cpu: arm
|
||||
gnu-arch: arm
|
||||
debian-arch: armhf
|
||||
@@ -87,7 +94,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: 'Checkout the JDK source'
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: 'Get the BootJDK'
|
||||
id: bootjdk
|
||||
@@ -115,7 +122,7 @@ jobs:
|
||||
|
||||
- name: 'Check cache for sysroot'
|
||||
id: get-cached-sysroot
|
||||
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: sysroot
|
||||
key: sysroot-${{ matrix.debian-arch }}-${{ hashFiles('./.github/workflows/build-cross-compile.yml') }}
|
||||
|
||||
@@ -31,14 +31,6 @@ on:
|
||||
platform:
|
||||
required: true
|
||||
type: string
|
||||
runs-on:
|
||||
required: false
|
||||
type: string
|
||||
default: 'ubuntu-24.04'
|
||||
bootjdk-platform:
|
||||
required: false
|
||||
type: string
|
||||
default: 'linux-x64'
|
||||
extra-conf-options:
|
||||
required: false
|
||||
type: string
|
||||
@@ -83,7 +75,7 @@ on:
|
||||
jobs:
|
||||
build-linux:
|
||||
name: build
|
||||
runs-on: ${{ inputs.runs-on }}
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
@@ -92,13 +84,13 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: 'Checkout the JDK source'
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: 'Get the BootJDK'
|
||||
id: bootjdk
|
||||
uses: ./.github/actions/get-bootjdk
|
||||
with:
|
||||
platform: ${{ inputs.bootjdk-platform }}
|
||||
platform: linux-x64
|
||||
|
||||
- name: 'Get JTReg'
|
||||
id: jtreg
|
||||
|
||||
@@ -75,7 +75,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: 'Checkout the JDK source'
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: 'Get the BootJDK'
|
||||
id: bootjdk
|
||||
|
||||
@@ -31,9 +31,6 @@ on:
|
||||
platform:
|
||||
required: true
|
||||
type: string
|
||||
runs-on:
|
||||
required: true
|
||||
type: string
|
||||
extra-conf-options:
|
||||
required: false
|
||||
type: string
|
||||
@@ -48,7 +45,7 @@ on:
|
||||
msvc-toolset-version:
|
||||
required: true
|
||||
type: string
|
||||
architecture:
|
||||
msvc-toolset-architecture:
|
||||
required: true
|
||||
type: string
|
||||
configure-arguments:
|
||||
@@ -70,7 +67,7 @@ env:
|
||||
jobs:
|
||||
build-windows:
|
||||
name: build
|
||||
runs-on: ${{ inputs.runs-on }}
|
||||
runs-on: windows-2025
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
@@ -86,18 +83,16 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: 'Checkout the JDK source'
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: 'Get MSYS2'
|
||||
uses: ./.github/actions/get-msys2
|
||||
with:
|
||||
architecture: ${{ inputs.architecture }}
|
||||
|
||||
- name: 'Get the BootJDK'
|
||||
id: bootjdk
|
||||
uses: ./.github/actions/get-bootjdk
|
||||
with:
|
||||
platform: ${{ inputs.platform }}
|
||||
platform: windows-x64
|
||||
|
||||
- name: 'Get JTReg'
|
||||
id: jtreg
|
||||
@@ -107,49 +102,26 @@ jobs:
|
||||
id: gtest
|
||||
uses: ./.github/actions/get-gtest
|
||||
|
||||
- name: 'Check toolchain installed for x64'
|
||||
id: toolchain-check-x64
|
||||
- name: 'Check toolchain installed'
|
||||
id: toolchain-check
|
||||
run: |
|
||||
set +e
|
||||
'/c/Program Files/Microsoft Visual Studio/2022/Enterprise/vc/auxiliary/build/vcvars64.bat' -vcvars_ver=${{ inputs.msvc-toolset-version }}
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Toolchain is already installed for x64"
|
||||
echo "Toolchain is already installed"
|
||||
echo "toolchain-installed=true" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "Toolchain is not yet installed for x64"
|
||||
echo "Toolchain is not yet installed"
|
||||
echo "toolchain-installed=false" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
if: ${{ inputs.architecture == 'x86.x64' }}
|
||||
|
||||
- name: 'Check toolchain installed for ARM64'
|
||||
id: toolchain-check-arm64
|
||||
run: |
|
||||
set +e
|
||||
"/c/Program Files/Microsoft Visual Studio/2022/Enterprise/vc/auxiliary/build/vcvarsarm64.bat" -vcvars_ver=${{ inputs.msvc-toolset-version }}
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Toolchain is already installed for ARM64"
|
||||
echo "toolchain-installed=true" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "Toolchain is not yet installed for ARM64"
|
||||
echo "toolchain-installed=false" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
if: ${{ inputs.architecture == 'ARM64' }}
|
||||
|
||||
- name: 'Install toolchain and dependencies for x64'
|
||||
- name: 'Install toolchain and dependencies'
|
||||
run: |
|
||||
# Run Visual Studio Installer
|
||||
'/c/Program Files (x86)/Microsoft Visual Studio/Installer/vs_installer.exe' \
|
||||
modify --quiet --installPath 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise' \
|
||||
--add Microsoft.VisualStudio.Component.VC.${{ inputs.msvc-toolset-version }}.x86.x64
|
||||
if: ${{ (inputs.architecture == 'x86.x64') && (steps.toolchain-check-x64.outputs.toolchain-installed != 'true') }}
|
||||
|
||||
- name: 'Install toolchain and dependencies for ARM64'
|
||||
run: |
|
||||
# Run Visual Studio Installer
|
||||
'/c/Program Files (x86)/Microsoft Visual Studio/Installer/vs_installer.exe' \
|
||||
modify --quiet --installPath 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise' \
|
||||
--add Microsoft.VisualStudio.Component.VC.${{ inputs.msvc-toolset-version }}.ARM64
|
||||
if: ${{ ( inputs.architecture == 'ARM64') && (steps.toolchain-check-arm64.outputs.toolchain-installed != 'true') }}
|
||||
--add Microsoft.VisualStudio.Component.VC.${{ inputs.msvc-toolset-version }}.${{ inputs.msvc-toolset-architecture }}
|
||||
if: steps.toolchain-check.outputs.toolchain-installed != 'true'
|
||||
|
||||
- name: 'Configure'
|
||||
run: >
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2022, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2022, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -34,7 +34,7 @@ on:
|
||||
platforms:
|
||||
description: 'Platform(s) to execute on (comma separated, e.g. "linux-x64, macos, aarch64")'
|
||||
required: true
|
||||
default: 'linux-x64, linux-x64-variants, linux-aarch64, linux-cross-compile, alpine-linux-x64, macos-x64, macos-aarch64, windows-x64, windows-aarch64, docs'
|
||||
default: 'linux-x64, linux-x64-variants, linux-cross-compile, alpine-linux-x64, macos-x64, macos-aarch64, windows-x64, windows-aarch64, docs'
|
||||
configure-arguments:
|
||||
description: 'Additional configure arguments'
|
||||
required: false
|
||||
@@ -64,7 +64,6 @@ jobs:
|
||||
outputs:
|
||||
linux-x64: ${{ steps.include.outputs.linux-x64 }}
|
||||
linux-x64-variants: ${{ steps.include.outputs.linux-x64-variants }}
|
||||
linux-aarch64: ${{ steps.include.outputs.linux-aarch64 }}
|
||||
linux-cross-compile: ${{ steps.include.outputs.linux-cross-compile }}
|
||||
alpine-linux-x64: ${{ steps.include.outputs.alpine-linux-x64 }}
|
||||
macos-x64: ${{ steps.include.outputs.macos-x64 }}
|
||||
@@ -76,7 +75,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: 'Checkout the scripts'
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
sparse-checkout: |
|
||||
.github
|
||||
@@ -177,7 +176,6 @@ jobs:
|
||||
|
||||
echo "linux-x64=$(check_platform linux-x64 linux x64)" >> $GITHUB_OUTPUT
|
||||
echo "linux-x64-variants=$(check_platform linux-x64-variants variants)" >> $GITHUB_OUTPUT
|
||||
echo "linux-aarch64=$(check_platform linux-aarch64 linux aarch64)" >> $GITHUB_OUTPUT
|
||||
echo "linux-cross-compile=$(check_platform linux-cross-compile cross-compile)" >> $GITHUB_OUTPUT
|
||||
echo "alpine-linux-x64=$(check_platform alpine-linux-x64 alpine-linux x64)" >> $GITHUB_OUTPUT
|
||||
echo "macos-x64=$(check_platform macos-x64 macos x64)" >> $GITHUB_OUTPUT
|
||||
@@ -203,20 +201,6 @@ jobs:
|
||||
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
|
||||
if: needs.prepare.outputs.linux-x64 == 'true'
|
||||
|
||||
build-linux-aarch64:
|
||||
name: linux-aarch64
|
||||
needs: prepare
|
||||
uses: ./.github/workflows/build-linux.yml
|
||||
with:
|
||||
platform: linux-aarch64
|
||||
runs-on: 'ubuntu-24.04-arm'
|
||||
bootjdk-platform: linux-aarch64
|
||||
gcc-major-version: '14'
|
||||
configure-arguments: ${{ github.event.inputs.configure-arguments }}
|
||||
make-arguments: ${{ github.event.inputs.make-arguments }}
|
||||
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
|
||||
if: needs.prepare.outputs.linux-aarch64 == 'true'
|
||||
|
||||
build-linux-x64-hs-nopch:
|
||||
name: linux-x64-hs-nopch
|
||||
needs: prepare
|
||||
@@ -311,7 +295,7 @@ jobs:
|
||||
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
|
||||
# Upload static libs bundles separately to avoid interference with normal linux-x64 bundle.
|
||||
# This bundle is not used by testing jobs, but downstreams use it to check that
|
||||
# dependent projects build fine.
|
||||
# dependent projects, e.g. libgraal, builds fine.
|
||||
bundle-suffix: "-static-libs"
|
||||
if: needs.prepare.outputs.linux-x64-variants == 'true'
|
||||
|
||||
@@ -369,9 +353,8 @@ jobs:
|
||||
uses: ./.github/workflows/build-windows.yml
|
||||
with:
|
||||
platform: windows-x64
|
||||
runs-on: windows-2022
|
||||
architecture: 'x86.x64'
|
||||
msvc-toolset-version: '14.44'
|
||||
msvc-toolset-architecture: 'x86.x64'
|
||||
configure-arguments: ${{ github.event.inputs.configure-arguments }}
|
||||
make-arguments: ${{ github.event.inputs.make-arguments }}
|
||||
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
|
||||
@@ -383,9 +366,10 @@ jobs:
|
||||
uses: ./.github/workflows/build-windows.yml
|
||||
with:
|
||||
platform: windows-aarch64
|
||||
runs-on: windows-11-arm
|
||||
architecture: 'ARM64'
|
||||
msvc-toolset-version: '14.44'
|
||||
msvc-toolset-architecture: 'arm64'
|
||||
make-target: 'hotspot'
|
||||
extra-conf-options: '--openjdk-target=aarch64-unknown-cygwin'
|
||||
configure-arguments: ${{ github.event.inputs.configure-arguments }}
|
||||
make-arguments: ${{ github.event.inputs.make-arguments }}
|
||||
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
|
||||
@@ -439,19 +423,6 @@ jobs:
|
||||
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
|
||||
static-suffix: "-static"
|
||||
|
||||
test-linux-aarch64:
|
||||
name: linux-aarch64
|
||||
needs:
|
||||
- prepare
|
||||
- build-linux-aarch64
|
||||
uses: ./.github/workflows/test.yml
|
||||
with:
|
||||
platform: linux-aarch64
|
||||
bootjdk-platform: linux-aarch64
|
||||
runs-on: ubuntu-24.04-arm
|
||||
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
|
||||
debug-suffix: -debug
|
||||
|
||||
test-macos-aarch64:
|
||||
name: macos-aarch64
|
||||
needs:
|
||||
@@ -475,21 +446,6 @@ jobs:
|
||||
with:
|
||||
platform: windows-x64
|
||||
bootjdk-platform: windows-x64
|
||||
architecture: 'x86.x64'
|
||||
runs-on: windows-2022
|
||||
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
|
||||
debug-suffix: -debug
|
||||
|
||||
test-windows-aarch64:
|
||||
name: windows-aarch64
|
||||
needs:
|
||||
- prepare
|
||||
- build-windows-aarch64
|
||||
uses: ./.github/workflows/test.yml
|
||||
with:
|
||||
platform: windows-aarch64
|
||||
bootjdk-platform: windows-aarch64
|
||||
architecture: 'ARM64'
|
||||
runs-on: windows-11-arm
|
||||
runs-on: windows-2025
|
||||
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
|
||||
debug-suffix: -debug
|
||||
|
||||
@@ -37,9 +37,6 @@ on:
|
||||
runs-on:
|
||||
required: true
|
||||
type: string
|
||||
architecture:
|
||||
required: false
|
||||
type: string
|
||||
xcode-toolset-version:
|
||||
required: false
|
||||
type: string
|
||||
@@ -131,12 +128,10 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: 'Checkout the JDK source'
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: 'Get MSYS2'
|
||||
uses: ./.github/actions/get-msys2
|
||||
with:
|
||||
architecture: ${{ inputs.architecture }}
|
||||
if: runner.os == 'Windows'
|
||||
|
||||
- name: 'Get the BootJDK'
|
||||
@@ -244,7 +239,7 @@ jobs:
|
||||
if: always()
|
||||
|
||||
- name: 'Upload test results'
|
||||
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
path: results
|
||||
name: ${{ steps.package.outputs.artifact-name }}
|
||||
@@ -252,7 +247,7 @@ jobs:
|
||||
|
||||
# This is the best way I found to abort the job with an error message
|
||||
- name: 'Notify about test failures'
|
||||
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: core.setFailed('${{ steps.run-tests.outputs.error-message }}')
|
||||
if: steps.run-tests.outputs.failure == 'true'
|
||||
|
||||
+2
-1
@@ -16,7 +16,6 @@ NashornProfile.txt
|
||||
**/JTreport/**
|
||||
**/JTwork/**
|
||||
/src/utils/LogCompilation/target/
|
||||
/src/utils/LogCompilation/logc.jar
|
||||
/.project/
|
||||
/.settings/
|
||||
/compile_commands.json
|
||||
@@ -24,6 +23,8 @@ NashornProfile.txt
|
||||
/.gdbinit
|
||||
/.lldbinit
|
||||
**/core.[0-9]*
|
||||
*.rej
|
||||
*.orig
|
||||
test/benchmarks/**/target
|
||||
/src/hotspot/CMakeLists.txt
|
||||
/src/hotspot/compile_commands.json
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
[general]
|
||||
project=jdk
|
||||
jbs=JDK
|
||||
version=28
|
||||
version=27
|
||||
|
||||
[checks]
|
||||
error=author,committer,reviewers,merge,issues,executable,symlink,message,hg-tag,whitespace,problemlists,copyright
|
||||
|
||||
+2
-6
@@ -187,18 +187,14 @@ fi
|
||||
SOURCE_PREFIX="<sourceFolder url=\"file://"
|
||||
SOURCE_POSTFIX="\" isTestSource=\"false\" />"
|
||||
|
||||
# SOURCES is a single string containing embeded newlines.
|
||||
for root in $MODULE_ROOTS; do
|
||||
if [ "x$CYGPATH" != "x" ]; then
|
||||
root=`$CYGPATH -am $root`
|
||||
elif [ "x$WSL_DISTRO_NAME" != "x" ]; then
|
||||
root=`wslpath -am $root`
|
||||
fi
|
||||
# Add line termination/indentation for everything after the first entry.
|
||||
if [ "x$SOURCES" != "x" ]; then
|
||||
SOURCES="${SOURCES}\n "
|
||||
fi
|
||||
SOURCES="${SOURCES}${SOURCE_PREFIX}${root}${SOURCE_POSTFIX}"
|
||||
|
||||
SOURCES=$SOURCES" $SOURCE_PREFIX""$root""$SOURCE_POSTFIX"
|
||||
done
|
||||
|
||||
add_replacement "###SOURCE_ROOTS###" "$SOURCES"
|
||||
|
||||
+16
-14
@@ -394,11 +394,11 @@ to date at the time of writing.</p>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td>Linux/x64</td>
|
||||
<td>Oracle Linux 6.4 / 8.x</td>
|
||||
<td>Oracle Enterprise Linux 6.4 / 8.x</td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td>Linux/aarch64</td>
|
||||
<td>Oracle Linux 7.6 / 8.x</td>
|
||||
<td>Oracle Enterprise Linux 7.6 / 8.x</td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td>macOS</td>
|
||||
@@ -545,7 +545,7 @@ earlier versions may also work.</p>
|
||||
no longer comes bundled with Xcode, so it needs to be installed
|
||||
separately. This can either be done via the Xcode's Settings/Components
|
||||
UI, or in the command line calling
|
||||
<code>xcodebuild -downloadComponent MetalToolchain</code>.</p>
|
||||
<code>xcodebuild -downloadComponent metalToolchain</code>.</p>
|
||||
<p>The standard macOS environment contains the basic tooling needed to
|
||||
build, but for external libraries a package manager is recommended. The
|
||||
JDK uses <a href="https://brew.sh/">homebrew</a> in the examples, but
|
||||
@@ -1495,24 +1495,26 @@ following targets are known to work:</p>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p><code>BASE_OS</code> must be one of <code>OL</code> for Oracle Linux
|
||||
or <code>Fedora</code>. The release/version of the base OS can be
|
||||
specified using the <code>BASE_OS_VERSION</code> option. If the build is
|
||||
successful, the new devkits can be found in the
|
||||
<p><code>BASE_OS</code> must be one of <code>OL</code> for Oracle
|
||||
Enterprise Linux or <code>Fedora</code>. If the base OS is
|
||||
<code>Fedora</code> the corresponding Fedora release can be specified
|
||||
with the help of the <code>BASE_OS_VERSION</code> option. If the build
|
||||
is successful, the new devkits can be found in the
|
||||
<code>build/devkit/result</code> subdirectory:</p>
|
||||
<pre><code>cd make/devkit
|
||||
make TARGETS="ppc64le-linux-gnu aarch64-linux-gnu" BASE_OS=Fedora
|
||||
make TARGETS="ppc64le-linux-gnu aarch64-linux-gnu" BASE_OS=Fedora BASE_OS_VERSION=21
|
||||
ls -1 ../../build/devkit/result/
|
||||
x86_64-linux-gnu-to-aarch64-linux-gnu
|
||||
x86_64-linux-gnu-to-ppc64le-linux-gnu</code></pre>
|
||||
<p>Notice that devkits are not only useful for targeting different build
|
||||
platforms. Because they contain the full build dependencies for a system
|
||||
(i.e., compiler and root file system/sysroot), they can easily be used
|
||||
to build well-known, reliable, and reproducible build environments. You
|
||||
can, for example, create and use a devkit with a version of the GCC
|
||||
compiler not provided by the host OS, using a sysroot from an older
|
||||
Linux distribution to produce JDK binaries which will run on all Linux
|
||||
systems with newer runtime libraries.</p>
|
||||
(i.e. compiler and root file system), they can easily be used to build
|
||||
well-known, reliable and reproducible build environments. You can for
|
||||
example create and use a devkit with GCC 7.3 and a Fedora 12 sysroot
|
||||
environment (with glibc 2.11) on Ubuntu 14.04 (which doesn't have GCC
|
||||
7.3 by default) to produce JDK binaries which will run on all Linux
|
||||
systems with runtime libraries newer than the ones from Fedora 12 (e.g.
|
||||
Ubuntu 16.04, SLES 11 or RHEL 6).</p>
|
||||
<h4 id="using-debian-debootstrap">Using Debian debootstrap</h4>
|
||||
<p>On Debian (or a derivative like Ubuntu), you can create sysroots for
|
||||
foreign architectures with tools provided by the OS. You can use
|
||||
|
||||
+15
-14
@@ -195,8 +195,8 @@ time of writing.
|
||||
|
||||
| Operating system | Vendor/version used |
|
||||
| ----------------- | ---------------------------------- |
|
||||
| Linux/x64 | Oracle Linux 6.4 / 8.x |
|
||||
| Linux/aarch64 | Oracle Linux 7.6 / 8.x |
|
||||
| Linux/x64 | Oracle Enterprise Linux 6.4 / 8.x |
|
||||
| Linux/aarch64 | Oracle Enterprise Linux 7.6 / 8.x |
|
||||
| macOS | macOS 14.x |
|
||||
| Windows | Windows Server 2016 |
|
||||
|
||||
@@ -355,7 +355,7 @@ earlier versions may also work.
|
||||
Starting with Xcode 26, introduced in macOS 26, the Metal toolchain no longer
|
||||
comes bundled with Xcode, so it needs to be installed separately. This can
|
||||
either be done via the Xcode's Settings/Components UI, or in the command line
|
||||
calling `xcodebuild -downloadComponent MetalToolchain`.
|
||||
calling `xcodebuild -downloadComponent metalToolchain`.
|
||||
|
||||
The standard macOS environment contains the basic tooling needed to build, but
|
||||
for external libraries a package manager is recommended. The JDK uses
|
||||
@@ -1288,26 +1288,27 @@ at least the following targets are known to work:
|
||||
| riscv64-linux-gnu |
|
||||
| s390x-linux-gnu |
|
||||
|
||||
`BASE_OS` must be one of `OL` for Oracle Linux or `Fedora`. The release/version
|
||||
of the base OS can be specified using the `BASE_OS_VERSION` option. If the build
|
||||
is successful, the new devkits can be found in the `build/devkit/result`
|
||||
subdirectory:
|
||||
`BASE_OS` must be one of `OL` for Oracle Enterprise Linux or `Fedora`. If the
|
||||
base OS is `Fedora` the corresponding Fedora release can be specified with the
|
||||
help of the `BASE_OS_VERSION` option. If the build is successful, the new
|
||||
devkits can be found in the `build/devkit/result` subdirectory:
|
||||
|
||||
```
|
||||
cd make/devkit
|
||||
make TARGETS="ppc64le-linux-gnu aarch64-linux-gnu" BASE_OS=Fedora
|
||||
make TARGETS="ppc64le-linux-gnu aarch64-linux-gnu" BASE_OS=Fedora BASE_OS_VERSION=21
|
||||
ls -1 ../../build/devkit/result/
|
||||
x86_64-linux-gnu-to-aarch64-linux-gnu
|
||||
x86_64-linux-gnu-to-ppc64le-linux-gnu
|
||||
```
|
||||
|
||||
Notice that devkits are not only useful for targeting different build
|
||||
platforms. Because they contain the full build dependencies for a system (i.e.,
|
||||
compiler and root file system/sysroot), they can easily be used to build
|
||||
well-known, reliable, and reproducible build environments. You can, for example,
|
||||
create and use a devkit with a version of the GCC compiler not provided by the
|
||||
host OS, using a sysroot from an older Linux distribution to produce JDK
|
||||
binaries which will run on all Linux systems with newer runtime libraries.
|
||||
platforms. Because they contain the full build dependencies for a system (i.e.
|
||||
compiler and root file system), they can easily be used to build well-known,
|
||||
reliable and reproducible build environments. You can for example create and
|
||||
use a devkit with GCC 7.3 and a Fedora 12 sysroot environment (with glibc 2.11)
|
||||
on Ubuntu 14.04 (which doesn't have GCC 7.3 by default) to produce JDK binaries
|
||||
which will run on all Linux systems with runtime libraries newer than the ones
|
||||
from Fedora 12 (e.g. Ubuntu 16.04, SLES 11 or RHEL 6).
|
||||
|
||||
#### Using Debian debootstrap
|
||||
|
||||
|
||||
+3
-42
@@ -284,10 +284,9 @@ possible, or if you want to use a fully qualified test descriptor, add
|
||||
<h3 id="gtest">Gtest</h3>
|
||||
<p><strong>Note:</strong> To be able to run the Gtest suite, you need to
|
||||
configure your build to be able to find a proper version of the gtest
|
||||
source. For details, see the section <strong>"Running Tests" in the
|
||||
build documentation</strong> (<a
|
||||
href="building.html#running-tests">html</a>, <a
|
||||
href="building.md#running-tests">markdown</a>).</p>
|
||||
source. For details, see the section <a
|
||||
href="building.html#running-tests">"Running Tests" in the build
|
||||
documentation</a>.</p>
|
||||
<p>Since the Hotspot Gtest suite is so quick, the default is to run all
|
||||
tests. This is specified by just <code>gtest</code>, or as a fully
|
||||
qualified test descriptor <code>gtest:all</code>.</p>
|
||||
@@ -465,44 +464,6 @@ class, named Virtual, is currently part of the JDK build in the
|
||||
<code>test/jtreg_test_thread_factory/</code> directory. This class gets
|
||||
compiled during the test image build. The implementation of the Virtual
|
||||
class creates a new virtual thread for executing each test class.</p>
|
||||
<h4 id="value_class_plugin">VALUE_CLASS_PLUGIN</h4>
|
||||
<p>Enables the <code>ValueClassPlugin</code> javac plugin when compiling
|
||||
and running JTReg tests. This is a <strong>temporary mode</strong>
|
||||
intended for use while value classes (JEP 401) are a preview feature.
|
||||
The long-term plan is to replace classes annotated with
|
||||
<code>@jdk.test.lib.valueclass.AsValueClass</code> with plain
|
||||
<code>value class</code> declarations once value classes are
|
||||
finalized.</p>
|
||||
<p>In the meantime, this mode allows test sources to compile and run as
|
||||
either value classes or regular identity classes without source-level
|
||||
changes.</p>
|
||||
<p>When set to any non-empty value, the following options are appended to
|
||||
every JTReg invocation:</p>
|
||||
<ul>
|
||||
<li><code>-cpa:<valueClassPlugin.jar></code> — appends the plugin
|
||||
JAR to the compile-time classpath (only when the JAR is present in the
|
||||
test image under
|
||||
<code>jtreg_value_class_plugin/valueClassPlugin.jar</code>).</li>
|
||||
<li><code>-vmoption:--enable-preview</code> — enables JVM preview
|
||||
features at runtime.</li>
|
||||
<li><code>-javacoption:-XDaccessInternalAPI</code> — grants the compiler
|
||||
access to internal APIs required by the plugin.</li>
|
||||
<li><code>-javacoption:--source <version> --enable-preview</code>
|
||||
— enables preview language features at compile time.</li>
|
||||
<li><code>-javacoption:-Xplugin:ValueClassPlugin</code> — activates the
|
||||
plugin.</li>
|
||||
</ul>
|
||||
<p>The plugin scans each compilation unit after parsing and converts any
|
||||
class annotated with
|
||||
<code>@jdk.test.lib.valueclass.AsValueClass</code> into a value class by
|
||||
setting the internal <code>VALUE_CLASS</code> modifier flag and clearing
|
||||
the <code>IDENTITY_TYPE</code> flag. This transformation only takes
|
||||
effect when <code>--enable-preview</code> is active; without it the
|
||||
annotation is a no-op and the class compiles as an ordinary identity
|
||||
class, so the same test source can exercise both code paths.</p>
|
||||
<p>Example:</p>
|
||||
<pre><code>$ make test TEST=jdk_lang JTREG="VALUE_CLASS_PLUGIN=true"
|
||||
</code></pre>
|
||||
<h4 id="jvmti_stress_agent">JVMTI_STRESS_AGENT</h4>
|
||||
<p>Executes JTReg tests with JVM TI stress agent. The stress agent is
|
||||
the part of test library and located in
|
||||
|
||||
+2
-38
@@ -198,8 +198,8 @@ use a fully qualified test descriptor, add `jtreg:`, e.g.
|
||||
|
||||
**Note:** To be able to run the Gtest suite, you need to configure your build
|
||||
to be able to find a proper version of the gtest source. For details, see the
|
||||
section **"Running Tests" in the build
|
||||
documentation** ([html](building.html#running-tests), [markdown](building.md#running-tests)).
|
||||
section ["Running Tests" in the build
|
||||
documentation](building.html#running-tests).
|
||||
|
||||
Since the Hotspot Gtest suite is so quick, the default is to run all tests.
|
||||
This is specified by just `gtest`, or as a fully qualified test descriptor
|
||||
@@ -403,42 +403,6 @@ the `test/jtreg_test_thread_factory/` directory. This class gets compiled
|
||||
during the test image build. The implementation of the Virtual class creates a
|
||||
new virtual thread for executing each test class.
|
||||
|
||||
#### VALUE_CLASS_PLUGIN
|
||||
|
||||
Enables the `ValueClassPlugin` javac plugin when compiling and running JTReg
|
||||
tests. This is a **temporary mode** intended for use while value classes
|
||||
(JEP 401) are a preview feature. The long-term plan is to replace classes
|
||||
annotated with `@jdk.test.lib.valueclass.AsValueClass` with plain
|
||||
`value class` declarations once value classes are finalized.
|
||||
|
||||
In the meantime, this mode allows test sources to compile and run as either
|
||||
value classes or regular identity classes without source-level changes.
|
||||
|
||||
When set to any non-empty value, the following options are appended to every
|
||||
JTReg invocation:
|
||||
|
||||
* `-cpa:<valueClassPlugin.jar>` — appends the plugin JAR to the compile-time
|
||||
classpath (only when the JAR is present in the test image under
|
||||
`jtreg_value_class_plugin/valueClassPlugin.jar`).
|
||||
* `-vmoption:--enable-preview` — enables JVM preview features at runtime.
|
||||
* `-javacoption:-XDaccessInternalAPI` — grants the compiler access to internal
|
||||
APIs required by the plugin.
|
||||
* `-javacoption:--source <version> --enable-preview` — enables preview language
|
||||
features at compile time.
|
||||
* `-javacoption:-Xplugin:ValueClassPlugin` — activates the plugin.
|
||||
|
||||
The plugin scans each compilation unit after parsing and converts any class
|
||||
annotated with `@jdk.test.lib.valueclass.AsValueClass` into a value class by
|
||||
setting the internal `VALUE_CLASS` modifier flag and clearing the
|
||||
`IDENTITY_TYPE` flag. This transformation only takes effect when
|
||||
`--enable-preview` is active; without it the annotation is a no-op and the
|
||||
class compiles as an ordinary identity class, so the same test source can
|
||||
exercise both code paths.
|
||||
|
||||
Example:
|
||||
|
||||
$ make test TEST=jdk_lang JTREG="VALUE_CLASS_PLUGIN=true"
|
||||
|
||||
#### JVMTI_STRESS_AGENT
|
||||
|
||||
Executes JTReg tests with JVM TI stress agent. The stress agent is the part of
|
||||
|
||||
@@ -1,188 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="generator" content="pandoc" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
||||
<title>Migration of JDK Classes to Value Classes</title>
|
||||
<style>
|
||||
code{white-space: pre-wrap;}
|
||||
span.smallcaps{font-variant: small-caps;}
|
||||
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
||||
div.column{flex: auto; overflow-x: auto;}
|
||||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
||||
ul.task-list{list-style: none;}
|
||||
ul.task-list li input[type="checkbox"] {
|
||||
width: 0.8em;
|
||||
margin: 0 0.8em 0.2em -1.6em;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
||||
</style>
|
||||
<link rel="stylesheet" href="../make/data/docs-resources/resources/jdk-default.css" />
|
||||
<style type="text/css">pre, code, tt { color: #1d6ae5; }</style>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body>
|
||||
<header id="title-block-header">
|
||||
<h1 class="title">Migration of JDK Classes to Value Classes</h1>
|
||||
</header>
|
||||
<nav id="TOC" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#introduction" id="toc-introduction">Introduction</a></li>
|
||||
<li><a href="#the-build-process" id="toc-the-build-process">The Build
|
||||
Process</a>
|
||||
<ul>
|
||||
<li><a href="#the-custom-handling-for-the-value-objects-jep"
|
||||
id="toc-the-custom-handling-for-the-value-objects-jep">The Custom
|
||||
Handling for the Value Objects JEP</a></li>
|
||||
<li><a href="#the-general-preview-source-to-binary-pipeline"
|
||||
id="toc-the-general-preview-source-to-binary-pipeline">The General
|
||||
Preview Source to Binary Pipeline</a></li>
|
||||
<li><a href="#non-goals" id="toc-non-goals">Non-Goals</a></li>
|
||||
</ul></li>
|
||||
<li><a href="#testing" id="toc-testing">Testing</a></li>
|
||||
<li><a href="#wrapper-class-caches"
|
||||
id="toc-wrapper-class-caches">Wrapper Class Caches</a></li>
|
||||
<li><a href="#editing-this-document"
|
||||
id="toc-editing-this-document">Editing This Document</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<h2 id="introduction">Introduction</h2>
|
||||
<p>The Value Objects feature introduces value objects and migrates
|
||||
suitable classes to value classes. This means that when preview features
|
||||
are enabled, different class files are used for the migrated classes in
|
||||
the Java class library.</p>
|
||||
<p>To accomplish this, a built JDK uses <em>preview-specific</em> files
|
||||
in <code>META-INF/preview</code>, which overrides the regular files of
|
||||
the same name. For example,
|
||||
<code>META-INF/preview/java/lang/Integer.class</code> overrides
|
||||
<code>java/lang/Integer.class</code>.</p>
|
||||
<p>The JDK generates preview-specific source files (they may use preview
|
||||
language features), compiles class files from them, and distributes
|
||||
these class files in <code>META-INF/preview</code>.</p>
|
||||
<h2 id="the-build-process">The Build Process</h2>
|
||||
<h3 id="the-custom-handling-for-the-value-objects-jep">The Custom
|
||||
Handling for the Value Objects JEP</h3>
|
||||
<p>The Value Objects JEP requires a few select classes in the
|
||||
<code>java.base</code> module to become value classes when preview
|
||||
features are enabled.</p>
|
||||
<p>The build of <code>java.base</code> module first creates the source
|
||||
code of those value classes, done in <a
|
||||
href="../make/modules/java.base/gensrc/GensrcValueClasses.gmk"><code>GensrcValueClasses.gmk</code></a>.</p>
|
||||
<ol type="1">
|
||||
<li><p>A hardcoded list of regular source files are selected for
|
||||
preview-specific generation.</p></li>
|
||||
<li><p>Extract the content of each regular source file, search for any
|
||||
occurrences of <code>/*value*/ class</code> or
|
||||
<code>/*value*/ record</code>, and replace with <code>value class</code>
|
||||
or <code>value record</code>.</p></li>
|
||||
<li><p>The replaced contents are written to the preview-specific
|
||||
generated files, located in
|
||||
<code>support/gensrc-valueclasses/java.base/</code>. The regular source
|
||||
files remain unchanged in their original locations.</p></li>
|
||||
<li><p>The general preview source to binary build pipeline recognizes
|
||||
the <code>support/gensrc-valueclasses/java.base/</code> directory as
|
||||
where the <code>java.base</code> module places its preview-specific
|
||||
source files.</p></li>
|
||||
</ol>
|
||||
<h3 id="the-general-preview-source-to-binary-pipeline">The General
|
||||
Preview Source to Binary Pipeline</h3>
|
||||
<p>Once the preview-specific source files are ready, they are picked up
|
||||
by the build system into a fully automated pipeline handling all modules
|
||||
and all outcome images.</p>
|
||||
<ol type="1">
|
||||
<li><p>The <code>GENERATED_PREVIEW_SUBDIRS</code> variable in <a
|
||||
href="../make/common/Modules.gmk"><code>make/common/Modules.gmk</code></a>
|
||||
indicates where the source files are found.</p></li>
|
||||
<li><p>For each module that has preview-specific source files, a goal is
|
||||
created to compile these source files into class files.</p></li>
|
||||
<li><p>The class files from each of these tasks reside in
|
||||
<code>support/preview/<module></code> for each module.</p></li>
|
||||
<li><p>These preview-specific class files and other resources are copied
|
||||
to the <code>META-INF/preview</code> directory of the regular output
|
||||
directory.</p></li>
|
||||
<li><p>At run-time, jimage will pick up the preview-specific overrides
|
||||
from <code>META-INF/preview</code> only when preview features are
|
||||
enabled.</p></li>
|
||||
<li><p>The interim javac used by the build system cannot pick up the
|
||||
preview-specific overrides; they must be supplied explicitly with the
|
||||
following javac flag for every single module where overrides are
|
||||
significant:</p>
|
||||
<pre><code>--patch-module <module>=$(SUPPORT_OUTPUTDIR)/preview/<module></code></pre>
|
||||
<p>See <a
|
||||
href="../make/test/BuildMicrobenchmark.gmk"><code>BuildMicroBenchmarks.gmk</code></a>
|
||||
for an example.</p></li>
|
||||
</ol>
|
||||
<h3 id="non-goals">Non-Goals</h3>
|
||||
<p>The Value Objects JEP only plans to introduce value classes that
|
||||
are:</p>
|
||||
<ol type="1">
|
||||
<li><p>In the <code>java.base</code> module.</p>
|
||||
<p>There's no plan to migrate other classes in other modules.</p></li>
|
||||
<li><p>Migrated from existing classes.</p>
|
||||
<p>These classes are available as identity classes when preview features
|
||||
are disabled. There's no plan to introduce completely new value
|
||||
classes.</p></li>
|
||||
</ol>
|
||||
<p>Support for other value classes would require significant changes to
|
||||
the build system.</p>
|
||||
<h2 id="testing">Testing</h2>
|
||||
<p>In addition to tests that require preview features to be enabled,
|
||||
tests that do not depend on preview features wish to run with preview
|
||||
features enabled to ensure compatibility:</p>
|
||||
<ol type="1">
|
||||
<li><p>Some tests wish to run against the Java SE class library with
|
||||
value classes.</p>
|
||||
<p>The jtreg tests may be run with
|
||||
<code>JTREG=VM_OPTIONS=--enable-preview</code>.</p></li>
|
||||
<li><p>Some tests wish to run against their own classes migrated to
|
||||
value classes.</p>
|
||||
<p>The jtreg <a
|
||||
href="testing.html#VALUE_CLASS_PLUGIN">VALUE_CLASS_PLUGIN</a> allows
|
||||
tests to migrate their own classes to value classes when running with
|
||||
the plugin.</p></li>
|
||||
</ol>
|
||||
<h2 id="wrapper-class-caches">Wrapper Class Caches</h2>
|
||||
<p>Currently, wrapper class caches are retained even when preview
|
||||
features are enabled to address performance losses. They have no
|
||||
semantic impact to value objects.</p>
|
||||
<p>In interpreter or C1 execution in Hotspot, allocations of a value
|
||||
object to the heap as a full object with header happen when a value
|
||||
object is:</p>
|
||||
<ol type="1">
|
||||
<li>Loaded from a flat storage (field or array)</li>
|
||||
<li>Created by a constructor</li>
|
||||
<li>If C2 uses scalarized calling convention, at C2 to C1/interpreter
|
||||
calls and returns</li>
|
||||
</ol>
|
||||
<p>Ideally, C2 can eliminate such allocations, but this does not work if
|
||||
the resulting object is stored into references. Unfortunately, many uses
|
||||
of boxing conversions store the resulting wrapper objects as
|
||||
references.</p>
|
||||
<p>For the uses that store wrapper objects to references, if the boxing
|
||||
conversion is:</p>
|
||||
<ol type="1">
|
||||
<li>Returning a value object from a flat cache array</li>
|
||||
<li>Calling the value class constructor</li>
|
||||
</ol>
|
||||
<p>Then we would have heap allocation on every single use.</p>
|
||||
<p>To avoid the allocations, we fall back to returning a value object
|
||||
from a reference cache array, from which the loaded reference is
|
||||
directly storable into a destination that wants a reference without any
|
||||
allocation.</p>
|
||||
<p>Since Hotspot may create flat arrays if an array of value objects is
|
||||
requested by regular Java array creation mechanisms, we use
|
||||
<code>ValueClass.newReferenceArray</code> to ensure we always create a
|
||||
reference cache array.</p>
|
||||
<p>The cache array for value objects may be removed without notice if
|
||||
the performance losses from allocations are no longer significant.</p>
|
||||
<h2 id="editing-this-document">Editing This Document</h2>
|
||||
<p>If you want to contribute changes to this document, edit
|
||||
<code>doc/value-class-preview.md</code> and then run
|
||||
<code>make update-build-docs</code> to generate the same changes in
|
||||
<code>doc/value-class-preview.html</code>.</p>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,151 +0,0 @@
|
||||
% Migration of JDK Classes to Value Classes
|
||||
|
||||
## Introduction
|
||||
|
||||
The Value Objects feature introduces value objects and migrates suitable classes
|
||||
to value classes. This means that when preview features are enabled, different
|
||||
class files are used for the migrated classes in the Java class library.
|
||||
|
||||
To accomplish this, a built JDK uses *preview-specific* files in `META-INF/preview`,
|
||||
which overrides the regular files of the same name. For example,
|
||||
`META-INF/preview/java/lang/Integer.class` overrides `java/lang/Integer.class`.
|
||||
|
||||
The JDK generates preview-specific source files (they may use preview language
|
||||
features), compiles class files from them, and distributes these class files in
|
||||
`META-INF/preview`.
|
||||
|
||||
## The Build Process
|
||||
|
||||
### The Custom Handling for the Value Objects JEP
|
||||
|
||||
The Value Objects JEP requires a few select classes in the `java.base` module
|
||||
to become value classes when preview features are enabled.
|
||||
|
||||
The build of `java.base` module first creates the source code of those value
|
||||
classes, done in
|
||||
[`GensrcValueClasses.gmk`](../make/modules/java.base/gensrc/GensrcValueClasses.gmk).
|
||||
|
||||
1. A hardcoded list of regular source files are selected for preview-specific
|
||||
generation.
|
||||
|
||||
2. Extract the content of each regular source file, search for any occurrences
|
||||
of `/*value*/ class` or `/*value*/ record`, and replace with `value class`
|
||||
or `value record`.
|
||||
|
||||
3. The replaced contents are written to the preview-specific generated files,
|
||||
located in `support/gensrc-valueclasses/java.base/`. The regular source
|
||||
files remain unchanged in their original locations.
|
||||
|
||||
4. The general preview source to binary build pipeline recognizes the
|
||||
`support/gensrc-valueclasses/java.base/` directory as where the `java.base`
|
||||
module places its preview-specific source files.
|
||||
|
||||
### The General Preview Source to Binary Pipeline
|
||||
|
||||
Once the preview-specific source files are ready, they are picked up by the
|
||||
build system into a fully automated pipeline handling all modules and all
|
||||
outcome images.
|
||||
|
||||
1. The `GENERATED_PREVIEW_SUBDIRS` variable in [`make/common/Modules.gmk`](../make/common/Modules.gmk)
|
||||
indicates where the source files are found.
|
||||
|
||||
2. For each module that has preview-specific source files, a goal is created
|
||||
to compile these source files into class files.
|
||||
|
||||
3. The class files from each of these tasks reside in `support/preview/<module>`
|
||||
for each module.
|
||||
|
||||
4. These preview-specific class files and other resources are copied to the
|
||||
`META-INF/preview` directory of the regular output directory.
|
||||
|
||||
5. At run-time, jimage will pick up the preview-specific overrides from
|
||||
`META-INF/preview` only when preview features are enabled.
|
||||
|
||||
6. The interim javac used by the build system cannot pick up the
|
||||
preview-specific overrides; they must be supplied explicitly with the
|
||||
following javac flag for every single module where overrides are significant:
|
||||
|
||||
```
|
||||
--patch-module <module>=$(SUPPORT_OUTPUTDIR)/preview/<module>
|
||||
```
|
||||
|
||||
See [`BuildMicroBenchmarks.gmk`](../make/test/BuildMicrobenchmark.gmk) for an example.
|
||||
|
||||
### Non-Goals
|
||||
|
||||
The Value Objects JEP only plans to introduce value classes that are:
|
||||
|
||||
1. In the `java.base` module.
|
||||
|
||||
There's no plan to migrate other classes in other modules.
|
||||
|
||||
2. Migrated from existing classes.
|
||||
|
||||
These classes are available as identity classes when preview features are
|
||||
disabled. There's no plan to introduce completely new value classes.
|
||||
|
||||
Support for other value classes would require significant changes to the build
|
||||
system.
|
||||
|
||||
## Testing
|
||||
|
||||
In addition to tests that require preview features to be enabled, tests that do
|
||||
not depend on preview features wish to run with preview features enabled to
|
||||
ensure compatibility:
|
||||
|
||||
1. Some tests wish to run against the Java SE class library with value classes.
|
||||
|
||||
The jtreg tests may be run with `JTREG=VM_OPTIONS=--enable-preview`.
|
||||
|
||||
2. Some tests wish to run against their own classes migrated to value classes.
|
||||
|
||||
The jtreg [VALUE_CLASS_PLUGIN](testing.html#VALUE_CLASS_PLUGIN) allows tests
|
||||
to migrate their own classes to value classes when running with the plugin.
|
||||
|
||||
## Wrapper Class Caches
|
||||
|
||||
Currently, wrapper class caches are retained even when preview features are
|
||||
enabled to address performance losses. They have no semantic impact to value
|
||||
objects.
|
||||
|
||||
In interpreter or C1 execution in Hotspot, allocations of a value object to the
|
||||
heap as a full object with header happen when a value object is:
|
||||
|
||||
1. Loaded from a flat storage (field or array)
|
||||
2. Created by a constructor
|
||||
3. If C2 uses scalarized calling convention, at C2 to C1/interpreter calls and returns
|
||||
|
||||
Ideally, C2 can eliminate such allocations, but this does not work if the
|
||||
resulting object is stored into references. Unfortunately, many uses of boxing
|
||||
conversions store the resulting wrapper objects as references.
|
||||
|
||||
For the uses that store wrapper objects to references, if the boxing
|
||||
conversion is:
|
||||
|
||||
1. Returning a value object from a flat cache array
|
||||
2. Calling the value class constructor
|
||||
|
||||
Then we would have heap allocation on every single use.
|
||||
|
||||
To avoid the allocations, we fall back to returning a value object from a
|
||||
reference cache array, from which the loaded reference is directly storable
|
||||
into a destination that wants a reference without any allocation.
|
||||
|
||||
Since Hotspot may create flat arrays if an array of value objects is requested
|
||||
by regular Java array creation mechanisms, we use `ValueClass.newReferenceArray`
|
||||
to ensure we always create a reference cache array.
|
||||
|
||||
The cache array for value objects may be removed without notice if the
|
||||
performance losses from allocations are no longer significant.
|
||||
|
||||
## Editing This Document
|
||||
|
||||
If you want to contribute changes to this document, edit `doc/value-class-preview.md`
|
||||
and then run `make update-build-docs` to generate the same changes in
|
||||
`doc/value-class-preview.html`.
|
||||
|
||||
---
|
||||
# Override styles from the base CSS file that are not ideal for this document.
|
||||
header-includes:
|
||||
- '<style type="text/css">pre, code, tt { color: #1d6ae5; }</style>'
|
||||
---
|
||||
+24
-2
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2016, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -410,6 +410,27 @@ endif
|
||||
|
||||
################################################################################
|
||||
|
||||
ifneq ($(filter static-libs-graal-bundles, $(MAKECMDGOALS)), )
|
||||
STATIC_LIBS_GRAAL_BUNDLE_FILES := $(call FindFiles, $(STATIC_LIBS_GRAAL_IMAGE_DIR))
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS)-$(DEBUG_LEVEL), macosx-release)
|
||||
STATIC_LIBS_GRAAL_BUNDLE_SUBDIR := $(JDK_MACOSX_CONTENTS_SUBDIR)/Home
|
||||
else
|
||||
STATIC_LIBS_GRAAL_BUNDLE_SUBDIR := $(JDK_BUNDLE_SUBDIR)
|
||||
endif
|
||||
|
||||
$(eval $(call SetupBundleFile, BUILD_STATIC_LIBS_GRAAL_BUNDLE, \
|
||||
BUNDLE_NAME := $(STATIC_LIBS_GRAAL_BUNDLE_NAME), \
|
||||
FILES := $(STATIC_LIBS_GRAAL_BUNDLE_FILES), \
|
||||
BASE_DIRS := $(STATIC_LIBS_GRAAL_IMAGE_DIR), \
|
||||
SUBDIR := $(STATIC_LIBS_GRAAL_BUNDLE_SUBDIR), \
|
||||
))
|
||||
|
||||
STATIC_LIBS_GRAAL_TARGETS += $(BUILD_STATIC_LIBS_GRAAL_BUNDLE)
|
||||
endif
|
||||
|
||||
#################################################################################
|
||||
|
||||
ifneq ($(filter static-jdk-bundles, $(MAKECMDGOALS)), )
|
||||
STATIC_JDK_BUNDLE_FILES := $(call FindFiles, $(STATIC_JDK_IMAGE_DIR))
|
||||
|
||||
@@ -432,12 +453,13 @@ docs-jdk-bundles: $(DOCS_JDK_TARGETS)
|
||||
docs-javase-bundles: $(DOCS_JAVASE_TARGETS)
|
||||
docs-reference-bundles: $(DOCS_REFERENCE_TARGETS)
|
||||
static-libs-bundles: $(STATIC_LIBS_TARGETS)
|
||||
static-libs-graal-bundles: $(STATIC_LIBS_GRAAL_TARGETS)
|
||||
static-jdk-bundles: $(STATIC_JDK_TARGETS)
|
||||
jcov-bundles: $(JCOV_TARGETS)
|
||||
|
||||
.PHONY: product-bundles test-bundles \
|
||||
docs-jdk-bundles docs-javase-bundles docs-reference-bundles \
|
||||
static-libs-bundles static-jdk-bundles jcov-bundles
|
||||
static-libs-bundles static-libs-graal-bundles static-jdk-bundles jcov-bundles
|
||||
|
||||
################################################################################
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -173,41 +173,41 @@ $(BUILD_DEMO_CodePointIM_JAR): $(CODEPOINT_METAINF_SERVICE_FILE)
|
||||
|
||||
$(eval $(call SetupBuildDemo, FileChooserDemo, \
|
||||
DEMO_SUBDIR := jfc, \
|
||||
DISABLED_WARNINGS := this-escape, \
|
||||
DISABLED_WARNINGS := rawtypes deprecation unchecked this-escape, \
|
||||
))
|
||||
|
||||
$(eval $(call SetupBuildDemo, SwingSet2, \
|
||||
DEMO_SUBDIR := jfc, \
|
||||
EXTRA_COPY_TO_JAR := .java, \
|
||||
EXTRA_MANIFEST_ATTR := SplashScreen-Image: resources/images/splash.png, \
|
||||
DISABLED_WARNINGS := rawtypes static serial cast this-escape, \
|
||||
DISABLED_WARNINGS := rawtypes deprecation unchecked static serial cast this-escape, \
|
||||
))
|
||||
|
||||
$(eval $(call SetupBuildDemo, Font2DTest, \
|
||||
DISABLED_WARNINGS := serial dangling-doc-comments, \
|
||||
DISABLED_WARNINGS := rawtypes deprecation unchecked serial cast this-escape dangling-doc-comments, \
|
||||
DEMO_SUBDIR := jfc, \
|
||||
))
|
||||
|
||||
$(eval $(call SetupBuildDemo, J2Ddemo, \
|
||||
DEMO_SUBDIR := jfc, \
|
||||
MAIN_CLASS := java2d.J2Ddemo, \
|
||||
DISABLED_WARNINGS := cast lossy-conversions this-escape, \
|
||||
DISABLED_WARNINGS := rawtypes deprecation unchecked cast lossy-conversions this-escape, \
|
||||
JAR_NAME := J2Ddemo, \
|
||||
))
|
||||
|
||||
$(eval $(call SetupBuildDemo, Metalworks, \
|
||||
DISABLED_WARNINGS := this-escape, \
|
||||
DISABLED_WARNINGS := rawtypes unchecked this-escape, \
|
||||
DEMO_SUBDIR := jfc, \
|
||||
))
|
||||
|
||||
$(eval $(call SetupBuildDemo, Notepad, \
|
||||
DISABLED_WARNINGS := this-escape, \
|
||||
DISABLED_WARNINGS := rawtypes this-escape, \
|
||||
DEMO_SUBDIR := jfc, \
|
||||
))
|
||||
|
||||
$(eval $(call SetupBuildDemo, Stylepad, \
|
||||
DEMO_SUBDIR := jfc, \
|
||||
DISABLED_WARNINGS := this-escape, \
|
||||
DISABLED_WARNINGS := rawtypes unchecked this-escape, \
|
||||
EXTRA_SRC_DIR := $(DEMO_SHARE_SRC)/jfc/Notepad, \
|
||||
EXCLUDE_FILES := $(DEMO_SHARE_SRC)/jfc/Notepad/README.txt, \
|
||||
))
|
||||
@@ -217,7 +217,7 @@ $(eval $(call SetupBuildDemo, SampleTree, \
|
||||
))
|
||||
|
||||
$(eval $(call SetupBuildDemo, TableExample, \
|
||||
DISABLED_WARNINGS := dangling-doc-comments, \
|
||||
DISABLED_WARNINGS := rawtypes unchecked deprecation this-escape dangling-doc-comments, \
|
||||
DEMO_SUBDIR := jfc, \
|
||||
))
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2014, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2014, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -68,19 +68,17 @@ java.compiler.interim_EXTRA_FILES := \
|
||||
TARGETS += $(BUILDTOOLS_OUTPUTDIR)/gensrc/java.compiler.interim/javax/tools/ToolProvider.java
|
||||
|
||||
################################################################################
|
||||
# Create a hybrid PreviewFeature.java that combines constants
|
||||
# from the current sources, as those can be used in javac APIs, and from the
|
||||
# bootstrap JDK, as those can be used from bootstrap JDK classfiles.
|
||||
# Use the up-to-date PreviewFeature.java and NoPreview.java from the current
|
||||
# sources, instead of the versions from the boot JDK, as javac may be referring
|
||||
# to constants from the up-to-date versions.
|
||||
|
||||
$(BUILDTOOLS_OUTPUTDIR)/gensrc/java.base.interim/jdk/internal/javac/PreviewFeature.java: \
|
||||
$(TOPDIR)/src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java
|
||||
$(call LogInfo, Generating $@)
|
||||
$(JAVA) $(TOPDIR)/make/langtools/tools/previewfeature/SetupPreviewFeature.java \
|
||||
$(TOPDIR)/src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java \
|
||||
$@
|
||||
$(eval $(call SetupCopyFiles, COPY_PREVIEW_FEATURES, \
|
||||
FILES := $(TOPDIR)/src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java \
|
||||
$(TOPDIR)/src/java.base/share/classes/jdk/internal/javac/NoPreview.java, \
|
||||
DEST := $(BUILDTOOLS_OUTPUTDIR)/gensrc/java.base.interim/jdk/internal/javac/, \
|
||||
))
|
||||
|
||||
|
||||
TARGETS += $(BUILDTOOLS_OUTPUTDIR)/gensrc/java.base.interim/jdk/internal/javac/PreviewFeature.java
|
||||
TARGETS += $(COPY_PREVIEW_FEATURES)
|
||||
|
||||
################################################################################
|
||||
# Setup the rules to build interim langtools, which is compiled by the boot
|
||||
@@ -125,8 +123,7 @@ define SetupInterimModule
|
||||
$1_DEPS_INTERIM := $$(addsuffix .interim, $$(filter \
|
||||
$$(INTERIM_LANGTOOLS_BASE_MODULES), $$(call FindTransitiveDepsForModule, $1)))
|
||||
|
||||
$$(BUILD_$1.interim): $$(foreach d, $$($1_DEPS_INTERIM), $$(BUILD_$$d)) \
|
||||
$(BUILDTOOLS_OUTPUTDIR)/gensrc/java.base.interim/jdk/internal/javac/PreviewFeature.java
|
||||
$$(BUILD_$1.interim): $$(foreach d, $$($1_DEPS_INTERIM), $$(BUILD_$$d)) $(COPY_PREVIEW_FEATURES)
|
||||
|
||||
TARGETS += $$(BUILD_$1.interim)
|
||||
endef
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2014, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2014, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -30,8 +30,6 @@ include MakeFileStart.gmk
|
||||
include JavaCompilation.gmk
|
||||
include Modules.gmk
|
||||
|
||||
include CopyFiles.gmk
|
||||
|
||||
################################################################################
|
||||
# If this is an imported module that has prebuilt classes, only compile
|
||||
# module-info.java.
|
||||
@@ -100,15 +98,13 @@ endif
|
||||
################################################################################
|
||||
# Setup the main compilation
|
||||
|
||||
COMPILATION_OUTPUTDIR := $(if $($(MODULE)_BIN), $($(MODULE)_BIN), $(JDK_OUTPUTDIR)/modules)
|
||||
|
||||
$(eval $(call SetupJavaCompilation, $(MODULE), \
|
||||
SMALL_JAVA := false, \
|
||||
MODULE := $(MODULE), \
|
||||
SRC := $(wildcard $(MODULE_SRC_DIRS)), \
|
||||
INCLUDES := $(JDK_USER_DEFINED_FILTER), \
|
||||
FAIL_NO_SRC := $(FAIL_NO_SRC), \
|
||||
BIN := $(COMPILATION_OUTPUTDIR), \
|
||||
BIN := $(if $($(MODULE)_BIN), $($(MODULE)_BIN), $(JDK_OUTPUTDIR)/modules), \
|
||||
HEADERS := $(SUPPORT_OUTPUTDIR)/headers, \
|
||||
CREATE_API_DIGEST := true, \
|
||||
CLEAN := $(CLEAN), \
|
||||
@@ -130,66 +126,6 @@ $(eval $(call SetupJavaCompilation, $(MODULE), \
|
||||
|
||||
TARGETS += $($(MODULE))
|
||||
|
||||
################################################################################
|
||||
# Setup compilation for preview classes in the module
|
||||
# TBD: When $(DOCLINT) was included there was an NPE in JavacTypes.getOverriddenMethods
|
||||
|
||||
# Directory and file name suffix for jar file containing preview classes/resources.
|
||||
PREVIEW_CLASSES_LABEL := preview
|
||||
# Module relative path in which preview classes/resources are placed.
|
||||
PREVIEW_PATH := META-INF/preview
|
||||
|
||||
MODULE_PREVIEW_SRC_DIRS := $(call FindModulePreviewSrcDirs, $(MODULE))
|
||||
MODULE_PREVIEW_SOURCEPATH := $(call GetModulePreviewSrcPath)
|
||||
ifneq ($(MODULE_PREVIEW_SRC_DIRS),)
|
||||
# Compile preview classes into a separate directory, and then copy into the
|
||||
# correct output path location. We cannot compile directly into the desired
|
||||
# directory because it's the compiler which creates the original
|
||||
# '<module>/<classpath>/...' hierarchy.
|
||||
PREVIEW_OUTPUTDIR := $(SUPPORT_OUTPUTDIR)/$(PREVIEW_CLASSES_LABEL)
|
||||
PATCH_COMMAND := $(MODULE)=$(call strip, $(COMPILATION_OUTPUTDIR)/$(MODULE))
|
||||
|
||||
$(eval $(call SetupJavaCompilation, $(MODULE)-$(PREVIEW_CLASSES_LABEL), \
|
||||
SMALL_JAVA := false, \
|
||||
MODULE := $(MODULE), \
|
||||
SRC := $(wildcard $(MODULE_PREVIEW_SRC_DIRS)), \
|
||||
INCLUDES := $(JDK_USER_DEFINED_FILTER), \
|
||||
FAIL_NO_SRC := $(FAIL_NO_SRC), \
|
||||
BIN := $(PREVIEW_OUTPUTDIR)/, \
|
||||
DISABLED_WARNINGS := $(DISABLED_WARNINGS_java) preview, \
|
||||
EXCLUDES := $(EXCLUDES), \
|
||||
EXCLUDE_FILES := $(EXCLUDE_FILES), \
|
||||
KEEP_ALL_TRANSLATIONS := $(KEEP_ALL_TRANSLATIONS), \
|
||||
DEPENDS := $($(MODULE)), \
|
||||
JAVAC_FLAGS := \
|
||||
$(JAVAC_FLAGS) \
|
||||
--module-source-path $(MODULE_PREVIEW_SOURCEPATH) \
|
||||
--module-path $(MODULEPATH) \
|
||||
--patch-module $(PATCH_COMMAND) \
|
||||
--system none \
|
||||
--enable-preview -source $(JDK_SOURCE_TARGET_VERSION), \
|
||||
))
|
||||
|
||||
# Don't add '$($(MODULE)-$(PREVIEW_CLASSES_LABEL))' to TARGETS (it's transient).
|
||||
# The 'preview' target below depends on it, and that's the non-transient
|
||||
# result we care about.
|
||||
|
||||
# Copy compiled output from "$(PREVIEW_OUTPUTDIR)/$(MODULE)/<classpath>/..."
|
||||
# to "$(COMPILATION_OUTPUTDIR)/$(MODULE)/$(PREVIEW_PATH)/<classpath>/...".
|
||||
MOD_SRC := $(PREVIEW_OUTPUTDIR)/$(MODULE)
|
||||
MOD_DST := $(COMPILATION_OUTPUTDIR)/$(MODULE)
|
||||
|
||||
# NOTE: We cannot use '$(CP) -R $(MOD_SRC)/*/ ...' to select sub-directories (it
|
||||
# does not work on MacOS/BSD). Use 'filter-out' to explicitly exclude marker files.
|
||||
$(MOD_DST)/_the.$(MODULE).preview: $($(MODULE)-$(PREVIEW_CLASSES_LABEL))
|
||||
$(RM) -r $(@D)/$(PREVIEW_PATH)
|
||||
$(MKDIR) -p $(@D)/$(PREVIEW_PATH)
|
||||
$(CP) -R $(filter-out $(MOD_SRC)/_%, $(wildcard $(MOD_SRC)/*)) $(@D)/$(PREVIEW_PATH)
|
||||
$(TOUCH) $@
|
||||
|
||||
TARGETS += $(MOD_DST)/_the.$(MODULE).preview
|
||||
endif
|
||||
|
||||
# Declare dependencies between java compilations of different modules.
|
||||
# Since the other modules are declared in different invocations of this file,
|
||||
# use the macro to find the correct target file to depend on.
|
||||
|
||||
+7
-5
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 1997, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 1997, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -93,17 +93,19 @@ JAVADOC_DISABLED_DOCLINT_WARNINGS := missing
|
||||
JAVADOC_DISABLED_DOCLINT_PACKAGES := org.w3c.* javax.smartcardio
|
||||
|
||||
# The initial set of options for javadoc
|
||||
JAVADOC_OPTIONS := -XDignore.symbol.file=true -use -keywords -notimestamp \
|
||||
# -XDaccessInternalAPI is a temporary workaround, see 8373909
|
||||
JAVADOC_OPTIONS := -use -keywords -notimestamp \
|
||||
-serialwarn -encoding utf-8 -docencoding utf-8 -breakiterator \
|
||||
-splitIndex --system none -javafx --expand-requires transitive \
|
||||
--enable-preview -source $(JDK_SOURCE_TARGET_VERSION) \
|
||||
--override-methods=summary
|
||||
--override-methods=summary \
|
||||
-XDaccessInternalAPI
|
||||
|
||||
# The reference options must stay stable to allow for comparisons across the
|
||||
# development cycle.
|
||||
REFERENCE_OPTIONS := -XDignore.symbol.file=true -use -keywords -notimestamp \
|
||||
-serialwarn -encoding utf-8 -breakiterator -splitIndex --system none \
|
||||
-html5 -javafx --expand-requires transitive
|
||||
-html5 -javafx --expand-requires transitive \
|
||||
-XDaccessInternalAPI
|
||||
|
||||
# Should we add DRAFT stamps to the generated javadoc?
|
||||
ifeq ($(VERSION_IS_GA), true)
|
||||
|
||||
@@ -70,15 +70,12 @@ CLASSLIST_FILE_VM_OPTS = \
|
||||
|
||||
# Save the stderr output of the command and print it along with stdout in case
|
||||
# something goes wrong.
|
||||
# The classlists must be generated with -Xint to avoid non-determinism
|
||||
# introduced by JIT compiled code
|
||||
$(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXECUTABLE_SUFFIX) $(CLASSLIST_JAR)
|
||||
$(call MakeDir, $(LINK_OPT_DIR))
|
||||
$(call LogInfo, Generating $(patsubst $(OUTPUTDIR)/%, %, $@))
|
||||
$(call LogInfo, Generating $(patsubst $(OUTPUTDIR)/%, %, $(JLI_TRACE_FILE)))
|
||||
$(FIXPATH) $(INTERIM_IMAGE_DIR)/bin/java -XX:DumpLoadedClassList=$@.raw \
|
||||
$(CLASSLIST_FILE_VM_OPTS) \
|
||||
-Xint \
|
||||
-Xlog:aot=off \
|
||||
-Xlog:cds=off \
|
||||
-cp $(SUPPORT_OUTPUTDIR)/classlist.jar \
|
||||
@@ -93,7 +90,6 @@ $(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXECUTABLE_SUFFIX) $(CLASSLIST
|
||||
-XX:SharedClassListFile=$@.interim -XX:SharedArchiveFile=$@.jsa \
|
||||
-Djava.lang.invoke.MethodHandle.TRACE_RESOLVE=true \
|
||||
$(CLASSLIST_FILE_VM_OPTS) \
|
||||
-Xint \
|
||||
--module-path $(SUPPORT_OUTPUTDIR)/classlist.jar \
|
||||
-Xlog:aot=off \
|
||||
-Xlog:cds=off \
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
#
|
||||
# Copyright (c) 2020, Red Hat Inc.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation. Oracle designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Oracle in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
|
||||
include MakeFileStart.gmk
|
||||
|
||||
################################################################################
|
||||
# This makefile creates a jdk image overlaid with statically linked core
|
||||
# libraries.
|
||||
################################################################################
|
||||
|
||||
include CopyFiles.gmk
|
||||
|
||||
$(eval $(call SetupCopyFiles, COPY_JDK_IMG, \
|
||||
SRC := $(JDK_IMAGE_DIR)/, \
|
||||
DEST := $(GRAAL_BUILDER_IMAGE_DIR)/, \
|
||||
FILES := $(call FindFiles, $(JDK_IMAGE_DIR)/), \
|
||||
))
|
||||
TARGETS += $(COPY_JDK_IMG)
|
||||
|
||||
$(eval $(call SetupCopyFiles, COPY_STATIC_LIBS, \
|
||||
SRC := $(STATIC_LIBS_GRAAL_IMAGE_DIR)/lib, \
|
||||
DEST := $(GRAAL_BUILDER_IMAGE_DIR)/lib, \
|
||||
FILES := $(filter %$(STATIC_LIBRARY_SUFFIX), \
|
||||
$(call FindFiles, $(STATIC_LIBS_GRAAL_IMAGE_DIR)/lib)), \
|
||||
))
|
||||
TARGETS += $(COPY_STATIC_LIBS)
|
||||
|
||||
################################################################################
|
||||
|
||||
include MakeFileEnd.gmk
|
||||
@@ -44,9 +44,6 @@ ifeq ($(HSDIS_BACKEND), capstone)
|
||||
else ifeq ($(call isTargetCpuArch, aarch64), true)
|
||||
CAPSTONE_ARCH := CS_ARCH_$(CAPSTONE_ARCH_AARCH64_NAME)
|
||||
CAPSTONE_MODE := CS_MODE_ARM
|
||||
else ifeq ($(call isTargetCpuArch, arm), true)
|
||||
CAPSTONE_ARCH := CS_ARCH_ARM
|
||||
CAPSTONE_MODE := CS_MODE_ARM
|
||||
else
|
||||
$(error No support for Capstone on this platform)
|
||||
endif
|
||||
|
||||
+31
-61
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2014, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2014, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -137,23 +137,23 @@ CDS_DUMP_FLAGS = -Xmx128M -Xms128M
|
||||
# Helper function for creating the CDS archives for the JDK and JRE
|
||||
#
|
||||
# Param1 - VM variant (e.g., server, client, zero, ...)
|
||||
# Param2 - _nocoops, _nocoh, _nocoops_nocoh, or empty
|
||||
# Param3 - _preview, or empty
|
||||
# Param2 - _nocoops, _coh, _nocoops_coh, or empty
|
||||
define CreateCDSArchive
|
||||
$1_$2_COOPS_OPTION := $(if $(findstring _nocoops, $2),-XX:-UseCompressedOops)
|
||||
# enable and also explicitly disable coh as needed.
|
||||
ifeq ($(call isTargetCpuBits, 64), true)
|
||||
$1_$2_NOCOH_OPTION := $(if $(findstring _nocoh, $2),-XX:-UseCompactObjectHeaders,-XX:+UseCompactObjectHeaders)
|
||||
$1_$2_COH_OPTION := -XX:+UnlockExperimentalVMOptions \
|
||||
$(if $(findstring _coh, $2),-XX:+UseCompactObjectHeaders,-XX:-UseCompactObjectHeaders)
|
||||
endif
|
||||
$1_$2_$3_DUMP_EXTRA_ARG := $$($1_$2_COOPS_OPTION) $$($1_$2_NOCOH_OPTION) $(if $(findstring _preview, $3), --enable-preview,)
|
||||
$1_$2_$3_DUMP_TYPE := $(if $(findstring _nocoops, $2),-NOCOOPS,)$(if $(findstring _nocoh, $2),-NOCOH,)$(if $(findstring _preview, $3),-PREVIEW,)
|
||||
$1_$2_DUMP_EXTRA_ARG := $$($1_$2_COOPS_OPTION) $$($1_$2_COH_OPTION)
|
||||
$1_$2_DUMP_TYPE := $(if $(findstring _nocoops, $2),-NOCOOPS,)$(if $(findstring _coh, $2),-COH,)
|
||||
|
||||
$1_$2_$3_CDS_DUMP_FLAGS := $(CDS_DUMP_FLAGS) $(if $(filter g1gc, $(JVM_FEATURES_$1)), -XX:+UseG1GC)
|
||||
$1_$2_CDS_DUMP_FLAGS := $(CDS_DUMP_FLAGS) $(if $(filter g1gc, $(JVM_FEATURES_$1)), -XX:+UseG1GC)
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
$1_$2_$3_CDS_ARCHIVE := bin/$1/classes$2$3.jsa
|
||||
$1_$2_CDS_ARCHIVE := bin/$1/classes$2.jsa
|
||||
else
|
||||
$1_$2_$3_CDS_ARCHIVE := lib/$1/classes$2$3.jsa
|
||||
$1_$2_CDS_ARCHIVE := lib/$1/classes$2.jsa
|
||||
endif
|
||||
|
||||
ifneq ($(COMPARE_BUILD), )
|
||||
@@ -161,83 +161,53 @@ define CreateCDSArchive
|
||||
endif
|
||||
|
||||
ifeq ($(DEBUG_CDS_ARCHIVE), true)
|
||||
$1_$2_$3_CDS_DUMP_FLAGS += -Xlog:aot+map*=trace:file=$$(JDK_IMAGE_DIR)/$$($1_$2_$3_CDS_ARCHIVE).cdsmap:none:filesize=0
|
||||
$1_$2_CDS_DUMP_FLAGS += -Xlog:aot+map*=trace:file=$$(JDK_IMAGE_DIR)/$$($1_$2_CDS_ARCHIVE).cdsmap:none:filesize=0
|
||||
endif
|
||||
|
||||
$$(eval $$(call SetupExecute, $1_$2_$3_gen_cds_archive_jdk, \
|
||||
WARN := Creating CDS$$($1_$2_$3_DUMP_TYPE) archive for jdk image for $1, \
|
||||
INFO := Using CDS flags for $1: $$($1_$2_$3_CDS_DUMP_FLAGS), \
|
||||
$$(eval $$(call SetupExecute, $1_$2_gen_cds_archive_jdk, \
|
||||
WARN := Creating CDS$$($1_$2_DUMP_TYPE) archive for jdk image for $1, \
|
||||
INFO := Using CDS flags for $1: $$($1_$2_CDS_DUMP_FLAGS), \
|
||||
DEPS := $$(jlink_jdk), \
|
||||
OUTPUT_FILE := $$(JDK_IMAGE_DIR)/$$($1_$2_$3_CDS_ARCHIVE), \
|
||||
OUTPUT_FILE := $$(JDK_IMAGE_DIR)/$$($1_$2_CDS_ARCHIVE), \
|
||||
SUPPORT_DIR := $$(JDK_IMAGE_SUPPORT_DIR), \
|
||||
COMMAND := $$(FIXPATH) $$(JDK_IMAGE_DIR)/bin/java -Xshare:dump \
|
||||
-XX:SharedArchiveFile=$$(JDK_IMAGE_DIR)/$$($1_$2_$3_CDS_ARCHIVE) \
|
||||
-$1 $$($1_$2_$3_DUMP_EXTRA_ARG) $$($1_$2_$3_CDS_DUMP_FLAGS) $$(LOG_INFO), \
|
||||
-XX:SharedArchiveFile=$$(JDK_IMAGE_DIR)/$$($1_$2_CDS_ARCHIVE) \
|
||||
-$1 $$($1_$2_DUMP_EXTRA_ARG) $$($1_$2_CDS_DUMP_FLAGS) $$(LOG_INFO), \
|
||||
))
|
||||
|
||||
JDK_TARGETS += $$($1_$2_$3_gen_cds_archive_jdk)
|
||||
JDK_TARGETS += $$($1_$2_gen_cds_archive_jdk)
|
||||
|
||||
$$(eval $$(call SetupExecute, $1_$2_$3_gen_cds_archive_jre, \
|
||||
WARN := Creating CDS$$($1_$2_$3_DUMP_TYPE) archive for jre image for $1, \
|
||||
INFO := Using CDS flags for $1: $$($1_$2_$3_CDS_DUMP_FLAGS), \
|
||||
$$(eval $$(call SetupExecute, $1_$2_gen_cds_archive_jre, \
|
||||
WARN := Creating CDS$$($1_$2_DUMP_TYPE) archive for jre image for $1, \
|
||||
INFO := Using CDS flags for $1: $$($1_$2_CDS_DUMP_FLAGS), \
|
||||
DEPS := $$(jlink_jre), \
|
||||
OUTPUT_FILE := $$(JRE_IMAGE_DIR)/$$($1_$2_$3_CDS_ARCHIVE), \
|
||||
OUTPUT_FILE := $$(JRE_IMAGE_DIR)/$$($1_$2_CDS_ARCHIVE), \
|
||||
SUPPORT_DIR := $$(JRE_IMAGE_SUPPORT_DIR), \
|
||||
COMMAND := $$(FIXPATH) $$(JRE_IMAGE_DIR)/bin/java -Xshare:dump \
|
||||
-XX:SharedArchiveFile=$$(JRE_IMAGE_DIR)/$$($1_$2_$3_CDS_ARCHIVE) \
|
||||
-$1 $$($1_$2_$3_DUMP_EXTRA_ARG) $$($1_$2_$3_CDS_DUMP_FLAGS) $$(LOG_INFO), \
|
||||
-XX:SharedArchiveFile=$$(JRE_IMAGE_DIR)/$$($1_$2_CDS_ARCHIVE) \
|
||||
-$1 $$($1_$2_DUMP_EXTRA_ARG) $$($1_$2_CDS_DUMP_FLAGS) $$(LOG_INFO), \
|
||||
))
|
||||
|
||||
JRE_TARGETS += $$($1_$2_$3_gen_cds_archive_jre)
|
||||
JRE_TARGETS += $$($1_$2_gen_cds_archive_jre)
|
||||
endef
|
||||
|
||||
ifeq ($(BUILD_CDS_ARCHIVE), true)
|
||||
$(foreach v, $(JVM_VARIANTS), \
|
||||
$(eval $(call CreateCDSArchive,$v,,)) \
|
||||
$(eval $(call CreateCDSArchive,$v,)) \
|
||||
)
|
||||
|
||||
ifeq ($(BUILD_CDS_ARCHIVE_PREVIEW), true)
|
||||
$(foreach v, $(JVM_VARIANTS), \
|
||||
$(eval $(call CreateCDSArchive,$v,,_preview)) \
|
||||
)
|
||||
endif
|
||||
|
||||
ifeq ($(call isTargetCpuBits, 64), true)
|
||||
ifeq ($(BUILD_CDS_ARCHIVE_NOCOOPS), true)
|
||||
$(foreach v, $(JVM_VARIANTS), \
|
||||
$(eval $(call CreateCDSArchive,$v,_nocoops)) \
|
||||
)
|
||||
ifeq ($(BUILD_CDS_ARCHIVE_COH), true)
|
||||
$(foreach v, $(JVM_VARIANTS), \
|
||||
$(eval $(call CreateCDSArchive,$v,_nocoops,)) \
|
||||
$(eval $(call CreateCDSArchive,$v,_coh)) \
|
||||
)
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_CDS_ARCHIVE_PREVIEW)+$(BUILD_CDS_ARCHIVE_NOCOOPS), true+true)
|
||||
$(foreach v, $(JVM_VARIANTS), \
|
||||
$(eval $(call CreateCDSArchive,$v,_nocoops,_preview)) \
|
||||
$(eval $(call CreateCDSArchive,$v,_nocoops_coh)) \
|
||||
)
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_CDS_ARCHIVE_NOCOH), true)
|
||||
$(foreach v, $(JVM_VARIANTS), \
|
||||
$(eval $(call CreateCDSArchive,$v,_nocoh)) \
|
||||
)
|
||||
|
||||
ifeq ($(BUILD_CDS_ARCHIVE_PREVIEW), true)
|
||||
$(foreach v, $(JVM_VARIANTS), \
|
||||
$(eval $(call CreateCDSArchive,$v,_nocoh,_preview)) \
|
||||
)
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_CDS_ARCHIVE_NOCOOPS), true)
|
||||
$(foreach v, $(JVM_VARIANTS), \
|
||||
$(eval $(call CreateCDSArchive,$v,_nocoops_nocoh)) \
|
||||
)
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_CDS_ARCHIVE_PREVIEW)+$(BUILD_CDS_ARCHIVE_NOCOOPS), true+true)
|
||||
$(foreach v, $(JVM_VARIANTS), \
|
||||
$(eval $(call CreateCDSArchive,$v,_nocoops_nocoh,_preview)) \
|
||||
)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
+19
-17
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -478,6 +478,11 @@ $(eval $(call SetupTarget, static-libs-image, \
|
||||
TARGET := static-libs-image, \
|
||||
))
|
||||
|
||||
$(eval $(call SetupTarget, static-libs-graal-image, \
|
||||
MAKEFILE := StaticLibsImage, \
|
||||
TARGET := static-libs-graal-image, \
|
||||
))
|
||||
|
||||
$(eval $(call SetupTarget, mac-jdk-bundle, \
|
||||
MAKEFILE := MacBundles, \
|
||||
TARGET := jdk-bundle, \
|
||||
@@ -501,6 +506,11 @@ $(eval $(call SetupTarget, exploded-image-optimize, \
|
||||
buildtools-modules, \
|
||||
))
|
||||
|
||||
$(eval $(call SetupTarget, graal-builder-image, \
|
||||
MAKEFILE := GraalBuilderImage, \
|
||||
DEPS := jdk-image static-libs-graal-image, \
|
||||
))
|
||||
|
||||
ifeq ($(JCOV_ENABLED), true)
|
||||
$(eval $(call SetupTarget, jcov-image, \
|
||||
MAKEFILE := Coverage, \
|
||||
@@ -794,20 +804,6 @@ ifeq ($(BUILD_JTREG_TEST_THREAD_FACTORY), true)
|
||||
))
|
||||
endif
|
||||
|
||||
# Builds the value class plugin jtreg extension (JEP 401)
|
||||
$(eval $(call SetupTarget, build-test-value-class-plugin, \
|
||||
MAKEFILE := test/BuildJtregValueClassPlugin, \
|
||||
TARGET := build, \
|
||||
DEPS := interim-langtools exploded-image, \
|
||||
))
|
||||
|
||||
# Copies the value class plugin into the test image
|
||||
$(eval $(call SetupTarget, test-image-value-class-plugin, \
|
||||
MAKEFILE := test/BuildJtregValueClassPlugin, \
|
||||
TARGET := images, \
|
||||
DEPS := build-test-value-class-plugin, \
|
||||
))
|
||||
|
||||
$(eval $(call SetupTarget, build-microbenchmark, \
|
||||
MAKEFILE := test/BuildMicrobenchmark, \
|
||||
DEPS := interim-langtools exploded-image build-test-lib, \
|
||||
@@ -881,6 +877,12 @@ $(eval $(call SetupTarget, static-libs-bundles, \
|
||||
DEPS := static-libs-image, \
|
||||
))
|
||||
|
||||
$(eval $(call SetupTarget, static-libs-graal-bundles, \
|
||||
MAKEFILE := Bundles, \
|
||||
TARGET := static-libs-graal-bundles, \
|
||||
DEPS := static-libs-graal-image, \
|
||||
))
|
||||
|
||||
$(eval $(call SetupTarget, static-jdk-bundles, \
|
||||
MAKEFILE := Bundles, \
|
||||
TARGET := static-jdk-bundles, \
|
||||
@@ -1122,6 +1124,8 @@ else
|
||||
|
||||
static-libs-image: hotspot-static-libs static-libs
|
||||
|
||||
static-libs-graal-image: static-libs
|
||||
|
||||
bootcycle-images: jdk-image
|
||||
|
||||
docs-jdk-api-javadoc: $(GENSRC_TARGETS)
|
||||
@@ -1324,8 +1328,6 @@ ifeq ($(BUILD_JTREG_TEST_THREAD_FACTORY), true)
|
||||
test-image: test-image-test-thread-factory
|
||||
endif
|
||||
|
||||
test-image: test-image-value-class-plugin
|
||||
|
||||
ifneq ($(JMH_CORE_JAR), )
|
||||
test-image: build-microbenchmark
|
||||
endif
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -107,7 +107,6 @@ define Clean-java
|
||||
@$(PRINTF) "Cleaning java %s..." "$(if $1,for $(strip $1) )"
|
||||
@$(ECHO) "" $(LOG_DEBUG)
|
||||
$(RM) -r $(JDK_OUTPUTDIR)/modules/$(strip $1)
|
||||
$(RM) -r $(SUPPORT_OUTPUTDIR)/preview/$(strip $1)
|
||||
$(RM) -r $(SUPPORT_OUTPUTDIR)/special_classes/$(strip $1)
|
||||
$(ECHO) " done"
|
||||
$(PRINTF) "Cleaning headers %s..." "$(if $1,for $(strip $1) )"
|
||||
|
||||
+2
-3
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2012, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -66,8 +66,7 @@ CALLED_SPEC_TARGETS := $(filter-out $(ALL_GLOBAL_TARGETS), $(CALLED_TARGETS))
|
||||
ifeq ($(CALLED_SPEC_TARGETS), )
|
||||
SKIP_SPEC := true
|
||||
endif
|
||||
MFLAGS_SINGLE := $(filter-out --%, $(MFLAGS))
|
||||
ifeq ($(findstring p, $(MFLAGS_SINGLE))$(findstring q, $(MFLAGS_SINGLE)), pq)
|
||||
ifeq ($(findstring p, $(MAKEFLAGS))$(findstring q, $(MAKEFLAGS)), pq)
|
||||
SKIP_SPEC := true
|
||||
endif
|
||||
|
||||
|
||||
+6
-21
@@ -93,9 +93,6 @@ JTREG_FAILURE_HANDLER := $(JTREG_FAILURE_HANDLER_DIR)/jtregFailureHandler.jar
|
||||
JTREG_TEST_THREAD_FACTORY_DIR := $(TEST_IMAGE_DIR)/jtreg_test_thread_factory
|
||||
JTREG_TEST_THREAD_FACTORY_JAR := $(JTREG_TEST_THREAD_FACTORY_DIR)/jtregTestThreadFactory.jar
|
||||
|
||||
JTREG_VALUE_CLASS_PLUGIN_DIR := $(TEST_IMAGE_DIR)/jtreg_value_class_plugin
|
||||
JTREG_VALUE_CLASS_PLUGIN_JAR := $(JTREG_VALUE_CLASS_PLUGIN_DIR)/valueClassPlugin.jar
|
||||
|
||||
JTREG_FAILURE_HANDLER_TIMEOUT ?= 0
|
||||
|
||||
ifneq ($(wildcard $(JTREG_FAILURE_HANDLER)), )
|
||||
@@ -209,7 +206,7 @@ $(eval $(call ParseKeywordVariable, JTREG, \
|
||||
SINGLE_KEYWORDS := JOBS TIMEOUT_FACTOR FAILURE_HANDLER_TIMEOUT \
|
||||
TEST_MODE ASSERT VERBOSE RETAIN TEST_THREAD_FACTORY JVMTI_STRESS_AGENT \
|
||||
MAX_MEM RUN_PROBLEM_LISTS RETRY_COUNT REPEAT_COUNT MAX_OUTPUT REPORT \
|
||||
AOT_JDK MANUAL VALUE_CLASS_PLUGIN $(CUSTOM_JTREG_SINGLE_KEYWORDS), \
|
||||
AOT_JDK MANUAL $(CUSTOM_JTREG_SINGLE_KEYWORDS), \
|
||||
STRING_KEYWORDS := OPTIONS JAVA_OPTIONS VM_OPTIONS KEYWORDS \
|
||||
EXTRA_PROBLEM_LISTS LAUNCHER_OPTIONS \
|
||||
$(CUSTOM_JTREG_STRING_KEYWORDS), \
|
||||
@@ -880,20 +877,6 @@ define SetupRunJtregTestBody
|
||||
))
|
||||
endif
|
||||
|
||||
ifneq ($$(JTREG_VALUE_CLASS_PLUGIN), )
|
||||
ifneq ($$(wildcard $$(JTREG_VALUE_CLASS_PLUGIN_JAR)), )
|
||||
$1_JTREG_BASIC_OPTIONS += -cpa:$$(JTREG_VALUE_CLASS_PLUGIN_JAR)
|
||||
endif
|
||||
$1_JTREG_BASIC_OPTIONS += -vmoption:--enable-preview
|
||||
$1_JTREG_BASIC_OPTIONS += -javacoption:-XDaccessInternalAPI
|
||||
$1_JTREG_BASIC_OPTIONS += -javacoption:--source -javacoption:$(VERSION_FEATURE)
|
||||
$1_JTREG_BASIC_OPTIONS += -javacoption:--enable-preview
|
||||
$1_JTREG_BASIC_OPTIONS += -javacoption:-Xplugin:ValueClassPlugin
|
||||
$1_JTREG_BASIC_OPTIONS += $$(addprefix $$(JTREG_PROBLEM_LIST_PREFIX), $$(wildcard \
|
||||
$$(addprefix $$($1_TEST_ROOT)/, ProblemList-ValueClass.txt) \
|
||||
))
|
||||
endif
|
||||
|
||||
ifneq ($$(JTREG_JVMTI_STRESS_AGENT), )
|
||||
AGENT := $$(LIBRARY_PREFIX)JvmtiStressAgent$$(SHARED_LIBRARY_SUFFIX)=$$(JTREG_JVMTI_STRESS_AGENT)
|
||||
$1_JTREG_BASIC_OPTIONS += -javaoption:'-agentpath:$(TEST_IMAGE_DIR)/hotspot/jtreg/native/$$(AGENT)'
|
||||
@@ -989,6 +972,11 @@ define SetupRunJtregTestBody
|
||||
JTREG_AUTO_PROBLEM_LISTS += ProblemList-enable-preview.txt
|
||||
endif
|
||||
|
||||
ifneq ($$(findstring -XX:+UseCompactObjectHeaders, $$(JTREG_ALL_OPTIONS)), )
|
||||
JTREG_AUTO_PROBLEM_LISTS += ProblemList-coh.txt
|
||||
endif
|
||||
|
||||
|
||||
ifneq ($$(JTREG_EXTRA_PROBLEM_LISTS), )
|
||||
# Accept both absolute paths as well as relative to the current test root.
|
||||
$1_JTREG_BASIC_OPTIONS += $$(addprefix $$(JTREG_PROBLEM_LIST_PREFIX), $$(wildcard \
|
||||
@@ -1032,9 +1020,6 @@ define SetupRunJtregTestBody
|
||||
VM_OPTIONS := $$(JTREG_ALL_OPTIONS) ))
|
||||
$$(call LogWarn, AOT_JDK_CACHE=$$($1_AOT_JDK_CACHE))
|
||||
$1_JTREG_BASIC_OPTIONS += -vmoption:-XX:AOTCache="$$($1_AOT_JDK_CACHE)"
|
||||
$1_JTREG_BASIC_OPTIONS += $$(addprefix $$(JTREG_PROBLEM_LIST_PREFIX), $$(wildcard \
|
||||
$$(addprefix $$($1_TEST_ROOT)/, ProblemList-AotJdk.txt) \
|
||||
))
|
||||
endif
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2017, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2017, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -53,9 +53,6 @@ $(eval $(call VerifyVariable,TEST_IMAGE_DIR))
|
||||
$(eval $(call VerifyVariable,MAKE))
|
||||
$(eval $(call VerifyVariable,BASH))
|
||||
|
||||
include $(TOPDIR)/make/conf/version-numbers.conf
|
||||
VERSION_FEATURE := $(DEFAULT_VERSION_FEATURE)
|
||||
|
||||
################################################################################
|
||||
# The "human readable" name of this configuration
|
||||
CONF_NAME := run-test-prebuilt
|
||||
@@ -67,7 +64,7 @@ TEST_JOBS ?= 0
|
||||
# Use hard-coded values for java flags (one size, fits all!)
|
||||
JAVA_FLAGS := -Duser.language=en -Duser.country=US
|
||||
JAVA_FLAGS_BIG := -Xms64M -Xmx2048M
|
||||
JAVA_FLAGS_SMALL := -Xms32M -Xmx512M -XX:TieredStopAtLevel=1
|
||||
JAVA_FLAGS_SMALL := -XX:+UseSerialGC -Xms32M -Xmx512M -XX:TieredStopAtLevel=1
|
||||
BUILDJDK_JAVA_FLAGS_SMALL := -Xms32M -Xmx512M -XX:TieredStopAtLevel=1
|
||||
BUILD_JAVA_FLAGS := $(JAVA_FLAGS_BIG)
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2019, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2019, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -39,6 +39,8 @@ ALL_MODULES = $(call FindAllModules)
|
||||
|
||||
ifneq ($(filter static-libs-image, $(MAKECMDGOALS)), )
|
||||
IMAGE_DEST_DIR = $(STATIC_LIBS_IMAGE_DIR)/lib
|
||||
else ifneq ($(filter static-libs-graal-image, $(MAKECMDGOALS)), )
|
||||
IMAGE_DEST_DIR = $(STATIC_LIBS_GRAAL_IMAGE_DIR)/lib
|
||||
endif
|
||||
|
||||
# Copy JDK static libs to the image.
|
||||
@@ -68,6 +70,7 @@ ifneq ($(filter static-libs-image, $(MAKECMDGOALS)), )
|
||||
endif
|
||||
|
||||
static-libs-image: $(HOTSPOT_VARIANT_STATIC_LIBS_TARGETS) $(STATIC_LIBS_TARGETS)
|
||||
static-libs-graal-image: $(STATIC_LIBS_TARGETS)
|
||||
|
||||
################################################################################
|
||||
|
||||
|
||||
+1
-4
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -81,9 +81,6 @@ TOOL_GENERATEEXTRAPROPERTIES = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_too
|
||||
TOOL_GENERATECASEFOLDING = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
|
||||
build.tools.generatecharacter.GenerateCaseFolding
|
||||
|
||||
TOOL_GENERATESPECIALCASING = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
|
||||
build.tools.generatespecialcasing.GenerateSpecialCasing
|
||||
|
||||
TOOL_MAKEZIPREPRODUCIBLE = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
|
||||
build.tools.makezipreproducible.MakeZipReproducible
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2024, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2024, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -48,7 +48,7 @@ ifneq ($(OPENJDK_BUILD_OS), linux)
|
||||
endif
|
||||
|
||||
SLEEF_SUPPORT_DIR := $(MAKESUPPORT_OUTPUTDIR)/sleef
|
||||
SLEEF_SOURCE_BASE_DIR := $(TOPDIR)/src/jdk.incubator.vector/unix/native/libsleef
|
||||
SLEEF_SOURCE_BASE_DIR := $(TOPDIR)/src/jdk.incubator.vector/linux/native/libsleef
|
||||
SLEEF_SOURCE_DIR := $(SLEEF_SOURCE_BASE_DIR)/upstream
|
||||
SLEEF_TARGET_DIR := $(SLEEF_SOURCE_BASE_DIR)/generated
|
||||
SLEEF_NATIVE_BUILD_DIR := $(SLEEF_SUPPORT_DIR)/native
|
||||
@@ -82,12 +82,7 @@ $(eval $(call SetupExecute, sleef_native_config, \
|
||||
INFO := Configuring native sleef build, \
|
||||
OUTPUT_DIR := $(SLEEF_NATIVE_BUILD_DIR), \
|
||||
WORKING_DIR := $(SLEEF_SOURCE_DIR), \
|
||||
COMMAND := $(CMAKE) -S . -B $(SLEEF_NATIVE_BUILD_DIR) \
|
||||
-DCMAKE_INSTALL_PREFIX=$(SLEEF_NATIVE_BUILD_DIR) \
|
||||
-DSLEEF_BUILD_TESTS=OFF \
|
||||
-DSLEEF_DISABLE_SSL=ON \
|
||||
-DSLEEF_ENABLE_TLFLOAT=OFF \
|
||||
-DSLEEF_ENABLE_TESTER4=OFF, \
|
||||
COMMAND := $(CMAKE) -S . -B $(SLEEF_NATIVE_BUILD_DIR), \
|
||||
))
|
||||
|
||||
TARGETS := $(sleef_native_config)
|
||||
@@ -111,11 +106,6 @@ $(eval $(call SetupExecute, sleef_cross_config, \
|
||||
-DCMAKE_C_COMPILER=$(CC) \
|
||||
-DCMAKE_TOOLCHAIN_FILE=$(SLEEF_CMAKE_FILE) \
|
||||
-DNATIVE_BUILD_DIR=$(SLEEF_NATIVE_BUILD_DIR) \
|
||||
-DCMAKE_INSTALL_PREFIX=$(SLEEF_CROSS_BUILD_DIR) \
|
||||
-DSLEEF_BUILD_TESTS=OFF \
|
||||
-DSLEEF_DISABLE_SSL=ON \
|
||||
-DSLEEF_ENABLE_TLFLOAT=OFF \
|
||||
-DSLEEF_ENABLE_TESTER4=OFF \
|
||||
-DSLEEF_BUILD_INLINE_HEADERS=TRUE \
|
||||
$(EXTRA_CROSS_OPTIONS), \
|
||||
))
|
||||
@@ -149,7 +139,7 @@ $(eval $(call SetupCopyFiles, copy_generated_sleef_source, \
|
||||
DEST := $(SLEEF_TARGET_DIR), \
|
||||
))
|
||||
|
||||
TARGETS := $(copy_static_sleef_source) $(copy_generated_sleef_source)
|
||||
TARGETS := $(copy_generated_sleef_source)
|
||||
|
||||
################################################################################
|
||||
|
||||
|
||||
+3
-56
@@ -35,35 +35,12 @@ $(if $(filter $(TOPDIR)/%, $(SUPPORT_OUTPUTDIR)), $(eval SRC_ZIP_BASE := $(TOPDI
|
||||
|
||||
################################################################################
|
||||
# Create the directory structure for src.zip using symlinks.
|
||||
# <module>/<package>/<file>.java
|
||||
# or:
|
||||
# <module>/META-INF/preview/<package>/<file>.java
|
||||
# for preview enabled sources.
|
||||
#
|
||||
# Generate the src dirs in the first make invocation and then call this makefile
|
||||
# again to create src.zip.
|
||||
# <module>/<package>/<file>.java
|
||||
|
||||
ALL_MODULES := $(FindAllModules)
|
||||
|
||||
# Module source directories ($d) are things like (but not limited to):
|
||||
# - $TOPDIR/src/<module>/share/classes
|
||||
# - $SUPPORT_OUTPUTDIR/gensrc/<module>
|
||||
#
|
||||
# A symbolic link is created for each directory. For example:
|
||||
# - $TOPDIR/src/<module>/share/classes
|
||||
# is linked from:
|
||||
# - $SRC_ZIP_WORK_DIR/src/<module>/share/classes/<module>
|
||||
#
|
||||
# Each link has the form:
|
||||
# - $SRC_ZIP_WORK_DIR/<link-dir>/<module>
|
||||
# and always has the name of its module (even if the module already appears in <link-dir>.
|
||||
#
|
||||
# Then the contents of all link parent directories are given as ZIP includes:
|
||||
# - $SRC_ZIP_WORK_DIR/<link-dir>
|
||||
# results in ZIP file entries starting:
|
||||
# - <module>/...
|
||||
# where multiple source links/directories can contribute to the same module's sources.
|
||||
#
|
||||
# Generate the src dirs in the first make invocation and then call this makefile
|
||||
# again to create src.zip.
|
||||
$(foreach m, $(ALL_MODULES), \
|
||||
$(foreach d, $(call FindModuleSrcDirs, $m), \
|
||||
$(eval $d_TARGET := $(SRC_ZIP_WORK_DIR)/$(patsubst $(TOPDIR)/%,%,$(patsubst $(SUPPORT_OUTPUTDIR)/%,%,$d))/$m) \
|
||||
@@ -77,36 +54,6 @@ $(foreach m, $(ALL_MODULES), \
|
||||
) \
|
||||
)
|
||||
|
||||
# Preview source directories are currently limited to:
|
||||
# - $SUPPORT_OUTPUTDIR/gensrc-valueclasses/<module>
|
||||
# If this is changed, the 'patsubst' rewriting will need updating.
|
||||
#
|
||||
# The difficulty with this case is that we need to have a directory of the form:
|
||||
# - $SRC_ZIP_WORK_DIR/<link-dir>/<module>
|
||||
# containing (either directly or via symbolic linking) a `META-INF/preview`
|
||||
# subdirectory which then contains the sources.
|
||||
#
|
||||
# The easiest way to achieve this is to symbolically link:
|
||||
# - $SRC_ZIP_WORK_DIR/<link-dir>/<module>/META-INF/preview
|
||||
# and then use the parent directory:
|
||||
# - $SRC_ZIP_WORK_DIR/<link-dir>/<module>
|
||||
# as the actual target for the ZIP file generation. However, this requires
|
||||
# an extra rule to associate the symbolic link and the parent directory.
|
||||
#
|
||||
$(foreach m, $(ALL_MODULES), \
|
||||
$(foreach d, $(call FindModulePreviewSrcDirs, $m), \
|
||||
$(eval $d_TARGET := $(SRC_ZIP_WORK_DIR)/$(patsubst $(SUPPORT_OUTPUTDIR)/%,%,$d)/$m) \
|
||||
$(if $(SRC_GENERATED), , \
|
||||
$(eval $$($d_TARGET)/META-INF/preview: $d ; \
|
||||
$$(if $(filter $(SRC_ZIP_BASE)/%, $d), $$(link-file-relative), $$(link-file-absolute)) \
|
||||
) \
|
||||
$(eval $$($d_TARGET): $$($d_TARGET)/META-INF/preview) \
|
||||
) \
|
||||
$(eval SRC_ZIP_SRCS += $$($d_TARGET)) \
|
||||
$(eval SRC_ZIP_SRCS_$m += $$($d_TARGET)) \
|
||||
) \
|
||||
)
|
||||
|
||||
TARGETS += $(SRC_ZIP_SRCS)
|
||||
|
||||
################################################################################
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -327,6 +327,14 @@ AC_DEFUN_ONCE([BASIC_SETUP_DEVKIT],
|
||||
elif test -d "$DEVKIT_ROOT/$host/sys-root"; then
|
||||
SYSROOT="$DEVKIT_ROOT/$host/sys-root"
|
||||
fi
|
||||
|
||||
if test "x$DEVKIT_ROOT" != x; then
|
||||
DEVKIT_LIB_DIR="$DEVKIT_ROOT/lib"
|
||||
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
|
||||
DEVKIT_LIB_DIR="$DEVKIT_ROOT/lib64"
|
||||
fi
|
||||
AC_SUBST(DEVKIT_LIB_DIR)
|
||||
fi
|
||||
fi
|
||||
|
||||
# You can force the sysroot if the sysroot encoded into the compiler tools
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -148,7 +148,7 @@ AC_DEFUN([BASIC_CHECK_MAKE_VERSION],
|
||||
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
|
||||
MAKE_EXPECTED_ENV='cygwin'
|
||||
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys2"; then
|
||||
MAKE_EXPECTED_ENV='cygwin|msys'
|
||||
MAKE_EXPECTED_ENV='msys'
|
||||
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl1" || test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl2"; then
|
||||
if test "x$OPENJDK_BUILD_CPU" = "xaarch64"; then
|
||||
MAKE_EXPECTED_ENV='aarch64-.*-linux-gnu'
|
||||
@@ -159,7 +159,7 @@ AC_DEFUN([BASIC_CHECK_MAKE_VERSION],
|
||||
AC_MSG_ERROR([Unknown Windows environment])
|
||||
fi
|
||||
MAKE_BUILT_FOR=`$MAKE_CANDIDATE --version | $GREP -i 'built for'`
|
||||
IS_MAKE_CORRECT_ENV=`$ECHO $MAKE_BUILT_FOR | $GREP -E $MAKE_EXPECTED_ENV`
|
||||
IS_MAKE_CORRECT_ENV=`$ECHO $MAKE_BUILT_FOR | $GREP $MAKE_EXPECTED_ENV`
|
||||
else
|
||||
# Not relevant for non-Windows
|
||||
IS_MAKE_CORRECT_ENV=true
|
||||
@@ -369,10 +369,6 @@ AC_DEFUN_ONCE([BASIC_SETUP_COMPLEX_TOOLS],
|
||||
IS_GNU_DATE=yes
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
# Likely at the AIX provided version of the date utility here, which is not compatible
|
||||
if test "x$OPENJDK_TARGET_OS" = "xaix"; then
|
||||
AC_MSG_ERROR([gnu date from AIX toolbox is required])
|
||||
fi
|
||||
IS_GNU_DATE=no
|
||||
fi
|
||||
AC_SUBST(IS_GNU_DATE)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -481,6 +481,8 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
|
||||
|
||||
AC_MSG_CHECKING([flags for boot jdk java command for small workloads])
|
||||
|
||||
# Use serial gc for small short lived tools if possible
|
||||
UTIL_ADD_JVM_ARG_IF_OK([-XX:+UseSerialGC],boot_jdk_jvmargs_small,[$JAVA])
|
||||
UTIL_ADD_JVM_ARG_IF_OK([-Xms32M],boot_jdk_jvmargs_small,[$JAVA])
|
||||
UTIL_ADD_JVM_ARG_IF_OK([-Xmx512M],boot_jdk_jvmargs_small,[$JAVA])
|
||||
UTIL_ADD_JVM_ARG_IF_OK([-XX:TieredStopAtLevel=1],boot_jdk_jvmargs_small,[$JAVA])
|
||||
@@ -490,6 +492,8 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
|
||||
JAVA_FLAGS_SMALL=$boot_jdk_jvmargs_small
|
||||
AC_SUBST(JAVA_FLAGS_SMALL)
|
||||
|
||||
# Don't presuppose SerialGC is present in the buildjdk. Also, we cannot test
|
||||
# the buildjdk, but on the other hand we know what it will support.
|
||||
BUILD_JAVA_FLAGS_SMALL="-Xms32M -Xmx512M -XX:TieredStopAtLevel=1"
|
||||
AC_SUBST(BUILD_JAVA_FLAGS_SMALL)
|
||||
|
||||
|
||||
@@ -108,4 +108,3 @@ override EXTRA_LDFLAGS :=
|
||||
# hsdis is not needed
|
||||
HSDIS_BACKEND := none
|
||||
ENABLE_HSDIS_BUNDLING := false
|
||||
DEFAULT_PRINT_ASSEMBLY_OPTIONS :=
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -260,9 +260,7 @@ LIB_TESTS_ENABLE_DISABLE_JTREG_TEST_THREAD_FACTORY
|
||||
JDKOPT_ENABLE_DISABLE_GENERATE_CLASSLIST
|
||||
JDKOPT_EXCLUDE_TRANSLATIONS
|
||||
JDKOPT_ENABLE_DISABLE_CDS_ARCHIVE
|
||||
JDKOPT_ENABLE_DISABLE_CDS_ARCHIVE_NOCOH
|
||||
JDKOPT_ENABLE_DISABLE_CDS_ARCHIVE_NOCOOPS
|
||||
JDKOPT_ENABLE_DISABLE_CDS_ARCHIVE_PREVIEW
|
||||
JDKOPT_ENABLE_DISABLE_CDS_ARCHIVE_COH
|
||||
JDKOPT_ENABLE_DISABLE_COMPATIBLE_CDS_ALIGNMENT
|
||||
JDKOPT_SETUP_MACOSX_SIGNING
|
||||
JDKOPT_SETUP_SIGNING_HOOK
|
||||
|
||||
@@ -214,7 +214,6 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
|
||||
WARNINGS_ENABLE_ADDITIONAL_CXX=""
|
||||
WARNINGS_ENABLE_ADDITIONAL_JVM=""
|
||||
DISABLED_WARNINGS="4800 5105"
|
||||
CFLAGS_CONVERSION_WARNINGS=
|
||||
;;
|
||||
|
||||
gcc)
|
||||
@@ -240,7 +239,6 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
|
||||
if test "x$OPENJDK_TARGET_CPU_ARCH" = "xppc"; then
|
||||
DISABLED_WARNINGS="$DISABLED_WARNINGS psabi"
|
||||
fi
|
||||
CFLAGS_CONVERSION_WARNINGS="-Wconversion -Wno-float-conversion"
|
||||
;;
|
||||
|
||||
clang)
|
||||
@@ -260,7 +258,6 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
|
||||
# These warnings will never be turned on, since they generate too many
|
||||
# false positives.
|
||||
DISABLED_WARNINGS="unknown-warning-option unused-parameter"
|
||||
CFLAGS_CONVERSION_WARNINGS="-Wimplicit-int-conversion"
|
||||
;;
|
||||
esac
|
||||
WARNINGS_ENABLE_ALL="$WARNINGS_ENABLE_ALL_NORMAL $WARNINGS_ENABLE_ADDITIONAL"
|
||||
@@ -273,7 +270,6 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
|
||||
AC_SUBST(DISABLED_WARNINGS)
|
||||
AC_SUBST(DISABLED_WARNINGS_C)
|
||||
AC_SUBST(DISABLED_WARNINGS_CXX)
|
||||
AC_SUBST(CFLAGS_CONVERSION_WARNINGS)
|
||||
])
|
||||
|
||||
AC_DEFUN([FLAGS_SETUP_QUALITY_CHECKS],
|
||||
@@ -544,9 +540,12 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
|
||||
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -fstack-protector"
|
||||
TOOLCHAIN_CFLAGS_JDK="-fvisibility=hidden -pipe -fstack-protector"
|
||||
# reduce lib size on linux in link step, this needs also special compile flags
|
||||
# do this on s390x also for libjvm (where serviceability agent is not supported)
|
||||
if test "x$ENABLE_LINKTIME_GC" = xtrue; then
|
||||
TOOLCHAIN_CFLAGS_JDK="$TOOLCHAIN_CFLAGS_JDK -ffunction-sections -fdata-sections"
|
||||
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -ffunction-sections -fdata-sections"
|
||||
if test "x$OPENJDK_TARGET_CPU" = xs390x && test "x$DEBUG_LEVEL" == xrelease; then
|
||||
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -ffunction-sections -fdata-sections"
|
||||
fi
|
||||
fi
|
||||
# technically NOT for CXX (but since this gives *worse* performance, use
|
||||
# no-strict-aliasing everywhere!)
|
||||
@@ -575,11 +574,6 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
|
||||
TOOLCHAIN_CFLAGS_JDK_CONLY="-fno-strict-aliasing" # technically NOT for CXX
|
||||
fi
|
||||
|
||||
if test "x$ENABLE_LINKTIME_GC" = xtrue; then
|
||||
TOOLCHAIN_CFLAGS_JDK="$TOOLCHAIN_CFLAGS_JDK -ffunction-sections -fdata-sections"
|
||||
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -ffunction-sections -fdata-sections"
|
||||
fi
|
||||
|
||||
if test "x$OPENJDK_TARGET_OS" = xaix; then
|
||||
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -ffunction-sections -ftls-model -fno-math-errno"
|
||||
TOOLCHAIN_CFLAGS_JDK="-ffunction-sections -fsigned-char"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -53,15 +53,16 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
|
||||
# add --icf=all (Identical Code Folding — merges identical functions)
|
||||
BASIC_LDFLAGS="-Wl,-z,defs -Wl,-z,relro -Wl,-z,now -Wl,--no-as-needed -Wl,--exclude-libs,ALL"
|
||||
|
||||
BASIC_LDFLAGS_JVM_ONLY=""
|
||||
# Linux : remove unused code+data in link step
|
||||
if test "x$ENABLE_LINKTIME_GC" = xtrue; then
|
||||
# keep vtables : -Wl,--undefined-glob=_ZTV* (but this seems not to work with gold ld)
|
||||
# so keep at least the Metadata vtable that is used in the serviceability agent
|
||||
BASIC_LDFLAGS_JVM_ONLY="$BASIC_LDFLAGS_JVM_ONLY -Wl,--gc-sections -Wl,--undefined=_ZTV8Metadata"
|
||||
BASIC_LDFLAGS_JDK_ONLY="$BASIC_LDFLAGS_JDK_ONLY -Wl,--gc-sections"
|
||||
if test "x$OPENJDK_TARGET_CPU" = xs390x; then
|
||||
BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,--gc-sections"
|
||||
else
|
||||
BASIC_LDFLAGS_JDK_ONLY="$BASIC_LDFLAGS_JDK_ONLY -Wl,--gc-sections"
|
||||
fi
|
||||
fi
|
||||
|
||||
BASIC_LDFLAGS_JVM_ONLY=""
|
||||
LDFLAGS_LTO="-flto=auto -fuse-linker-plugin -fno-strict-aliasing $DEBUG_PREFIX_CFLAGS"
|
||||
|
||||
LDFLAGS_CXX_PARTIAL_LINKING="$MACHINE_FLAG -r"
|
||||
@@ -79,11 +80,6 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
|
||||
if test "x$CXX_IS_USER_SUPPLIED" = xfalse && test "x$CC_IS_USER_SUPPLIED" = xfalse; then
|
||||
UTIL_REQUIRE_TOOLCHAIN_PROGS(LLD, lld)
|
||||
fi
|
||||
|
||||
if test "x$ENABLE_LINKTIME_GC" = xtrue; then
|
||||
BASIC_LDFLAGS_JVM_ONLY="$BASIC_LDFLAGS_JVM_ONLY -Wl,--gc-sections -Wl,--undefined=_ZTV8Metadata"
|
||||
BASIC_LDFLAGS_JDK_ONLY="$BASIC_LDFLAGS_JDK_ONLY -Wl,--gc-sections"
|
||||
fi
|
||||
fi
|
||||
if test "x$OPENJDK_TARGET_OS" = xaix; then
|
||||
BASIC_LDFLAGS="-Wl,-b64 -Wl,-brtl -Wl,-bnorwexec -Wl,-blibpath:/usr/lib:lib -Wl,-bnoexpall \
|
||||
@@ -94,7 +90,7 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
|
||||
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
||||
BASIC_LDFLAGS="-opt:ref"
|
||||
BASIC_LDFLAGS_JDK_ONLY="-incremental:no"
|
||||
BASIC_LDFLAGS_JVM_ONLY="-opt:noicf -subsystem:windows"
|
||||
BASIC_LDFLAGS_JVM_ONLY="-opt:icf,8 -subsystem:windows"
|
||||
LDFLAGS_LTO="-LTCG:INCREMENTAL"
|
||||
fi
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -95,13 +95,6 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_OPEN_OR_CUSTOM],
|
||||
|
||||
AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
|
||||
[
|
||||
# Should we build a JDK with/without sound ?
|
||||
UTIL_ARG_ENABLE(NAME: jsound, DEFAULT: true,
|
||||
RESULT: ENABLE_JSOUND,
|
||||
DESC: [build with sound support],
|
||||
CHECKING_MSG: [if we should build with sound support])
|
||||
AC_SUBST(ENABLE_JSOUND)
|
||||
|
||||
# Should we build a JDK without a graphical UI?
|
||||
UTIL_ARG_ENABLE(NAME: headless-only, DEFAULT: false,
|
||||
RESULT: ENABLE_HEADLESS_ONLY,
|
||||
@@ -109,20 +102,9 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
|
||||
CHECKING_MSG: [if we should build headless-only (no GUI)])
|
||||
AC_SUBST(ENABLE_HEADLESS_ONLY)
|
||||
|
||||
# Avoid headless-only on macOS and Windows, it is not supported there
|
||||
if test "x$ENABLE_HEADLESS_ONLY" = xtrue; then
|
||||
if test "x$OPENJDK_TARGET_OS" = xwindows || test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||
AC_MSG_ERROR([headless-only is not supported on macOS and Windows])
|
||||
fi
|
||||
fi
|
||||
|
||||
# should we linktime gc unused code sections in the JDK build ?
|
||||
if test "x$OPENJDK_TARGET_OS" = "xlinux"; then
|
||||
if test "x$OPENJDK_TARGET_CPU" = "xs390x" || test "x$OPENJDK_TARGET_CPU" = "xppc64le"; then
|
||||
LINKTIME_GC_DEFAULT=true
|
||||
else
|
||||
LINKTIME_GC_DEFAULT=false
|
||||
fi
|
||||
if test "x$OPENJDK_TARGET_OS" = "xlinux" && test "x$OPENJDK_TARGET_CPU" = xs390x; then
|
||||
LINKTIME_GC_DEFAULT=true
|
||||
else
|
||||
LINKTIME_GC_DEFAULT=false
|
||||
fi
|
||||
@@ -330,14 +312,6 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
|
||||
AC_SUBST(COPY_DEBUG_SYMBOLS)
|
||||
AC_SUBST(ZIP_EXTERNAL_DEBUG_SYMBOLS)
|
||||
|
||||
# Should we enable objcopy debuginfo compression ?
|
||||
UTIL_ARG_ENABLE(NAME: objcopy-debuginfo-compression, DEFAULT: false,
|
||||
RESULT: ENABLE_OBJCOPY_DEBUGINFO_COMPRESSION,
|
||||
DESC: [Set to enable compression in the debuginfo files (Linux only)],
|
||||
CHECKING_MSG: [if debuginfo compression with objcopy is done],
|
||||
IF_ENABLED: [ OBJCOPY_COMPRESS_FLAGS="--compress-debug-sections=zlib-gnu" ])
|
||||
AC_SUBST(OBJCOPY_COMPRESS_FLAGS)
|
||||
|
||||
# Should we add external native debug symbols to the shipped bundles?
|
||||
AC_MSG_CHECKING([if we should add external native debug symbols to the shipped bundles])
|
||||
AC_ARG_WITH([external-symbols-in-bundles],
|
||||
@@ -793,13 +767,14 @@ AC_DEFUN([JDKOPT_ENABLE_DISABLE_CDS_ARCHIVE],
|
||||
#
|
||||
# Enable or disable the default CDS archive generation for Compact Object Headers
|
||||
#
|
||||
AC_DEFUN([JDKOPT_ENABLE_DISABLE_CDS_ARCHIVE_NOCOH],
|
||||
AC_DEFUN([JDKOPT_ENABLE_DISABLE_CDS_ARCHIVE_COH],
|
||||
[
|
||||
UTIL_ARG_ENABLE(NAME: cds-archive-nocoh, DEFAULT: auto, RESULT: BUILD_CDS_ARCHIVE_NOCOH,
|
||||
DESC: [enable generation of default CDS archives for no compact object headers (requires --enable-cds-archive)],
|
||||
CHECKING_MSG: [if default CDS archives for no compact object headers should be generated],
|
||||
UTIL_ARG_ENABLE(NAME: cds-archive-coh, DEFAULT: auto, RESULT: BUILD_CDS_ARCHIVE_COH,
|
||||
DESC: [enable generation of default CDS archives for compact object headers (requires --enable-cds-archive)],
|
||||
DEFAULT_DESC: [auto],
|
||||
CHECKING_MSG: [if default CDS archives for compact object headers should be generated],
|
||||
CHECK_AVAILABLE: [
|
||||
AC_MSG_CHECKING([if CDS archive with no compact object headers is available])
|
||||
AC_MSG_CHECKING([if CDS archive with compact object headers is available])
|
||||
if test "x$BUILD_CDS_ARCHIVE" = "xfalse"; then
|
||||
AC_MSG_RESULT([no (CDS default archive generation is disabled)])
|
||||
AVAILABLE=false
|
||||
@@ -816,23 +791,7 @@ AC_DEFUN([JDKOPT_ENABLE_DISABLE_CDS_ARCHIVE_NOCOH],
|
||||
AVAILABLE=true
|
||||
fi
|
||||
])
|
||||
AC_SUBST(BUILD_CDS_ARCHIVE_NOCOH)
|
||||
])
|
||||
|
||||
AC_DEFUN([JDKOPT_ENABLE_DISABLE_CDS_ARCHIVE_NOCOOPS],
|
||||
[
|
||||
UTIL_ARG_ENABLE(NAME: cds-archive-nocoops, DEFAULT: true, RESULT: BUILD_CDS_ARCHIVE_NOCOOPS,
|
||||
DESC: [enable generation of no compressed oops CDS archives (requires --enable-cds-archive)],
|
||||
CHECKING_MSG: [if default CDS archives for no compressed oops should be generated])
|
||||
AC_SUBST(BUILD_CDS_ARCHIVE_NOCOOPS)
|
||||
])
|
||||
|
||||
AC_DEFUN([JDKOPT_ENABLE_DISABLE_CDS_ARCHIVE_PREVIEW],
|
||||
[
|
||||
UTIL_ARG_ENABLE(NAME: cds-archive-preview, DEFAULT: true, RESULT: BUILD_CDS_ARCHIVE_PREVIEW,
|
||||
DESC: [enable generation of preview CDS archives (requires --enable-cds-archive)],
|
||||
CHECKING_MSG: [if default CDS archives for preview should be generated])
|
||||
AC_SUBST(BUILD_CDS_ARCHIVE_PREVIEW)
|
||||
AC_SUBST(BUILD_CDS_ARCHIVE_COH)
|
||||
])
|
||||
|
||||
################################################################################
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -45,7 +45,7 @@ m4_define(jvm_features_valid, m4_normalize( \
|
||||
ifdef([custom_jvm_features_valid], custom_jvm_features_valid) \
|
||||
\
|
||||
cds compiler1 compiler2 dtrace epsilongc g1gc jfr jni-check \
|
||||
jvmti link-time-opt management minimal opt-size parallelgc \
|
||||
jvmci jvmti link-time-opt management minimal opt-size parallelgc \
|
||||
serialgc services shenandoahgc vm-structs zero zgc \
|
||||
))
|
||||
|
||||
@@ -62,6 +62,7 @@ m4_define(jvm_feature_desc_epsilongc, [include the epsilon (no-op) garbage colle
|
||||
m4_define(jvm_feature_desc_g1gc, [include the G1 garbage collector])
|
||||
m4_define(jvm_feature_desc_jfr, [enable JDK Flight Recorder (JFR)])
|
||||
m4_define(jvm_feature_desc_jni_check, [enable -Xcheck:jni support])
|
||||
m4_define(jvm_feature_desc_jvmci, [enable JVM Compiler Interface (JVMCI)])
|
||||
m4_define(jvm_feature_desc_jvmti, [enable Java Virtual Machine Tool Interface (JVM TI)])
|
||||
m4_define(jvm_feature_desc_link_time_opt, [enable link time optimization])
|
||||
m4_define(jvm_feature_desc_management, [enable java.lang.management API support])
|
||||
@@ -268,6 +269,26 @@ AC_DEFUN_ONCE([JVM_FEATURES_CHECK_DTRACE],
|
||||
])
|
||||
])
|
||||
|
||||
################################################################################
|
||||
# Check if the feature 'jvmci' is available on this platform.
|
||||
#
|
||||
AC_DEFUN_ONCE([JVM_FEATURES_CHECK_JVMCI],
|
||||
[
|
||||
JVM_FEATURES_CHECK_AVAILABILITY(jvmci, [
|
||||
AC_MSG_CHECKING([if platform is supported by JVMCI])
|
||||
if test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
elif test "x$OPENJDK_TARGET_CPU" = "xaarch64"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
elif test "x$OPENJDK_TARGET_CPU" = "xriscv64"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no, $OPENJDK_TARGET_CPU])
|
||||
AVAILABLE=false
|
||||
fi
|
||||
])
|
||||
])
|
||||
|
||||
################################################################################
|
||||
# Check if the feature 'shenandoahgc' is available on this platform.
|
||||
#
|
||||
@@ -355,6 +376,7 @@ AC_DEFUN_ONCE([JVM_FEATURES_PREPARE_PLATFORM],
|
||||
|
||||
JVM_FEATURES_CHECK_CDS
|
||||
JVM_FEATURES_CHECK_DTRACE
|
||||
JVM_FEATURES_CHECK_JVMCI
|
||||
JVM_FEATURES_CHECK_SHENANDOAHGC
|
||||
JVM_FEATURES_CHECK_ZGC
|
||||
|
||||
@@ -379,17 +401,17 @@ AC_DEFUN([JVM_FEATURES_PREPARE_VARIANT],
|
||||
JVM_FEATURES_VARIANT_UNAVAILABLE="cds minimal zero"
|
||||
elif test "x$variant" = "xzero"; then
|
||||
JVM_FEATURES_VARIANT_UNAVAILABLE="compiler1 compiler2 \
|
||||
minimal zgc"
|
||||
jvmci minimal zgc"
|
||||
else
|
||||
JVM_FEATURES_VARIANT_UNAVAILABLE="minimal zero"
|
||||
fi
|
||||
|
||||
# Check which features should be off by default for this JVM variant.
|
||||
if test "x$variant" = "xclient"; then
|
||||
JVM_FEATURES_VARIANT_FILTER="compiler2 link-time-opt opt-size"
|
||||
JVM_FEATURES_VARIANT_FILTER="compiler2 jvmci link-time-opt opt-size"
|
||||
elif test "x$variant" = "xminimal"; then
|
||||
JVM_FEATURES_VARIANT_FILTER="cds compiler2 dtrace epsilongc g1gc \
|
||||
jfr jni-check jvmti management parallelgc services \
|
||||
jfr jni-check jvmci jvmti management parallelgc services \
|
||||
shenandoahgc vm-structs zgc"
|
||||
if test "x$OPENJDK_TARGET_CPU" = xarm ; then
|
||||
JVM_FEATURES_VARIANT_FILTER="$JVM_FEATURES_VARIANT_FILTER opt-size"
|
||||
@@ -399,7 +421,7 @@ AC_DEFUN([JVM_FEATURES_PREPARE_VARIANT],
|
||||
link-time-opt"
|
||||
fi
|
||||
elif test "x$variant" = "xcore"; then
|
||||
JVM_FEATURES_VARIANT_FILTER="compiler1 compiler2 \
|
||||
JVM_FEATURES_VARIANT_FILTER="compiler1 compiler2 jvmci \
|
||||
link-time-opt opt-size"
|
||||
elif test "x$variant" = "xzero"; then
|
||||
JVM_FEATURES_VARIANT_FILTER="jfr link-time-opt opt-size"
|
||||
@@ -495,6 +517,11 @@ AC_DEFUN([JVM_FEATURES_VERIFY],
|
||||
AC_MSG_ERROR([Specified JVM feature 'jfr' requires feature 'services' for variant '$variant'])
|
||||
fi
|
||||
|
||||
if JVM_FEATURES_IS_ACTIVE(jvmci) && ! (JVM_FEATURES_IS_ACTIVE(compiler1) || \
|
||||
JVM_FEATURES_IS_ACTIVE(compiler2)); then
|
||||
AC_MSG_ERROR([Specified JVM feature 'jvmci' requires feature 'compiler2' or 'compiler1' for variant '$variant'])
|
||||
fi
|
||||
|
||||
if JVM_FEATURES_IS_ACTIVE(jvmti) && ! JVM_FEATURES_IS_ACTIVE(services); then
|
||||
AC_MSG_ERROR([Specified JVM feature 'jvmti' requires feature 'services' for variant '$variant'])
|
||||
fi
|
||||
@@ -504,6 +531,9 @@ AC_DEFUN([JVM_FEATURES_VERIFY],
|
||||
if ! JVM_FEATURES_IS_ACTIVE(cds); then
|
||||
ENABLE_CDS="false"
|
||||
fi
|
||||
if ! JVM_FEATURES_IS_ACTIVE(jvmci); then
|
||||
INCLUDE_JVMCI="false"
|
||||
fi
|
||||
if JVM_FEATURES_IS_ACTIVE(compiler2); then
|
||||
INCLUDE_COMPILER2="true"
|
||||
fi
|
||||
@@ -529,6 +559,7 @@ AC_DEFUN_ONCE([JVM_FEATURES_SETUP],
|
||||
# and disable them in JVM_FEATURES_VERIFY if a variant is found that are
|
||||
# missing any of them.
|
||||
ENABLE_CDS="true"
|
||||
INCLUDE_JVMCI="true"
|
||||
INCLUDE_COMPILER2="false"
|
||||
|
||||
for variant in $JVM_VARIANTS; do
|
||||
@@ -568,6 +599,7 @@ AC_DEFUN_ONCE([JVM_FEATURES_SETUP],
|
||||
AC_SUBST(JVM_FEATURES_zero)
|
||||
AC_SUBST(JVM_FEATURES_custom)
|
||||
|
||||
AC_SUBST(INCLUDE_JVMCI)
|
||||
AC_SUBST(INCLUDE_COMPILER2)
|
||||
|
||||
])
|
||||
|
||||
@@ -267,8 +267,8 @@ AC_DEFUN_ONCE([LIB_SETUP_ZLIB],
|
||||
LIBZ_LIBS=""
|
||||
if test "x$USE_EXTERNAL_LIBZ" = "xfalse"; then
|
||||
LIBZ_CFLAGS="$LIBZ_CFLAGS -I$TOPDIR/src/java.base/share/native/libzip/zlib"
|
||||
if test "x$OPENJDK_TARGET_OS" = xmacosx -o "x$OPENJDK_TARGET_OS" = xaix -o "x$OPENJDK_TARGET_OS" = xlinux; then
|
||||
LIBZ_CFLAGS="$LIBZ_CFLAGS -DHAVE_UNISTD_H=1 -DHAVE_STDARG_H=1"
|
||||
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||
LIBZ_CFLAGS="$LIBZ_CFLAGS -DHAVE_UNISTD_H"
|
||||
fi
|
||||
else
|
||||
LIBZ_LIBS="-lz"
|
||||
|
||||
@@ -417,9 +417,4 @@ AC_DEFUN_ONCE([LIB_SETUP_HSDIS],
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
AC_SUBST(ENABLE_HSDIS_BUNDLING)
|
||||
|
||||
UTIL_ARG_WITH(NAME: print-assembly-options, TYPE: string,
|
||||
DEFAULT: [], RESULT: DEFAULT_PRINT_ASSEMBLY_OPTIONS,
|
||||
DESC: [default value for the PrintAssemblyOptions diagnostic flag, passed verbatim to the disassembler])
|
||||
AC_SUBST(DEFAULT_PRINT_ASSEMBLY_OPTIONS)
|
||||
])
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
################################################################################
|
||||
|
||||
# Minimum supported versions
|
||||
JTREG_MINIMUM_VERSION=8.3
|
||||
JTREG_MINIMUM_VERSION=8.2.1
|
||||
GTEST_MINIMUM_VERSION=1.14.0
|
||||
|
||||
################################################################################
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -149,7 +149,7 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
|
||||
if test "x$OPENJDK_TARGET_OS" = xwindows; then
|
||||
BASIC_JVM_LIBS="$BASIC_JVM_LIBS kernel32.lib user32.lib gdi32.lib winspool.lib \
|
||||
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib powrprof.lib uuid.lib \
|
||||
ws2_32.lib winmm.lib version.lib"
|
||||
ws2_32.lib winmm.lib version.lib psapi.lib"
|
||||
fi
|
||||
LIB_SETUP_JVM_LIBS(BUILD)
|
||||
LIB_SETUP_JVM_LIBS(TARGET)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -174,6 +174,18 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU],
|
||||
VAR_CPU_BITS=64
|
||||
VAR_CPU_ENDIAN=big
|
||||
;;
|
||||
sparc)
|
||||
VAR_CPU=sparc
|
||||
VAR_CPU_ARCH=sparc
|
||||
VAR_CPU_BITS=32
|
||||
VAR_CPU_ENDIAN=big
|
||||
;;
|
||||
sparcv9|sparc64)
|
||||
VAR_CPU=sparcv9
|
||||
VAR_CPU_ARCH=sparc
|
||||
VAR_CPU_BITS=64
|
||||
VAR_CPU_ENDIAN=big
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR([unsupported cpu $1])
|
||||
;;
|
||||
@@ -299,12 +311,6 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
|
||||
else
|
||||
OPENJDK_BUILD_OS_ENV="$VAR_OS"
|
||||
fi
|
||||
# Special handling for MSYS2 that reports a Cygwin triplet as the default host triplet.
|
||||
case `uname` in
|
||||
MSYS*)
|
||||
OPENJDK_BUILD_OS_ENV=windows.msys2
|
||||
;;
|
||||
esac
|
||||
OPENJDK_BUILD_CPU="$VAR_CPU"
|
||||
OPENJDK_BUILD_CPU_ARCH="$VAR_CPU_ARCH"
|
||||
OPENJDK_BUILD_CPU_BITS="$VAR_CPU_BITS"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -329,8 +329,6 @@ HOTSPOT_OVERRIDE_LIBPATH := @HOTSPOT_OVERRIDE_LIBPATH@
|
||||
# Control use of precompiled header in hotspot libjvm build
|
||||
USE_PRECOMPILED_HEADER := @USE_PRECOMPILED_HEADER@
|
||||
|
||||
ENABLE_JSOUND := @ENABLE_JSOUND@
|
||||
|
||||
# Only build headless support or not
|
||||
ENABLE_HEADLESS_ONLY := @ENABLE_HEADLESS_ONLY@
|
||||
|
||||
@@ -371,9 +369,7 @@ ENABLE_GENERATE_CLASSLIST := @ENABLE_GENERATE_CLASSLIST@
|
||||
EXCLUDE_TRANSLATIONS := @EXCLUDE_TRANSLATIONS@
|
||||
|
||||
BUILD_CDS_ARCHIVE := @BUILD_CDS_ARCHIVE@
|
||||
BUILD_CDS_ARCHIVE_NOCOH := @BUILD_CDS_ARCHIVE_NOCOH@
|
||||
BUILD_CDS_ARCHIVE_NOCOOPS := @BUILD_CDS_ARCHIVE_NOCOOPS@
|
||||
BUILD_CDS_ARCHIVE_PREVIEW := @BUILD_CDS_ARCHIVE_PREVIEW@
|
||||
BUILD_CDS_ARCHIVE_COH := @BUILD_CDS_ARCHIVE_COH@
|
||||
|
||||
ENABLE_COMPATIBLE_CDS_ALIGNMENT := @ENABLE_COMPATIBLE_CDS_ALIGNMENT@
|
||||
|
||||
@@ -385,7 +381,6 @@ HSDIS_CFLAGS := @HSDIS_CFLAGS@
|
||||
HSDIS_LDFLAGS := @HSDIS_LDFLAGS@
|
||||
HSDIS_LIBS := @HSDIS_LIBS@
|
||||
CAPSTONE_ARCH_AARCH64_NAME := @CAPSTONE_ARCH_AARCH64_NAME@
|
||||
DEFAULT_PRINT_ASSEMBLY_OPTIONS := @DEFAULT_PRINT_ASSEMBLY_OPTIONS@
|
||||
|
||||
# The boot jdk to use. This is overridden in bootcycle-spec.gmk. Make sure to keep
|
||||
# it in sync.
|
||||
@@ -534,7 +529,6 @@ CFLAGS_WARNINGS_ARE_ERRORS := @CFLAGS_WARNINGS_ARE_ERRORS@
|
||||
DISABLED_WARNINGS := @DISABLED_WARNINGS@
|
||||
DISABLED_WARNINGS_C := @DISABLED_WARNINGS_C@
|
||||
DISABLED_WARNINGS_CXX := @DISABLED_WARNINGS_CXX@
|
||||
CFLAGS_CONVERSION_WARNINGS := @CFLAGS_CONVERSION_WARNINGS@
|
||||
|
||||
# A global flag (true or false) determining if native warnings are considered errors.
|
||||
WARNINGS_AS_ERRORS := @WARNINGS_AS_ERRORS@
|
||||
@@ -639,7 +633,6 @@ METALLIB := @METALLIB@
|
||||
COMPILE_WITH_DEBUG_SYMBOLS := @COMPILE_WITH_DEBUG_SYMBOLS@
|
||||
COPY_DEBUG_SYMBOLS := @COPY_DEBUG_SYMBOLS@
|
||||
ZIP_EXTERNAL_DEBUG_SYMBOLS := @ZIP_EXTERNAL_DEBUG_SYMBOLS@
|
||||
OBJCOPY_COMPRESS_FLAGS := @OBJCOPY_COMPRESS_FLAGS@
|
||||
|
||||
CFLAGS_DEBUG_SYMBOLS := @CFLAGS_DEBUG_SYMBOLS@
|
||||
ASFLAGS_DEBUG_SYMBOLS := @ASFLAGS_DEBUG_SYMBOLS@
|
||||
@@ -848,6 +841,7 @@ PNG_CFLAGS := @PNG_CFLAGS@
|
||||
|
||||
# Misc
|
||||
INCLUDE_SA := @INCLUDE_SA@
|
||||
INCLUDE_JVMCI := @INCLUDE_JVMCI@
|
||||
INCLUDE_COMPILER2 := @INCLUDE_COMPILER2@
|
||||
|
||||
OS_VERSION_MAJOR := @OS_VERSION_MAJOR@
|
||||
@@ -895,6 +889,14 @@ DOCS_OUTPUTDIR := $(DOCS_JDK_IMAGE_DIR)
|
||||
STATIC_LIBS_IMAGE_SUBDIR := static-libs
|
||||
STATIC_LIBS_IMAGE_DIR := $(IMAGES_OUTPUTDIR)/$(STATIC_LIBS_IMAGE_SUBDIR)
|
||||
|
||||
# Graal static libs image
|
||||
STATIC_LIBS_GRAAL_IMAGE_SUBDIR := static-libs-graal
|
||||
STATIC_LIBS_GRAAL_IMAGE_DIR := $(IMAGES_OUTPUTDIR)/$(STATIC_LIBS_GRAAL_IMAGE_SUBDIR)
|
||||
|
||||
# Graal builder image
|
||||
GRAAL_BUILDER_IMAGE_SUBDIR := graal-builder-jdk
|
||||
GRAAL_BUILDER_IMAGE_DIR := $(IMAGES_OUTPUTDIR)/$(GRAAL_BUILDER_IMAGE_SUBDIR)
|
||||
|
||||
# Macosx bundles directory definitions
|
||||
JDK_MACOSX_BUNDLE_SUBDIR := jdk-bundle
|
||||
JRE_MACOSX_BUNDLE_SUBDIR := jre-bundle
|
||||
@@ -939,6 +941,7 @@ DOCS_JDK_BUNDLE_NAME := jdk-$(BASE_NAME)_doc-api-spec$(DEBUG_PART).tar.gz
|
||||
DOCS_JAVASE_BUNDLE_NAME := javase-$(BASE_NAME)_doc-api-spec$(DEBUG_PART).tar.gz
|
||||
DOCS_REFERENCE_BUNDLE_NAME := jdk-reference-$(BASE_NAME)_doc-api-spec$(DEBUG_PART).tar.gz
|
||||
STATIC_LIBS_BUNDLE_NAME := jdk-$(BASE_NAME)_bin-static-libs$(DEBUG_PART).tar.gz
|
||||
STATIC_LIBS_GRAAL_BUNDLE_NAME := jdk-$(BASE_NAME)_bin-static-libs-graal$(DEBUG_PART).tar.gz
|
||||
STATIC_JDK_BUNDLE_NAME := static-jdk-$(BASE_NAME)_bin$(DEBUG_PART).$(JDK_BUNDLE_EXTENSION)
|
||||
JCOV_BUNDLE_NAME := jdk-jcov-$(BASE_NAME)_bin$(DEBUG_PART).$(JDK_BUNDLE_EXTENSION)
|
||||
|
||||
|
||||
@@ -692,8 +692,6 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_EXTRA],
|
||||
AC_MSG_NOTICE([A full XCode is required to build the JDK (not only command line tools)])
|
||||
AC_MSG_NOTICE([If you have XCode installed, you might need to reset the Xcode active developer directory])
|
||||
AC_MSG_NOTICE([using 'sudo xcode-select -r'])
|
||||
AC_MSG_NOTICE([Starting with Xcode 26, the Metal toolchain is no longer bundled with Xcode.])
|
||||
AC_MSG_NOTICE([Try installing it with 'xcodebuild -downloadComponent MetalToolchain'])
|
||||
AC_MSG_ERROR([XCode tool 'metal' neither found in path nor with xcrun])
|
||||
else
|
||||
AC_MSG_RESULT([yes, will be using '$METAL'])
|
||||
|
||||
@@ -217,12 +217,10 @@ AC_DEFUN([TOOLCHAIN_FIND_VISUAL_STUDIO_BAT_FILE],
|
||||
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([$TARGET_CPU], [$VS_VERSION],
|
||||
[$PROGRAMFILES_X86/$VS_INSTALL_DIR], [well-known name])
|
||||
fi
|
||||
# Derive system drive root from CMD (which is at <drive>/windows/system32/cmd.exe)
|
||||
WINSYSDRIVE_ROOT="$(dirname "$(dirname "$(dirname "$CMD")")")"
|
||||
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([$TARGET_CPU], [$VS_VERSION],
|
||||
[$WINSYSDRIVE_ROOT/program files/$VS_INSTALL_DIR], [well-known name])
|
||||
[c:/program files/$VS_INSTALL_DIR], [well-known name])
|
||||
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([$TARGET_CPU], [$VS_VERSION],
|
||||
[$WINSYSDRIVE_ROOT/program files (x86)/$VS_INSTALL_DIR], [well-known name])
|
||||
[c:/program files (x86)/$VS_INSTALL_DIR], [well-known name])
|
||||
if test "x$SDK_INSTALL_DIR" != x; then
|
||||
if test "x$ProgramW6432" != x; then
|
||||
TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT([$TARGET_CPU], [$VS_VERSION],
|
||||
@@ -237,9 +235,9 @@ AC_DEFUN([TOOLCHAIN_FIND_VISUAL_STUDIO_BAT_FILE],
|
||||
[$PROGRAMFILES/$SDK_INSTALL_DIR], [well-known name])
|
||||
fi
|
||||
TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT([$TARGET_CPU], [$VS_VERSION],
|
||||
[$WINSYSDRIVE_ROOT/program files/$SDK_INSTALL_DIR], [well-known name])
|
||||
[c:/program files/$SDK_INSTALL_DIR], [well-known name])
|
||||
TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT([$TARGET_CPU], [$VS_VERSION],
|
||||
[$WINSYSDRIVE_ROOT/program files (x86)/$SDK_INSTALL_DIR], [well-known name])
|
||||
[c:/program files (x86)/$SDK_INSTALL_DIR], [well-known name])
|
||||
fi
|
||||
|
||||
VCVARS_VER=auto
|
||||
@@ -340,7 +338,7 @@ AC_DEFUN([TOOLCHAIN_EXTRACT_VISUAL_STUDIO_ENV],
|
||||
OLDPATH="$PATH"
|
||||
# Make sure we only capture additions to PATH needed by VS.
|
||||
# Clear out path, but need system dir present for vsvars cmd file to be able to run
|
||||
export PATH="$(dirname "$CMD")"
|
||||
export PATH=$WINENV_PREFIX/c/windows/system32
|
||||
# The "| cat" is to stop SetEnv.Cmd to mess with system colors on some systems
|
||||
# We can't pass -vcvars_ver=$VCVARS_VER here because cmd.exe eats all '='
|
||||
# in bat file arguments. :-(
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -141,66 +141,6 @@ endef
|
||||
# Make sure logging is setup for everyone that includes MakeBase.gmk.
|
||||
$(eval $(call SetupLogging))
|
||||
|
||||
################################################################################
|
||||
# Make does not have support for VARARGS, you can send variable amount
|
||||
# of arguments, but you can for example not append a list at the end.
|
||||
# It is therefore not easy to send the elements of a list of unknown
|
||||
# length as argument to a function. This can somewhat be worked around
|
||||
# by sending a list as an argument, and then interpreting each element
|
||||
# of the list as an argument to the function. However, Make is
|
||||
# limited, and using this method you can not easily send spaces.
|
||||
#
|
||||
# We need to quote strings for two reasons when sending them as
|
||||
# "variable append packs":
|
||||
#
|
||||
# 1) variable appends can include spaces, and those must be preserved
|
||||
# 2) variable appends can include assignment strings ":=", and those
|
||||
# must be quoted to a form so that we can recognise the "append pack".
|
||||
# We recognise an "append pack" by its lack of strict assignment ":="
|
||||
|
||||
Q := $(HASH)
|
||||
SpaceQ := $(Q)s
|
||||
AppendQ := $(Q)+
|
||||
AssignQ := $(Q)a
|
||||
QQ := $(Q)$(Q)
|
||||
|
||||
# $(call Quote,echo "#trala:=") -> echo#s"##trala#a"
|
||||
Quote = $(subst :=,$(AssignQ),$(subst $(SPACE),$(SpaceQ),$(subst $(Q),$(QQ),$1)))
|
||||
|
||||
# $(call Unquote,echo#s"##trala#a") -> echo "#trala:="
|
||||
Unquote = $(subst $(QQ),$(Q),$(subst $(SpaceQ),$(SPACE),$(subst $(AssignQ),:=,$1)))
|
||||
|
||||
# $(call QuoteAppend,name,some value) -> name#+some#svalue
|
||||
# $(call QuoteAppend,bad+=name,some value) -> error
|
||||
QuoteAppend = $(if $(findstring +=,$1),$(error you can not have += in a variable name: "$1"),$(call Quote,$1)$(AppendQ)$(call Quote,$2))
|
||||
|
||||
# $(call UnquoteAppendIndex,name#+some#svalue,1) -> name
|
||||
# $(call UnquoteAppendIndex,name#+some#svalue,2) -> some value
|
||||
UnquoteAppendIndex = $(call Unquote,$(word $2,$(subst $(AppendQ),$(SPACE),$1)))
|
||||
|
||||
# $(call FilterFiles,dir,%.cpp) -> file1.cpp file2.cpp (without path)
|
||||
FilterFiles = $(filter $2,$(notdir $(call FindFiles,$1)))
|
||||
|
||||
# $(call Unpack module_,file1.cpp_CXXFLAGS#+-Wconversion file2.cpp_CXXFLAGS#+-Wconversion) -> module_file1.cpp_CXXFLAGS += -Wconversion
|
||||
# module_file2.cpp_CXXFLAGS += -Wconversion
|
||||
Unpack = $(foreach pair,$2,$1$(call UnquoteAppendIndex,$(pair),1) += $(call UnquoteAppendIndex,$(pair),2)$(NEWLINE))
|
||||
|
||||
# This macro takes four arguments:
|
||||
# $1: directory where to find files (striped), example: $(TOPDIR)/src/hotspot/share/gc/g1
|
||||
# $2: filter to match what to keep (striped), example: g1Concurrent%.cpp
|
||||
# $3: what flags to override (striped), example: _CXXFLAGS
|
||||
# $4: what value to append to the flag (striped), example: $(CFLAGS_CONVERSION_WARNINGS)
|
||||
#
|
||||
# The result will be a quoted string that can be unpacked to a list of
|
||||
# variable appendings (see macro Unpack above). You do not need to take
|
||||
# care of unpacking, it is done in NamedParamsMacroTemplate.
|
||||
#
|
||||
# This feature should only be used for warnings that we want to
|
||||
# incrementally add to the rest of the code base.
|
||||
#
|
||||
# $(call ExtendFlags,dir,%.cpp,_CXXFLAGS,-Wconversion) -> file1.cpp_CXXFLAGS#+-Wconversion file2.cpp_CXXFLAGS#+-Wconversion
|
||||
ExtendFlags = $(foreach file,$(call FilterFiles,$(strip $1),$(strip $2)),$(call QuoteAppend,$(file)$(strip $3),$(strip $4)))
|
||||
|
||||
################################################################################
|
||||
|
||||
MAX_PARAMS := 96
|
||||
@@ -226,10 +166,7 @@ define NamedParamsMacroTemplate
|
||||
Too many named arguments to macro, please update MAX_PARAMS in MakeBase.gmk))
|
||||
# Iterate over 2 3 4... and evaluate the named parameters with $1_ as prefix
|
||||
$(foreach i, $(PARAM_SEQUENCE), $(if $(strip $($i)), \
|
||||
$(if $(findstring :=,$($i)), \
|
||||
$(strip $1)_$(strip $(call EscapeHash, $(call DoubleDollar, $($i))))$(NEWLINE), \
|
||||
$(call Unpack,$(strip $1)_,$($i)))))
|
||||
|
||||
$(strip $1)_$(strip $(call EscapeHash, $(call DoubleDollar, $($i))))$(NEWLINE)))
|
||||
# Debug print all named parameter names and values
|
||||
$(if $(findstring $(LOG_LEVEL), trace), \
|
||||
$(info $0 $(strip $1) $(foreach i, $(PARAM_SEQUENCE), \
|
||||
|
||||
+8
-21
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2014, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2014, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -54,6 +54,13 @@ ifeq ($(INCLUDE_SA), false)
|
||||
MODULES_FILTER += jdk.hotspot.agent
|
||||
endif
|
||||
|
||||
# Filter out jvmci specific modules if jvmci is disabled
|
||||
ifeq ($(INCLUDE_JVMCI), false)
|
||||
MODULES_FILTER += jdk.internal.vm.ci
|
||||
MODULES_FILTER += jdk.graal.compiler
|
||||
MODULES_FILTER += jdk.graal.compiler.management
|
||||
endif
|
||||
|
||||
# jpackage is only on windows, macosx, and linux
|
||||
ifeq ($(call isTargetOs, windows macosx linux), false)
|
||||
MODULES_FILTER += jdk.jpackage
|
||||
@@ -68,12 +75,6 @@ GENERATED_SRC_DIRS += \
|
||||
$(SUPPORT_OUTPUTDIR)/gensrc \
|
||||
#
|
||||
|
||||
# Directories in which generated preview classes may exist.
|
||||
# Currently this is restricted to generated value classes, but can be extended.
|
||||
GENERATED_PREVIEW_SUBDIRS += \
|
||||
$(SUPPORT_OUTPUTDIR)/gensrc-valueclasses \
|
||||
#
|
||||
|
||||
TOP_SRC_DIRS += \
|
||||
$(TOPDIR)/src \
|
||||
#
|
||||
@@ -143,13 +144,6 @@ FindModuleSrcDirs = \
|
||||
$(addsuffix /$(strip $1), $(GENERATED_SRC_DIRS) $(IMPORT_MODULES_SRC)) \
|
||||
$(foreach sub, $(SRC_SUBDIRS), $(addsuffix /$(strip $1)/$(sub), $(TOP_SRC_DIRS)))))
|
||||
|
||||
# Find preview class source dirs for a particular module.
|
||||
# Currently this is restricted to generated value classes, but can be extended.
|
||||
# $1 - Module to find source dirs for
|
||||
FindModulePreviewSrcDirs = \
|
||||
$(strip $(wildcard \
|
||||
$(addsuffix /$(strip $1), $(GENERATED_PREVIEW_SUBDIRS))))
|
||||
|
||||
# Find all specs dirs for a particular module
|
||||
# $1 - Module to find specs dirs for
|
||||
FindModuleSpecsDirs = \
|
||||
@@ -172,13 +166,6 @@ GetModuleSrcPath = \
|
||||
$(addsuffix /*, $(GENERATED_SRC_DIRS) $(IMPORT_MODULES_SRC)) \
|
||||
$(foreach sub, $(SRC_SUBDIRS), $(addsuffix /*/$(sub), $(TOP_SRC_DIRS))))
|
||||
|
||||
# Construct the complete module source path for preview classes.
|
||||
# Currently this is restricted to generated value classes, but can be extended.
|
||||
GetModulePreviewSrcPath = \
|
||||
$(call PathList, \
|
||||
$(addsuffix /*, $(GENERATED_PREVIEW_SUBDIRS) $(GENERATED_SRC_DIRS) $(IMPORT_MODULES_SRC)) \
|
||||
$(foreach sub, $(SRC_SUBDIRS), $(addsuffix /*/$(sub), $(TOP_SRC_DIRS))))
|
||||
|
||||
################################################################################
|
||||
# Extract module dependencies from module-info.java files, both normal
|
||||
# dependencies ("requires"), and indirect exports ("requires transitive").
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2025, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -33,12 +33,9 @@ ifeq ($(INCLUDE), true)
|
||||
include Execute.gmk
|
||||
include $(TOPDIR)/make/ToolsJdk.gmk
|
||||
|
||||
NON_BYTE_INTEGER_TYPES := char short int long
|
||||
NON_BYTE_NUMBER_TYPES := $(NON_BYTE_INTEGER_TYPES) float double
|
||||
NON_BYTE_NUMBER_TYPES := char short int long float double
|
||||
NUMBER_TYPES := byte $(NON_BYTE_NUMBER_TYPES)
|
||||
INTEGER_NUMBER_TYPES := byte $(NON_BYTE_INTEGER_TYPES)
|
||||
PRIMITIVE_TYPES := boolean $(NUMBER_TYPES)
|
||||
BITWISE_PRIMITIVE_TYPES := boolean $(INTEGER_NUMBER_TYPES)
|
||||
|
||||
################################################################################
|
||||
# The Conv function converts a type given as first argument (as a normal Java
|
||||
@@ -119,7 +116,7 @@ Conv_A = \
|
||||
|
||||
# Return integer type with same size as the type
|
||||
Conv_memtype = \
|
||||
$(if $(filter float, $1), int, $(if $(filter double, $1), long, $(if $(filter boolean, $1), byte, $1)))
|
||||
$(if $(filter float, $1), int, $(if $(filter double, $1), long, $1))
|
||||
|
||||
# Return capitalized integer type with same size as the type
|
||||
Conv_Memtype = \
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -35,17 +35,11 @@ include ProcessMarkdown.gmk
|
||||
include $(TOPDIR)/make/ToolsJdk.gmk
|
||||
|
||||
LAUNCHER_SRC := $(TOPDIR)/src/java.base/share/native/launcher
|
||||
|
||||
LAUNCHER_CFLAGS += -I$(TOPDIR)/src/java.base/share/native/launcher \
|
||||
-I$(TOPDIR)/src/java.base/share/native/libjli \
|
||||
-I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjli \
|
||||
-I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS)/native/libjli \
|
||||
#
|
||||
|
||||
ifeq ($(call isTargetOs, aix), true)
|
||||
LAUNCHER_CFLAGS += -I$(TOPDIR)/src/java.base/aix/native/include
|
||||
endif
|
||||
|
||||
MACOSX_PLIST_DIR := $(TOPDIR)/src/java.base/macosx/native/launcher
|
||||
JAVA_MANIFEST := $(TOPDIR)/src/java.base/windows/native/launcher/java.manifest
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -189,7 +189,7 @@ define CreateDynamicLibraryOrExecutable
|
||||
# This cannot be run separately since it updates the original target
|
||||
# file.
|
||||
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_create_debuginfo, \
|
||||
$$($1_OBJCOPY) $(OBJCOPY_COMPRESS_FLAGS) --only-keep-debug $$($1_TARGET) $$($1_DEBUGINFO_FILES))
|
||||
$$($1_OBJCOPY) --only-keep-debug $$($1_TARGET) $$($1_DEBUGINFO_FILES))
|
||||
$$(CHMOD) -x $$($1_DEBUGINFO_FILES)
|
||||
else ifeq ($(call isTargetOs, aix), true)
|
||||
# AIX does not provide the equivalent of objcopy to extract debug
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2014, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2014, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -45,4 +45,5 @@ LANGTOOLS_MODULES= \
|
||||
# These models require buildtools-hotspot to process for gensrc
|
||||
HOTSPOT_MODULES= \
|
||||
jdk.hotspot.agent \
|
||||
jdk.internal.vm.ci \
|
||||
#
|
||||
|
||||
@@ -26,32 +26,24 @@
|
||||
# Versions and download locations for dependencies used by GitHub Actions (GHA)
|
||||
|
||||
GTEST_VERSION=1.14.0
|
||||
JTREG_VERSION=8.3+1
|
||||
JTREG_VERSION=8.2.1+1
|
||||
|
||||
LINUX_X64_BOOT_JDK_EXT=tar.gz
|
||||
LINUX_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk26/c3cc523845074aa0af4f5e1e1ed4151d/35/GPL/openjdk-26_linux-x64_bin.tar.gz
|
||||
LINUX_X64_BOOT_JDK_SHA256=83c78367f8c81257beef72aca4bbbf8e6dac8ca2b3a4546a85879a09e6e4e128
|
||||
|
||||
LINUX_AARCH64_BOOT_JDK_EXT=tar.gz
|
||||
LINUX_AARCH64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk26/c3cc523845074aa0af4f5e1e1ed4151d/35/GPL/openjdk-26_linux-aarch64_bin.tar.gz
|
||||
LINUX_AARCH64_BOOT_JDK_SHA256=403ccf451e88d0be9e1dec129fcb9318de9752121e0eb92dfa9a8cf06f249007
|
||||
LINUX_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk25/bd75d5f9689641da8e1daabeccb5528b/36/GPL/openjdk-25_linux-x64_bin.tar.gz
|
||||
LINUX_X64_BOOT_JDK_SHA256=59cdcaf255add4721de38eb411d4ecfe779356b61fb671aee63c7dec78054c2b
|
||||
|
||||
ALPINE_LINUX_X64_BOOT_JDK_EXT=tar.gz
|
||||
ALPINE_LINUX_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin26-binaries/releases/download/jdk-26%2B35/OpenJDK26U-jdk_x64_alpine-linux_hotspot_26_35.tar.gz
|
||||
ALPINE_LINUX_X64_BOOT_JDK_SHA256=c105e581fdccb4e7120d889235d1ad8d5b2bed0af4972bc881e0a8ba687c94a4
|
||||
ALPINE_LINUX_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25%2B36/OpenJDK25U-jdk_x64_alpine-linux_hotspot_25_36.tar.gz
|
||||
ALPINE_LINUX_X64_BOOT_JDK_SHA256=637e47474d411ed86134f413af7d5fef4180ddb0bf556347b7e74a88cf8904c8
|
||||
|
||||
MACOS_AARCH64_BOOT_JDK_EXT=tar.gz
|
||||
MACOS_AARCH64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk26/c3cc523845074aa0af4f5e1e1ed4151d/35/GPL/openjdk-26_macos-aarch64_bin.tar.gz
|
||||
MACOS_AARCH64_BOOT_JDK_SHA256=254586bcd1bf6dcd125ad667ac32562cb1e2ab1abf3a61fb117b6fabb571e765
|
||||
MACOS_AARCH64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk25/bd75d5f9689641da8e1daabeccb5528b/36/GPL/openjdk-25_macos-aarch64_bin.tar.gz
|
||||
MACOS_AARCH64_BOOT_JDK_SHA256=2006337bf326fdfdf6117081751ba38c1c8706d63419ecac7ff102ff7c776876
|
||||
|
||||
MACOS_X64_BOOT_JDK_EXT=tar.gz
|
||||
MACOS_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk26/c3cc523845074aa0af4f5e1e1ed4151d/35/GPL/openjdk-26_macos-x64_bin.tar.gz
|
||||
MACOS_X64_BOOT_JDK_SHA256=8642b89d889c14ede2c446fd5bbe3621c8a3082e3df02013fd1658e39f52929a
|
||||
MACOS_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk25/bd75d5f9689641da8e1daabeccb5528b/36/GPL/openjdk-25_macos-x64_bin.tar.gz
|
||||
MACOS_X64_BOOT_JDK_SHA256=47482ad9888991ecac9b2bcc131e2b53ff78aff275104cef85f66252308e8a09
|
||||
|
||||
WINDOWS_X64_BOOT_JDK_EXT=zip
|
||||
WINDOWS_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk26/c3cc523845074aa0af4f5e1e1ed4151d/35/GPL/openjdk-26_windows-x64_bin.zip
|
||||
WINDOWS_X64_BOOT_JDK_SHA256=2dd2d92c9374cd49a120fe9d916732840bf6bb9f0e0cc29794917a3c08b99c5f
|
||||
|
||||
WINDOWS_AARCH64_BOOT_JDK_EXT=zip
|
||||
WINDOWS_AARCH64_BOOT_JDK_URL=https://github.com/adoptium/temurin26-binaries/releases/download/jdk-26%2B35-ea-beta/OpenJDK26U-jdk_aarch64_windows_hotspot_26_35-ea.zip
|
||||
WINDOWS_AARCH64_BOOT_JDK_SHA256=4892cd9714e222947de1a7415a696f43adf691560522dc5858c0a8af070912c0
|
||||
WINDOWS_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk25/bd75d5f9689641da8e1daabeccb5528b/36/GPL/openjdk-25_windows-x64_bin.zip
|
||||
WINDOWS_X64_BOOT_JDK_SHA256=85bcc178461e2cb3c549ab9ca9dfa73afd54c09a175d6510d0884071867137d3
|
||||
|
||||
@@ -387,8 +387,8 @@ var getJibProfilesCommon = function (input, data) {
|
||||
};
|
||||
};
|
||||
|
||||
common.boot_jdk_version = "26";
|
||||
common.boot_jdk_build_number = "35";
|
||||
common.boot_jdk_version = "25";
|
||||
common.boot_jdk_build_number = "37";
|
||||
common.boot_jdk_home = input.get("boot_jdk", "install_path") + "/jdk-"
|
||||
+ common.boot_jdk_version
|
||||
+ (input.build_os == "macosx" ? ".jdk/Contents/Home" : "");
|
||||
@@ -644,7 +644,7 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
// Bootcycle profiles runs the build with itself as the boot jdk. This can
|
||||
// be done in two ways. Either using the builtin bootcycle target in the
|
||||
// build system. Or by supplying the main jdk build as bootjdk to configure.
|
||||
[ "linux-x64", "macosx-aarch64", "macosx-x64", "windows-x64", "linux-aarch64" ]
|
||||
[ "linux-x64", "macosx-x64", "windows-x64", "linux-aarch64" ]
|
||||
.forEach(function (name) {
|
||||
var bootcycleName = name + "-bootcycle";
|
||||
var bootcyclePrebuiltName = name + "-bootcycle-prebuilt";
|
||||
@@ -1174,9 +1174,9 @@ var getJibProfilesDependencies = function (input, common) {
|
||||
jtreg: {
|
||||
server: "jpg",
|
||||
product: "jtreg",
|
||||
version: "8.3",
|
||||
version: "8.2.1",
|
||||
build_number: "1",
|
||||
file: "bundles/jtreg-8.3+1.zip",
|
||||
file: "bundles/jtreg-8.2.1+1.zip",
|
||||
environment_name: "JT_HOME",
|
||||
environment_path: input.get("jtreg", "home_path") + "/bin",
|
||||
configure_args: "--with-jtreg=" + input.get("jtreg", "home_path"),
|
||||
@@ -1192,8 +1192,8 @@ var getJibProfilesDependencies = function (input, common) {
|
||||
server: "jpg",
|
||||
product: "jcov",
|
||||
version: "3.0",
|
||||
build_number: "6",
|
||||
file: "bundles/jcov-3.0+6.zip",
|
||||
build_number: "5",
|
||||
file: "bundles/jcov-3.0+5.zip",
|
||||
environment_name: "JCOV_HOME",
|
||||
},
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2014, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2014, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -28,7 +28,7 @@
|
||||
# PLATFORM_MODULES are modules defined by the platform loader
|
||||
#
|
||||
# All other modules not declared below are defined by the application loader
|
||||
# and are not included in the JDK runtime image.
|
||||
# and are not included in JRE.
|
||||
|
||||
BOOT_MODULES= \
|
||||
java.base \
|
||||
@@ -44,6 +44,7 @@ BOOT_MODULES= \
|
||||
java.security.sasl \
|
||||
java.xml \
|
||||
jdk.incubator.vector \
|
||||
jdk.internal.vm.ci \
|
||||
jdk.jfr \
|
||||
jdk.management \
|
||||
jdk.management.jfr \
|
||||
@@ -52,12 +53,15 @@ BOOT_MODULES= \
|
||||
jdk.nio.mapmode \
|
||||
jdk.sctp \
|
||||
jdk.unsupported \
|
||||
jdk.naming.rmi \
|
||||
#
|
||||
|
||||
# Modules that directly or indirectly requiring upgradeable modules
|
||||
# should carefully be considered if it should be upgradeable or not.
|
||||
UPGRADEABLE_PLATFORM_MODULES= \
|
||||
java.compiler \
|
||||
jdk.graal.compiler \
|
||||
jdk.graal.compiler.management \
|
||||
#
|
||||
|
||||
PLATFORM_MODULES= \
|
||||
@@ -77,7 +81,6 @@ PLATFORM_MODULES= \
|
||||
jdk.httpserver \
|
||||
jdk.localedata \
|
||||
jdk.naming.dns \
|
||||
jdk.naming.rmi \
|
||||
jdk.security.auth \
|
||||
jdk.security.jgss \
|
||||
jdk.xml.dom \
|
||||
@@ -104,6 +107,7 @@ NATIVE_ACCESS_MODULES= \
|
||||
jdk.crypto.mscapi \
|
||||
jdk.hotspot.agent \
|
||||
jdk.internal.le \
|
||||
jdk.internal.vm.ci \
|
||||
jdk.jdi \
|
||||
jdk.jfr \
|
||||
jdk.jpackage \
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -26,17 +26,17 @@
|
||||
# Default version, product, and vendor information to use,
|
||||
# unless overridden by configure
|
||||
|
||||
DEFAULT_VERSION_FEATURE=28
|
||||
DEFAULT_VERSION_FEATURE=27
|
||||
DEFAULT_VERSION_INTERIM=0
|
||||
DEFAULT_VERSION_UPDATE=0
|
||||
DEFAULT_VERSION_PATCH=0
|
||||
DEFAULT_VERSION_EXTRA1=0
|
||||
DEFAULT_VERSION_EXTRA2=0
|
||||
DEFAULT_VERSION_EXTRA3=0
|
||||
DEFAULT_VERSION_DATE=2027-03-23
|
||||
DEFAULT_VERSION_CLASSFILE_MAJOR=72 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
|
||||
DEFAULT_VERSION_DATE=2026-09-15
|
||||
DEFAULT_VERSION_CLASSFILE_MAJOR=71 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
|
||||
DEFAULT_VERSION_CLASSFILE_MINOR=0
|
||||
DEFAULT_VERSION_DOCS_API_SINCE=11
|
||||
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="26 27 28"
|
||||
DEFAULT_JDK_SOURCE_TARGET_VERSION=28
|
||||
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="25 26 27"
|
||||
DEFAULT_JDK_SOURCE_TARGET_VERSION=27
|
||||
DEFAULT_PROMOTED_VERSION_PRE=ea
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 1991-2026 Unicode, Inc.
|
||||
Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
@@ -454,7 +454,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
|
||||
<!-- ######################################################### -->
|
||||
|
||||
<!ELEMENT characters ( alias | ( exemplarCharacters*, ellipsis*, nestedBracketReplacement*, moreInformation*, stopwords*, indexLabels*, mapping*, parseLenients*, special* ) ) >
|
||||
<!ELEMENT characters ( alias | ( exemplarCharacters*, ellipsis*, moreInformation*, stopwords*, indexLabels*, mapping*, parseLenients*, special* ) ) >
|
||||
<!ATTLIST characters draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
|
||||
<!--@METADATA-->
|
||||
<!--@DEPRECATED-->
|
||||
@@ -493,16 +493,6 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<!ATTLIST ellipsis references CDATA #IMPLIED >
|
||||
<!--@METADATA-->
|
||||
|
||||
<!ELEMENT nestedBracketReplacement ( #PCDATA ) >
|
||||
<!ATTLIST nestedBracketReplacement bracket CDATA #REQUIRED >
|
||||
<!--@MATCH:any-->
|
||||
<!ATTLIST nestedBracketReplacement alt NMTOKENS #IMPLIED >
|
||||
<!--@MATCH:literal/variant-->
|
||||
<!ATTLIST nestedBracketReplacement draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
|
||||
<!--@METADATA-->
|
||||
<!ATTLIST nestedBracketReplacement references CDATA #IMPLIED >
|
||||
<!--@METADATA-->
|
||||
|
||||
<!ELEMENT moreInformation ( #PCDATA ) >
|
||||
<!ATTLIST moreInformation alt NMTOKENS #IMPLIED >
|
||||
<!--@MATCH:literal/variant-->
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2026 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2026 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2026 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2026 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2026 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2026 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2026 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2026 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2026 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2026 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2026 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2026 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
@@ -583,7 +583,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<type key="collation" type="standard">Nyiyie Kwan Susudua</type>
|
||||
<type key="collation" type="standard" scope="core">Susudua</type>
|
||||
<type key="hc" type="h11">Nnɔnhwere 12 Sestɛm (0–11)</type>
|
||||
<type key="hc" type="h12">Nnɔnhwere 12 Sestɛm (1–12)</type>
|
||||
<type key="hc" type="h12">Nnɔnhwere 12 Sestɛm (1–12</type>
|
||||
<type key="hc" type="h23">Nnɔnhwere 24 Sestɛm (0–23)</type>
|
||||
<type key="hc" type="h24">Nnɔnhwere 24 Sestɛm (0–24)</type>
|
||||
<type key="lb" type="loose">Line Break Nhyehyɛeɛ a Emu Yɛ Mmrɛ</type>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2026 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2026 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
@@ -1261,7 +1261,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<dateFormatItem id="GyMMMd">MMM d፣ y G</dateFormatItem>
|
||||
<dateFormatItem id="GyMMMEd">E MMM d፣ y G</dateFormatItem>
|
||||
<dateFormatItem id="H">H</dateFormatItem>
|
||||
<dateFormatItem id="Hv">H v</dateFormatItem>
|
||||
<dateFormatItem id="Md">M/d</dateFormatItem>
|
||||
<dateFormatItem id="MEd">E፣ M/d</dateFormatItem>
|
||||
<dateFormatItem id="MMMEd">E፣ MMM d</dateFormatItem>
|
||||
@@ -1595,7 +1594,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<dateFormatItem id="hm">a h:mm</dateFormatItem>
|
||||
<dateFormatItem id="hms">a h:mm:ss</dateFormatItem>
|
||||
<dateFormatItem id="hv">a h v</dateFormatItem>
|
||||
<dateFormatItem id="Hv">H v</dateFormatItem>
|
||||
<dateFormatItem id="Md">d/M</dateFormatItem>
|
||||
<dateFormatItem id="MEd">E፣ d/M</dateFormatItem>
|
||||
<dateFormatItem id="MMMEd">E፣ MMM d</dateFormatItem>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2026 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2026 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2026 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2026 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2026 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2026 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2026 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2026 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2026 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2026 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2026 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2026 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2026 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2026 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user