Skip to content

Commit 9d77834

Browse files
committed
Merge branch 'master' of github.com:DataDog/openjdk-jdk
2 parents 18f8141 + 2a031b1 commit 9d77834

File tree

265 files changed

+6587
-6751
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

265 files changed

+6587
-6751
lines changed

.github/actions/get-msys2/action.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,15 @@ runs:
3030
using: composite
3131
steps:
3232
- name: 'Install MSYS2'
33-
uses: msys2/[email protected]
33+
id: msys2
34+
uses: msys2/[email protected]
3435
with:
3536
install: 'autoconf tar unzip zip make'
3637
path-type: minimal
37-
location: ${{ runner.tool_cache }}/msys2
38+
release: false
3839

3940
# We can't run bash until this is completed, so stick with pwsh
4041
- name: 'Set MSYS2 path'
4142
run: |
42-
# Prepend msys2/msys64/usr/bin to the PATH
43-
echo "$env:RUNNER_TOOL_CACHE/msys2/msys64/usr/bin" >> $env:GITHUB_PATH
43+
echo "${{ steps.msys2.outputs.msys2-location }}/usr/bin" >> $env:GITHUB_PATH
4444
shell: pwsh

bin/unshuffle_list.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2014, 2025, Oracle and/or its affiliates. All rights reserved.
33
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
#
55
# This code is free software; you can redistribute it and/or modify it
@@ -78,7 +78,6 @@ src/jdk.jdi : jdk/src/jdk.jdi
7878
src/jdk.jdwp.agent : jdk/src/jdk.jdwp.agent
7979
src/jdk.jlink : jdk/src/jdk.jlink
8080
src/jdk.jshell : langtools/src/jdk.jshell
81-
src/jdk.jsobject : jdk/src/jdk.jsobject
8281
src/jdk.jstatd : jdk/src/jdk.jstatd
8382
src/jdk.localedata : jdk/src/jdk.localedata
8483
src/jdk.management : jdk/src/jdk.management

make/autoconf/flags-cflags.m4

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -736,8 +736,15 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
736736
$1_CFLAGS_CPU_JVM="${$1_CFLAGS_CPU_JVM} -mminimal-toc"
737737
elif test "x$FLAGS_CPU" = xppc64le; then
738738
# Little endian machine uses ELFv2 ABI.
739-
# Use Power8, this is the first CPU to support PPC64 LE with ELFv2 ABI.
740-
$1_CFLAGS_CPU="-mcpu=power8 -mtune=power10"
739+
# Use Power8 for target cpu, this is the first CPU to support PPC64 LE with ELFv2 ABI.
740+
# Use Power10 for tuning target, this is supported by gcc >= 10
741+
POWER_TUNE_VERSION="-mtune=power10"
742+
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${POWER_TUNE_VERSION}],
743+
IF_FALSE: [
744+
POWER_TUNE_VERSION="-mtune=power8"
745+
]
746+
)
747+
$1_CFLAGS_CPU="-mcpu=power8 ${POWER_TUNE_VERSION}"
741748
$1_CFLAGS_CPU_JVM="${$1_CFLAGS_CPU_JVM} -DABI_ELFv2"
742749
fi
743750
elif test "x$FLAGS_CPU" = xs390x; then

make/conf/docs-modules.conf

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2014, 2023, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2014, 2025, Oracle and/or its affiliates. All rights reserved.
33
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
#
55
# This code is free software; you can redistribute it and/or modify it
@@ -51,7 +51,6 @@ DOCS_MODULES= \
5151
jdk.jdwp.agent \
5252
jdk.jfr \
5353
jdk.jlink \
54-
jdk.jsobject \
5554
jdk.jshell \
5655
jdk.jstatd \
5756
jdk.localedata \

make/conf/module-loader-map.conf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@ UPGRADEABLE_PLATFORM_MODULES= \
6262
java.compiler \
6363
jdk.graal.compiler \
6464
jdk.graal.compiler.management \
65-
jdk.jsobject \
6665
#
6766

6867
PLATFORM_MODULES= \

src/hotspot/cpu/aarch64/aarch64.ad

Lines changed: 27 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -2362,17 +2362,34 @@ int Matcher::max_vector_size(const BasicType bt) {
23622362
}
23632363

23642364
int Matcher::min_vector_size(const BasicType bt) {
2365-
int max_size = max_vector_size(bt);
2366-
// Limit the min vector size to 8 bytes.
2367-
int size = 8 / type2aelembytes(bt);
2368-
if (bt == T_BYTE) {
2369-
// To support vector api shuffle/rearrange.
2370-
size = 4;
2371-
} else if (bt == T_BOOLEAN) {
2372-
// To support vector api load/store mask.
2373-
size = 2;
2365+
// Usually, the shortest vector length supported by AArch64 ISA and
2366+
// Vector API species is 64 bits. However, we allow 32-bit or 16-bit
2367+
// vectors in a few special cases.
2368+
int size;
2369+
switch(bt) {
2370+
case T_BOOLEAN:
2371+
// Load/store a vector mask with only 2 elements for vector types
2372+
// such as "2I/2F/2L/2D".
2373+
size = 2;
2374+
break;
2375+
case T_BYTE:
2376+
// Generate a "4B" vector, to support vector cast between "8B/16B"
2377+
// and "4S/4I/4L/4F/4D".
2378+
size = 4;
2379+
break;
2380+
case T_SHORT:
2381+
// Generate a "2S" vector, to support vector cast between "4S/8S"
2382+
// and "2I/2L/2F/2D".
2383+
size = 2;
2384+
break;
2385+
default:
2386+
// Limit the min vector length to 64-bit.
2387+
size = 8 / type2aelembytes(bt);
2388+
// The number of elements in a vector should be at least 2.
2389+
size = MAX2(size, 2);
23742390
}
2375-
if (size < 2) size = 2;
2391+
2392+
int max_size = max_vector_size(bt);
23762393
return MIN2(size, max_size);
23772394
}
23782395

@@ -3450,10 +3467,6 @@ encode %{
34503467
__ mov(dst_reg, (uint64_t)1);
34513468
%}
34523469

3453-
enc_class aarch64_enc_mov_byte_map_base(iRegP dst, immByteMapBase src) %{
3454-
__ load_byte_map_base($dst$$Register);
3455-
%}
3456-
34573470
enc_class aarch64_enc_mov_n(iRegN dst, immN src) %{
34583471
Register dst_reg = as_Register($dst$$reg);
34593472
address con = (address)$src$$constant;
@@ -4554,20 +4567,6 @@ operand immP_1()
45544567
interface(CONST_INTER);
45554568
%}
45564569

4557-
// Card Table Byte Map Base
4558-
operand immByteMapBase()
4559-
%{
4560-
// Get base of card map
4561-
predicate(BarrierSet::barrier_set()->is_a(BarrierSet::CardTableBarrierSet) &&
4562-
SHENANDOAHGC_ONLY(!BarrierSet::barrier_set()->is_a(BarrierSet::ShenandoahBarrierSet) &&)
4563-
(CardTable::CardValue*)n->get_ptr() == ((CardTableBarrierSet*)(BarrierSet::barrier_set()))->card_table()->byte_map_base());
4564-
match(ConP);
4565-
4566-
op_cost(0);
4567-
format %{ %}
4568-
interface(CONST_INTER);
4569-
%}
4570-
45714570
// Float and Double operands
45724571
// Double Immediate
45734572
operand immD()
@@ -6854,20 +6853,6 @@ instruct loadConP1(iRegPNoSp dst, immP_1 con)
68546853
ins_pipe(ialu_imm);
68556854
%}
68566855

6857-
// Load Byte Map Base Constant
6858-
6859-
instruct loadByteMapBase(iRegPNoSp dst, immByteMapBase con)
6860-
%{
6861-
match(Set dst con);
6862-
6863-
ins_cost(INSN_COST);
6864-
format %{ "adr $dst, $con\t# Byte Map Base" %}
6865-
6866-
ins_encode(aarch64_enc_mov_byte_map_base(dst, con));
6867-
6868-
ins_pipe(ialu_imm);
6869-
%}
6870-
68716856
// Load Narrow Pointer Constant
68726857

68736858
instruct loadConN(iRegNNoSp dst, immN con)

0 commit comments

Comments
 (0)