Skip to content

Commit 83c5ced

Browse files
authored
Merge pull request #2010 from SAP/pr-jdk-26+5
Merge to tag jdk-26+5
2 parents 9b3b41f + 8d225a1 commit 83c5ced

File tree

392 files changed

+6506
-3842
lines changed

Some content is hidden

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

392 files changed

+6506
-3842
lines changed

make/data/asan/asan_default_options.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@ ATTRIBUTE_DEFAULT_VISIBILITY ATTRIBUTE_USED const char* CDECL __asan_default_opt
6767
#endif
6868
"print_suppressions=0,"
6969
"handle_segv=0,"
70+
// A lot of libjsig related tests fail because of the link order check; so better avoid it
71+
"verify_asan_link_order=0,"
7072
// See https://github.com/google/sanitizers/issues/1322. Hopefully this is resolved
7173
// at some point and we can remove this option.
7274
"intercept_tls_get_addr=0";

make/data/ubsan/ubsan_default_options.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,5 +62,8 @@
6262
// thread so it is easier to track down. You can override these options by setting the environment
6363
// variable UBSAN_OPTIONS.
6464
ATTRIBUTE_DEFAULT_VISIBILITY ATTRIBUTE_USED const char* __ubsan_default_options() {
65-
return "halt_on_error=1,print_stacktrace=1" _LLVM_SYMBOLIZER(LLVM_SYMBOLIZER);
65+
return "halt_on_error=1,"
66+
"handle_segv=0,"
67+
"handle_sigbus=0,"
68+
"print_stacktrace=1" _LLVM_SYMBOLIZER(LLVM_SYMBOLIZER);
6669
}

make/devkit/createWindowsDevkit.sh

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,30 @@ IS_WSL=`echo $UNAME_RELEASE | grep Microsoft`
6464
IS_MSYS=`echo $UNAME_OS | grep -i Msys`
6565
MSYS2_ARG_CONV_EXCL="*" # make "cmd.exe /c" work for msys2
6666
CMD_EXE="cmd.exe /c"
67+
68+
# Detect host architecture to determine devkit platform support
69+
# Note: The devkit always includes x86, x64, and aarch64 libraries and tools
70+
# The difference is in toolchain capabilities:
71+
# - On x64|AMD64 hosts: aarch64 tools are cross-compilation tools (Hostx64/arm64)
72+
# - On aarch64|ARMv8 hosts: aarch64 tools are native tools (Hostarm64/arm64)
73+
HOST_ARCH=`echo $PROCESSOR_IDENTIFIER`
74+
case $HOST_ARCH in
75+
AMD64)
76+
echo "Running on x64 host - generating devkit with native x86/x64 tools and cross-compiled aarch64 tools."
77+
echo "For native aarch64 compilation tools, run this script on a Windows/aarch64 machine."
78+
SUPPORTED_PLATFORMS="x86, x64 (native) and aarch64 (cross-compiled)"
79+
;;
80+
ARMv8)
81+
echo "Running on aarch64 host - generating devkit with native tools for all platforms (x86, x64, aarch64)."
82+
SUPPORTED_PLATFORMS="x86, x64, and aarch64 (all native)"
83+
;;
84+
*)
85+
echo "Unknown host architecture: $HOST_ARCH"
86+
echo "Proceeding with devkit generation - toolchain capabilities may vary."
87+
SUPPORTED_PLATFORMS="x86, x64, and aarch64"
88+
;;
89+
esac
90+
6791
if test "x$IS_CYGWIN" != "x"; then
6892
BUILD_ENV="cygwin"
6993
elif test "x$IS_MSYS" != "x"; then
@@ -139,6 +163,7 @@ DEVKIT_ROOT="${BUILD_DIR}/VS${VS_VERSION}-${VS_VERSION_SP}-devkit"
139163
DEVKIT_BUNDLE="${DEVKIT_ROOT}.tar.gz"
140164

141165
echo "Creating devkit in $DEVKIT_ROOT"
166+
echo "Platform support: $SUPPORTED_PLATFORMS"
142167

143168
MSVCR_DLL=${MSVC_CRT_DIR}/vcruntime${VS_DLL_VERSION}.dll
144169
VCRUNTIME_1_DLL=${MSVC_CRT_DIR}/vcruntime${VS_DLL_VERSION}_1.dll
@@ -156,7 +181,11 @@ REDIST_SUBDIR="VC/Redist/MSVC/$REDIST_VERSION"
156181
echo "Copying VC..."
157182
rm -rf $DEVKIT_ROOT/VC
158183
mkdir -p $DEVKIT_ROOT/VC/bin
159-
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/bin/Hostx64/arm64" $DEVKIT_ROOT/VC/bin/
184+
if [ -d "$VS_INSTALL_DIR/${VC_SUBDIR}/bin/Hostarm64/arm64" ]; then
185+
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/bin/Hostarm64/arm64" $DEVKIT_ROOT/VC/bin/
186+
else
187+
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/bin/Hostx64/arm64" $DEVKIT_ROOT/VC/bin/
188+
fi
160189
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/bin/Hostx64/x64" $DEVKIT_ROOT/VC/bin/
161190
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/bin/Hostx86/x86" $DEVKIT_ROOT/VC/bin/
162191
mkdir -p $DEVKIT_ROOT/VC/lib

src/demo/share/jfc/SwingSet2/resources/swingset_de.properties

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -456,13 +456,13 @@ SliderDemo.horizontal=Horizontal
456456
SliderDemo.vertical=Vertikal
457457
SliderDemo.plain=Einfach
458458
SliderDemo.a_plain_slider=Ein einfacher Schieberegler
459-
SliderDemo.majorticks=Grobteilungen
460-
SliderDemo.majorticksdescription=Ein Schieberegler mit Grobteilungsmarkierungen
461-
SliderDemo.ticks=Feinteilungen, Teilungen zum Einrasten und Labels
462-
SliderDemo.minorticks=Feinteilungen
463-
SliderDemo.minorticksdescription=Ein Schieberegler mit Grob- und Feinteilungen, mit Teilungen, in die der Schieberegler einrastet, wobei einige Teilungen mit einem sichtbaren Label versehen sind
459+
SliderDemo.majorticks=Hauptteilstriche
460+
SliderDemo.majorticksdescription=Ein Schieberegler mit Hauptteilstrichen
461+
SliderDemo.ticks=Hilfsteilstriche, zum Einrasten und Beschriften
462+
SliderDemo.minorticks=Hilfsteilstriche
463+
SliderDemo.minorticksdescription=Ein Schieberegler mit Haupt- und Hilfsteilstrichen, in die der Schieberegler einrastet, wobei einige Teilstriche mit einer sichtbaren Beschriftung versehen sind
464464
SliderDemo.disabled=Deaktiviert
465-
SliderDemo.disableddescription=Ein Schieberegler mit Grob- und Feinteilungen, der nicht aktiviert ist (kann nicht bearbeitet werden)
465+
SliderDemo.disableddescription=Ein Schieberegler mit Haupt- und Hilfsteilstrichen, der nicht aktiviert ist (kann nicht bearbeitet werden)
466466

467467
### SplitPane Demo ###
468468

src/hotspot/cpu/aarch64/assembler_aarch64.hpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1136,6 +1136,10 @@ class Assembler : public AbstractAssembler {
11361136
system(0b00, 0b011, 0b00011, SY, 0b110);
11371137
}
11381138

1139+
void sb() {
1140+
system(0b00, 0b011, 0b00011, 0b0000, 0b111);
1141+
}
1142+
11391143
void sys(int op1, int CRn, int CRm, int op2,
11401144
Register rt = as_Register(0b11111)) {
11411145
system(0b01, op1, CRn, CRm, op2, rt);

src/hotspot/cpu/aarch64/globals_aarch64.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ define_pd_global(intx, InlineSmallCode, 1000);
117117
product(ccstr, OnSpinWaitInst, "yield", DIAGNOSTIC, \
118118
"The instruction to use to implement " \
119119
"java.lang.Thread.onSpinWait()." \
120-
"Options: none, nop, isb, yield.") \
120+
"Options: none, nop, isb, yield, sb.") \
121121
product(uint, OnSpinWaitInstCount, 1, DIAGNOSTIC, \
122122
"The number of OnSpinWaitInst instructions to generate." \
123123
"It cannot be used with OnSpinWaitInst=none.") \

src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6814,6 +6814,9 @@ void MacroAssembler::spin_wait() {
68146814
case SpinWait::YIELD:
68156815
yield();
68166816
break;
6817+
case SpinWait::SB:
6818+
sb();
6819+
break;
68176820
default:
68186821
ShouldNotReachHere();
68196822
}

src/hotspot/cpu/aarch64/macroAssembler_aarch64_trig.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -543,7 +543,7 @@ void MacroAssembler::generate__ieee754_rem_pio2(address npio2_hw,
543543
// }
544544
//
545545
// /* compute n */
546-
// z = scalbnA(z,q0); /* actual value of z */
546+
// z = scalbn(z,q0); /* actual value of z */
547547
// z -= 8.0*floor(z*0.125); /* trim off integer >= 8 */
548548
// n = (int) z;
549549
// z -= (double)n;
@@ -576,7 +576,7 @@ void MacroAssembler::generate__ieee754_rem_pio2(address npio2_hw,
576576
// }
577577
// if(ih==2) {
578578
// z = one - z;
579-
// if(carry!=0) z -= scalbnA(one,q0);
579+
// if(carry!=0) z -= scalbn(one,q0);
580580
// }
581581
// }
582582
//
@@ -602,7 +602,7 @@ void MacroAssembler::generate__ieee754_rem_pio2(address npio2_hw,
602602
// jz -= 1; q0 -= 24;
603603
// while(iq[jz]==0) { jz--; q0-=24;}
604604
// } else { /* break z into 24-bit if necessary */
605-
// z = scalbnA(z,-q0);
605+
// z = scalbn(z,-q0);
606606
// if(z>=two24B) {
607607
// fw = (double)((int)(twon24*z));
608608
// iq[jz] = (int)(z-two24B*fw);
@@ -612,7 +612,7 @@ void MacroAssembler::generate__ieee754_rem_pio2(address npio2_hw,
612612
// }
613613
//
614614
// /* convert integer "bit" chunk to floating-point value */
615-
// fw = scalbnA(one,q0);
615+
// fw = scalbn(one,q0);
616616
// for(i=jz;i>=0;i--) {
617617
// q[i] = fw*(double)iq[i]; fw*=twon24;
618618
// }
@@ -925,7 +925,7 @@ void MacroAssembler::generate__kernel_rem_pio2(address two_over_pi, address pio2
925925
fmovd(v25, 1.0);
926926
fsubd(v18, v25, v18); // z = one - z;
927927
cbzw(rscratch2, IH_HANDLED);
928-
fsubd(v18, v18, v30); // z -= scalbnA(one,q0);
928+
fsubd(v18, v18, v30); // z -= scalbn(one,q0);
929929
}
930930
}
931931
bind(IH_HANDLED);
@@ -1026,7 +1026,7 @@ void MacroAssembler::generate__kernel_rem_pio2(address two_over_pi, address pio2
10261026
bind(Z_ZERO_CHECK_DONE);
10271027
// convert integer "bit" chunk to floating-point value
10281028
// v17 = twon24
1029-
// update v30, which was scalbnA(1.0, <old q0>);
1029+
// update v30, which was scalbn(1.0, <old q0>);
10301030
addw(tmp2, rscratch1, 1023); // biased exponent
10311031
lsl(tmp2, tmp2, 52); // put at correct position
10321032
mov(i, jz);

src/hotspot/cpu/aarch64/spin_wait_aarch64.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ class SpinWait {
3131
NONE = -1,
3232
NOP,
3333
ISB,
34-
YIELD
34+
YIELD,
35+
SB
3536
};
3637

3738
private:

src/hotspot/cpu/aarch64/vm_version_aarch64.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,13 @@ static SpinWait get_spin_wait_desc() {
5757
return SpinWait(SpinWait::ISB, OnSpinWaitInstCount);
5858
} else if (strcmp(OnSpinWaitInst, "yield") == 0) {
5959
return SpinWait(SpinWait::YIELD, OnSpinWaitInstCount);
60+
} else if (strcmp(OnSpinWaitInst, "sb") == 0) {
61+
if (!VM_Version::supports_sb()) {
62+
vm_exit_during_initialization("OnSpinWaitInst is SB but current CPU does not support SB instruction");
63+
}
64+
return SpinWait(SpinWait::SB, OnSpinWaitInstCount);
6065
} else if (strcmp(OnSpinWaitInst, "none") != 0) {
61-
vm_exit_during_initialization("The options for OnSpinWaitInst are nop, isb, yield, and none", OnSpinWaitInst);
66+
vm_exit_during_initialization("The options for OnSpinWaitInst are nop, isb, yield, sb, and none", OnSpinWaitInst);
6267
}
6368

6469
if (!FLAG_IS_DEFAULT(OnSpinWaitInstCount) && OnSpinWaitInstCount > 0) {

0 commit comments

Comments
 (0)