Skip to content

Commit 5aab5af

Browse files
Merge tag 'jdk-24+4' into labsjdk/automation-6-27-2024-9707
Added tag jdk-24+4 for changeset 46b817b
2 parents cf954ab + 46b817b commit 5aab5af

File tree

356 files changed

+7663
-6372
lines changed

Some content is hidden

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

356 files changed

+7663
-6372
lines changed

.jcheck/conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ version=24
55

66
[checks]
77
error=author,committer,reviewers,merge,issues,executable,symlink,message,hg-tag,whitespace,problemlists
8-
warning=issuestitle
8+
warning=issuestitle,binary
99

1010
[repository]
1111
tags=(?:jdk-(?:[1-9]([0-9]*)(?:\.(?:0|[1-9][0-9]*)){0,4})(?:\+(?:(?:[0-9]+))|(?:-ga)))|(?:jdk[4-9](?:u\d{1,3})?-(?:(?:b\d{2,3})|(?:ga)))|(?:hs\d\d(?:\.\d{1,2})?-b\d\d)

make/GenerateLinkOptData.gmk

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,14 +62,14 @@ ifeq ($(EXTERNAL_BUILDJDK), true)
6262
INTERIM_IMAGE_DIR := $(BUILD_JDK)
6363
endif
6464

65-
# These are needed for deterministic classlist:
65+
# To make the classlist deterministic:
6666
# - The classlist can be influenced by locale. Always set it to en/US.
67-
# - Run with -Xint, as the compiler can speculatively resolve constant pool entries.
68-
# - ForkJoinPool parallelism can cause constant pool resolution to be non-deterministic.
67+
# - Concurrency in the core libraries can cause constant pool resolution
68+
# to be non-deterministic. Since the benefits of resolved CP references in the
69+
# default classlist is minimal, let's filter out the '@cp' lines until we can
70+
# find a proper solution.
6971
CLASSLIST_FILE_VM_OPTS = \
70-
-Duser.language=en -Duser.country=US \
71-
-Xint \
72-
-Djava.util.concurrent.ForkJoinPool.common.parallelism=0
72+
-Duser.language=en -Duser.country=US
7373

7474
# Save the stderr output of the command and print it along with stdout in case
7575
# something goes wrong.
@@ -101,9 +101,10 @@ $(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXECUTABLE_SUFFIX) $(CLASSLIST
101101
exit $$exitcode \
102102
)
103103
$(GREP) -v HelloClasslist [email protected] > [email protected]
104+
104105
$(FIXPATH) $(INTERIM_IMAGE_DIR)/bin/java \
105106
-cp $(SUPPORT_OUTPUTDIR)/classlist.jar \
106-
build.tools.classlist.SortClasslist [email protected].3 > $@
107+
build.tools.classlist.SortClasslist [email protected].4 > $@
107108

108109
# The jli trace is created by the same recipe as classlist. By declaring these
109110
# dependencies, make will correctly rebuild both jli trace and classlist

make/autoconf/jdk-options.m4

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -496,9 +496,15 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_LEAK_SANITIZER],
496496
#
497497
AC_DEFUN_ONCE([JDKOPT_SETUP_UNDEFINED_BEHAVIOR_SANITIZER],
498498
[
499+
UTIL_ARG_WITH(NAME: additional-ubsan-checks, TYPE: string,
500+
DEFAULT: [],
501+
DESC: [Customizes the ubsan checks],
502+
OPTIONAL: true)
503+
499504
# GCC reports lots of likely false positives for stringop-truncation and format-overflow.
500505
# Silence them for now.
501-
UBSAN_CHECKS="-fsanitize=undefined -fsanitize=float-divide-by-zero -fno-sanitize=shift-base -fno-sanitize=alignment"
506+
UBSAN_CHECKS="-fsanitize=undefined -fsanitize=float-divide-by-zero -fno-sanitize=shift-base -fno-sanitize=alignment \
507+
$ADDITIONAL_UBSAN_CHECKS"
502508
UBSAN_CFLAGS="$UBSAN_CHECKS -Wno-stringop-truncation -Wno-format-overflow -fno-omit-frame-pointer -DUNDEFINED_BEHAVIOR_SANITIZER"
503509
UBSAN_LDFLAGS="$UBSAN_CHECKS"
504510
UTIL_ARG_ENABLE(NAME: ubsan, DEFAULT: false, RESULT: UBSAN_ENABLED,

make/jdk/src/classes/build/tools/intpoly/FieldGen.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -778,7 +778,7 @@ private String generate(FieldParams params) throws IOException {
778778
result.appendLine("}");
779779

780780
result.appendLine("@Override");
781-
result.appendLine("protected int mult(long[] a, long[] b, long[] r) {");
781+
result.appendLine("protected void mult(long[] a, long[] b, long[] r) {");
782782
result.incrIndent();
783783
for (int i = 0; i < 2 * params.getNumLimbs() - 1; i++) {
784784
result.appendIndent();
@@ -804,9 +804,6 @@ private String generate(FieldParams params) throws IOException {
804804
}
805805
}
806806
result.append(");\n");
807-
result.appendIndent();
808-
result.append("return 0;");
809-
result.appendLine();
810807
result.decrIndent();
811808
result.appendLine("}");
812809

@@ -836,7 +833,7 @@ private String generate(FieldParams params) throws IOException {
836833
// }
837834
// }
838835
result.appendLine("@Override");
839-
result.appendLine("protected int square(long[] a, long[] r) {");
836+
result.appendLine("protected void square(long[] a, long[] r) {");
840837
result.incrIndent();
841838
for (int i = 0; i < 2 * params.getNumLimbs() - 1; i++) {
842839
result.appendIndent();
@@ -877,9 +874,6 @@ private String generate(FieldParams params) throws IOException {
877874
}
878875
}
879876
result.append(");\n");
880-
result.appendIndent();
881-
result.append("return 0;");
882-
result.appendLine();
883877
result.decrIndent();
884878
result.appendLine("}");
885879

src/hotspot/cpu/aarch64/jvmciCodeInstaller_aarch64.cpp

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@
3434
#include "runtime/jniHandles.hpp"
3535
#include "runtime/sharedRuntime.hpp"
3636
#include "vmreg_aarch64.inline.hpp"
37+
#if INCLUDE_ZGC
38+
#include "gc/z/zBarrierSetAssembler.hpp"
39+
#endif
3740

3841
jint CodeInstaller::pd_next_offset(NativeInstruction* inst, jint pc_offset, JVMCI_TRAPS) {
3942
if (inst->is_call() || inst->is_jump() || inst->is_blr()) {
@@ -164,24 +167,35 @@ void CodeInstaller::pd_relocate_JavaMethod(CodeBuffer &cbuf, methodHandle& metho
164167
}
165168
}
166169

167-
void CodeInstaller::pd_relocate_poll(address pc, jint mark, JVMCI_TRAPS) {
170+
bool CodeInstaller::pd_relocate(address pc, jint mark) {
168171
switch (mark) {
169172
case POLL_NEAR:
170-
JVMCI_ERROR("unimplemented");
171-
break;
173+
// This is unhandled and will be reported by the caller
174+
return false;
172175
case POLL_FAR:
173176
_instructions->relocate(pc, relocInfo::poll_type);
174-
break;
177+
return true;
175178
case POLL_RETURN_NEAR:
176-
JVMCI_ERROR("unimplemented");
177-
break;
179+
// This is unhandled and will be reported by the caller
180+
return false;
178181
case POLL_RETURN_FAR:
179182
_instructions->relocate(pc, relocInfo::poll_return_type);
180-
break;
181-
default:
182-
JVMCI_ERROR("invalid mark value");
183-
break;
183+
return true;
184+
case Z_BARRIER_RELOCATION_FORMAT_LOAD_GOOD_BEFORE_TB_X:
185+
_instructions->relocate(pc, barrier_Relocation::spec(), ZBarrierRelocationFormatLoadGoodBeforeTbX);
186+
return true;
187+
case Z_BARRIER_RELOCATION_FORMAT_MARK_BAD_BEFORE_MOV:
188+
_instructions->relocate(pc, barrier_Relocation::spec(), ZBarrierRelocationFormatMarkBadBeforeMov);
189+
return true;
190+
case Z_BARRIER_RELOCATION_FORMAT_STORE_GOOD_BEFORE_MOV:
191+
_instructions->relocate(pc, barrier_Relocation::spec(), ZBarrierRelocationFormatStoreGoodBeforeMov);
192+
return true;
193+
case Z_BARRIER_RELOCATION_FORMAT_STORE_BAD_BEFORE_MOV:
194+
_instructions->relocate(pc, barrier_Relocation::spec(), ZBarrierRelocationFormatStoreBadBeforeMov);
195+
return true;
196+
184197
}
198+
return false;
185199
}
186200

187201
// convert JVMCI register indices (as used in oop maps) to HotSpot registers

src/hotspot/cpu/ppc/ppc.ad

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3429,6 +3429,7 @@ encode %{
34293429
call->_oop_map = _oop_map;
34303430
call->_jvms = _jvms;
34313431
call->_jvmadj = _jvmadj;
3432+
call->_has_ea_local_in_scope = _has_ea_local_in_scope;
34323433
call->_in_rms = _in_rms;
34333434
call->_nesting = _nesting;
34343435
call->_override_symbolic_info = _override_symbolic_info;

src/hotspot/cpu/riscv/jvmciCodeInstaller_riscv.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,9 @@ void CodeInstaller::pd_relocate_JavaMethod(CodeBuffer &cbuf, methodHandle& metho
105105
Unimplemented();
106106
}
107107

108-
void CodeInstaller::pd_relocate_poll(address pc, jint mark, JVMCI_TRAPS) {
108+
bool CodeInstaller::pd_relocate(address pc, jint mark) {
109109
Unimplemented();
110+
return false;
110111
}
111112

112113
// convert JVMCI register indices (as used in oop maps) to HotSpot registers

0 commit comments

Comments
 (0)