Skip to content

Commit c68e671

Browse files
Merge tag 'jdk-24.0.2+3' into ola/24.2_jdk-24.0.2+3
Added tag jdk-24.0.2+3 for changeset e996709
2 parents 18aa942 + e996709 commit c68e671

File tree

78 files changed

+456
-221
lines changed

Some content is hidden

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

78 files changed

+456
-221
lines changed

make/Bundles.gmk

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,10 @@ ifneq ($(filter product-bundles% legacy-bundles, $(MAKECMDGOALS)), )
245245
)
246246

247247
JDK_SYMBOLS_BUNDLE_FILES := \
248-
$(call FindFiles, $(SYMBOLS_IMAGE_DIR))
248+
$(filter-out \
249+
%.stripped.pdb, \
250+
$(call FindFiles, $(SYMBOLS_IMAGE_DIR)) \
251+
)
249252

250253
TEST_DEMOS_BUNDLE_FILES := $(filter $(JDK_DEMOS_IMAGE_HOMEDIR)/demo/%, \
251254
$(ALL_JDK_DEMOS_FILES))

make/autoconf/build-aux/config.guess

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/sh
22
#
3-
# Copyright (c) 2012, 2023, Oracle and/or its affiliates. All rights reserved.
3+
# Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
44
# Copyright (c) 2021, Azul Systems, Inc. All rights reserved.
55
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
66
#
@@ -53,17 +53,21 @@ if [ "x$OUT" = x ]; then
5353
fi
5454
fi
5555

56-
# Test and fix cygwin on x86_64
57-
echo $OUT | grep 86-pc-cygwin > /dev/null 2> /dev/null
56+
# Test and fix cygwin/msys CPUs
57+
echo $OUT | grep -e "-pc-cygwin" > /dev/null 2> /dev/null
5858
if test $? != 0; then
59-
echo $OUT | grep 86-pc-mingw > /dev/null 2> /dev/null
59+
echo $OUT | grep -e "-pc-mingw" > /dev/null 2> /dev/null
6060
fi
6161
if test $? = 0; then
6262
case `echo $PROCESSOR_IDENTIFIER | cut -f1 -d' '` in
6363
intel64|Intel64|INTEL64|em64t|EM64T|amd64|AMD64|8664|x86_64)
6464
REAL_CPU=x86_64
6565
OUT=$REAL_CPU`echo $OUT | sed -e 's/[^-]*//'`
6666
;;
67+
ARMv8)
68+
REAL_CPU=aarch64
69+
OUT=$REAL_CPU`echo $OUT | sed -e 's/[^-]*//'`
70+
;;
6771
esac
6872
fi
6973

make/autoconf/toolchain_microsoft.m4

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2011, 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
@@ -87,7 +87,7 @@ AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT],
8787
elif test "x$TARGET_CPU" = xaarch64; then
8888
# for host x86-64, target aarch64
8989
# aarch64 requires Visual Studio 16.8 or higher
90-
VCVARSFILES="vcvarsamd64_arm64.bat vcvarsx86_arm64.bat"
90+
VCVARSFILES="vcvarsarm64.bat vcvarsamd64_arm64.bat vcvarsx86_arm64.bat"
9191
fi
9292
9393
for VCVARSFILE in $VCVARSFILES; do

make/modules/java.desktop/lib/AwtLibraries.gmk

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,10 +216,14 @@ ifeq ($(call isTargetOs, windows macosx)+$(ENABLE_HEADLESS_ONLY), false+false)
216216
common/font \
217217
common/java2d/opengl \
218218
common/java2d/x11 \
219-
libpipewire/include \
220219
java.base:libjvm \
221220
#
222221

222+
# exclude pipewire from the AIX build, no Wayland support
223+
ifeq ($(call isTargetOs, aix), false)
224+
LIBAWT_XAWT_EXTRA_HEADER_DIRS += libpipewire/include
225+
endif
226+
223227
ifeq ($(call isTargetOs, linux), true)
224228
ifeq ($(DISABLE_XRENDER), true)
225229
LIBAWT_XAWT_CFLAGS += -DDISABLE_XRENDER_BY_DEFAULT=true

src/hotspot/cpu/ppc/macroAssembler_ppc.cpp

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1285,13 +1285,7 @@ int MacroAssembler::ic_check(int end_alignment) {
12851285
if (use_trap_based_null_check) {
12861286
trap_null_check(receiver);
12871287
}
1288-
if (UseCompactObjectHeaders) {
1289-
load_narrow_klass_compact(tmp1, receiver);
1290-
} else if (UseCompressedClassPointers) {
1291-
lwz(tmp1, oopDesc::klass_offset_in_bytes(), receiver);
1292-
} else {
1293-
ld(tmp1, oopDesc::klass_offset_in_bytes(), receiver);
1294-
}
1288+
load_klass_no_decode(tmp1, receiver); // 2 instructions with UseCompactObjectHeaders
12951289
ld(tmp2, in_bytes(CompiledICData::speculated_klass_offset()), data);
12961290
trap_ic_miss_check(tmp1, tmp2);
12971291

@@ -1307,11 +1301,7 @@ int MacroAssembler::ic_check(int end_alignment) {
13071301
cmpdi(CCR0, receiver, 0);
13081302
beqctr(CCR0);
13091303
}
1310-
if (UseCompressedClassPointers) {
1311-
lwz(tmp1, oopDesc::klass_offset_in_bytes(), receiver);
1312-
} else {
1313-
ld(tmp1, oopDesc::klass_offset_in_bytes(), receiver);
1314-
}
1304+
load_klass_no_decode(tmp1, receiver); // 2 instructions with UseCompactObjectHeaders
13151305
ld(tmp2, in_bytes(CompiledICData::speculated_klass_offset()), data);
13161306
cmpd(CCR0, tmp1, tmp2);
13171307
bnectr(CCR0);
@@ -3365,18 +3355,23 @@ void MacroAssembler::decode_klass_not_null(Register dst, Register src) {
33653355
}
33663356
}
33673357

3368-
void MacroAssembler::load_klass(Register dst, Register src) {
3358+
void MacroAssembler::load_klass_no_decode(Register dst, Register src) {
33693359
if (UseCompactObjectHeaders) {
33703360
load_narrow_klass_compact(dst, src);
3371-
decode_klass_not_null(dst);
33723361
} else if (UseCompressedClassPointers) {
33733362
lwz(dst, oopDesc::klass_offset_in_bytes(), src);
3374-
decode_klass_not_null(dst);
33753363
} else {
33763364
ld(dst, oopDesc::klass_offset_in_bytes(), src);
33773365
}
33783366
}
33793367

3368+
void MacroAssembler::load_klass(Register dst, Register src) {
3369+
load_klass_no_decode(dst, src);
3370+
if (UseCompressedClassPointers) { // also true for UseCompactObjectHeaders
3371+
decode_klass_not_null(dst);
3372+
}
3373+
}
3374+
33803375
// Loads the obj's Klass* into dst.
33813376
// Preserves all registers (incl src, rscratch1 and rscratch2).
33823377
// Input:

src/hotspot/cpu/ppc/macroAssembler_ppc.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -769,6 +769,7 @@ class MacroAssembler: public Assembler {
769769
inline void decode_heap_oop(Register d);
770770

771771
// Load/Store klass oop from klass field. Compress.
772+
void load_klass_no_decode(Register dst, Register src);
772773
void load_klass(Register dst, Register src);
773774
void load_narrow_klass_compact(Register dst, Register src);
774775
void cmp_klass(ConditionRegister dst, Register obj, Register klass, Register tmp, Register tmp2);

src/hotspot/os/aix/os_aix.cpp

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -828,13 +828,6 @@ bool os::create_attached_thread(JavaThread* thread) {
828828

829829
thread->set_osthread(osthread);
830830

831-
if (UseNUMA) {
832-
int lgrp_id = os::numa_get_group_id();
833-
if (lgrp_id != -1) {
834-
thread->set_lgrp_id(lgrp_id);
835-
}
836-
}
837-
838831
// initialize signal mask for this thread
839832
// and save the caller's signal mask
840833
PosixSignals::hotspot_sigmask(thread);

src/hotspot/os/posix/signals_posix.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,9 @@
5050

5151
#include <signal.h>
5252

53+
#if !defined(SEGV_BNDERR)
54+
#define SEGV_BNDERR 3
55+
#endif
5356

5457
static const char* get_signal_name(int sig, char* out, size_t outlen);
5558

@@ -970,6 +973,9 @@ static bool get_signal_code_description(const siginfo_t* si, enum_sigcode_desc_t
970973
{ SIGFPE, FPE_FLTSUB, "FPE_FLTSUB", "Subscript out of range." },
971974
{ SIGSEGV, SEGV_MAPERR, "SEGV_MAPERR", "Address not mapped to object." },
972975
{ SIGSEGV, SEGV_ACCERR, "SEGV_ACCERR", "Invalid permissions for mapped object." },
976+
#if defined(LINUX)
977+
{ SIGSEGV, SEGV_BNDERR, "SEGV_BNDERR", "Failed address bound checks." },
978+
#endif
973979
#if defined(AIX)
974980
// no explanation found what keyerr would be
975981
{ SIGSEGV, SEGV_KEYERR, "SEGV_KEYERR", "key error" },

src/hotspot/share/opto/block.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1611,7 +1611,8 @@ void PhaseBlockLayout::find_edges() {
16111611
Block *target = b->non_connector_successor(j);
16121612
float freq = b->_freq * b->succ_prob(j);
16131613
int from_pct = (int) ((100 * freq) / b->_freq);
1614-
int to_pct = (int) ((100 * freq) / target->_freq);
1614+
float f_to_pct = (100 * freq) / target->_freq;
1615+
int to_pct = (f_to_pct < 100.0) ? (int)f_to_pct : 100;
16151616
edges->append(new CFGEdge(b, target, freq, from_pct, to_pct));
16161617
}
16171618
}

src/java.base/aix/classes/sun/nio/fs/AixFileStore.java

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2008, 2025, Oracle and/or its affiliates. All rights reserved.
33
* Copyright (c) 2013 SAP SE. All rights reserved.
44
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
55
*
@@ -88,18 +88,32 @@ UnixMountEntry findMountEntry() throws IOException {
8888
throw new IOException("Mount point not found");
8989
}
9090

91-
@Override
92-
protected boolean isExtendedAttributesEnabled(UnixPath path) {
93-
return false;
94-
}
95-
9691
@Override
9792
public boolean supportsFileAttributeView(Class<? extends FileAttributeView> type) {
93+
// support UserDefinedAttributeView if extended attributes enabled
94+
if (type == UserDefinedFileAttributeView.class) {
95+
// lookup fstypes.properties
96+
FeatureStatus status = checkIfFeaturePresent("user_xattr");
97+
if (status == FeatureStatus.PRESENT)
98+
return true;
99+
if (status == FeatureStatus.NOT_PRESENT)
100+
return false;
101+
102+
// typical AIX file system types that support xattr (JFS2 with EA enabled)
103+
String fstype = entry().fstype();
104+
if ("jfs2".equals(fstype)) {
105+
UnixPath dir = new UnixPath(file().getFileSystem(), entry().dir());
106+
return isExtendedAttributesEnabled(dir);
107+
}
108+
}
98109
return super.supportsFileAttributeView(type);
99110
}
100111

101112
@Override
102113
public boolean supportsFileAttributeView(String name) {
114+
if (name.equals("user"))
115+
return supportsFileAttributeView(UserDefinedFileAttributeView.class);
103116
return super.supportsFileAttributeView(name);
104117
}
118+
105119
}

0 commit comments

Comments
 (0)