Skip to content

Commit 1d9a722

Browse files
authored
Merge branch 'master' into goetz_backport_8343314
2 parents f451d57 + 7b2a675 commit 1d9a722

File tree

7 files changed

+41
-18
lines changed

7 files changed

+41
-18
lines changed

src/hotspot/cpu/aarch64/register_aarch64.hpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2000, 2024, Oracle and/or its affiliates. All rights reserved.
33
* Copyright (c) 2014, 2021, Red Hat Inc. All rights reserved.
44
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
55
*
@@ -165,7 +165,13 @@ class FloatRegister {
165165
max_slots_per_register = 4,
166166
save_slots_per_register = 2,
167167
slots_per_neon_register = 4,
168-
extra_save_slots_per_neon_register = slots_per_neon_register - save_slots_per_register
168+
extra_save_slots_per_neon_register = slots_per_neon_register - save_slots_per_register,
169+
neon_vl = 16,
170+
// VLmax: The maximum sve vector length is determined by the hardware
171+
// sve_vl_min <= VLmax <= sve_vl_max.
172+
sve_vl_min = 16,
173+
// Maximum supported vector length across all CPUs
174+
sve_vl_max = 256
169175
};
170176

171177
class FloatRegisterImpl: public AbstractRegisterImpl {

src/hotspot/cpu/aarch64/vm_version_aarch64.cpp

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525

2626
#include "precompiled.hpp"
2727
#include "pauth_aarch64.hpp"
28+
#include "register_aarch64.hpp"
2829
#include "runtime/arguments.hpp"
2930
#include "runtime/globals_extension.hpp"
3031
#include "runtime/java.hpp"
@@ -440,7 +441,19 @@ void VM_Version::initialize() {
440441
}
441442

442443
if (UseSVE > 0) {
443-
_initial_sve_vector_length = get_current_sve_vector_length();
444+
int vl = get_current_sve_vector_length();
445+
if (vl < 0) {
446+
warning("Unable to get SVE vector length on this system. "
447+
"Disabling SVE. Specify -XX:UseSVE=0 to shun this warning.");
448+
FLAG_SET_DEFAULT(UseSVE, 0);
449+
} else if ((vl == 0) || ((vl % FloatRegister::sve_vl_min) != 0) || !is_power_of_2(vl)) {
450+
warning("Detected SVE vector length (%d) should be a power of two and a multiple of %d. "
451+
"Disabling SVE. Specify -XX:UseSVE=0 to shun this warning.",
452+
vl, FloatRegister::sve_vl_min);
453+
FLAG_SET_DEFAULT(UseSVE, 0);
454+
} else {
455+
_initial_sve_vector_length = vl;
456+
}
444457
}
445458

446459
// This machine allows unaligned memory accesses

src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.cpp

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -756,15 +756,6 @@ static void write_classloaders() {
756756
CompositeCldCallback callback(&_subsystem_callback, &ccldwwc);
757757
do_class_loaders();
758758
}
759-
if (is_initial_typeset_for_chunk()) {
760-
CldPtr bootloader = get_cld(Universe::boolArrayKlassObj());
761-
assert(bootloader != nullptr, "invariant");
762-
if (IS_NOT_SERIALIZED(bootloader)) {
763-
write__classloader(_writer, bootloader);
764-
assert(IS_SERIALIZED(bootloader), "invariant");
765-
cldw.add(1);
766-
}
767-
}
768759
_artifacts->tally(cldw);
769760
}
770761

src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -634,7 +634,11 @@ static void write_thread_local_buffer(JfrChunkWriter& chunkwriter, Thread* t) {
634634

635635
size_t JfrRecorderService::flush() {
636636
size_t total_elements = flush_metadata(_chunkwriter);
637-
total_elements = flush_storage(_storage, _chunkwriter);
637+
const size_t storage_elements = flush_storage(_storage, _chunkwriter);
638+
if (0 == storage_elements) {
639+
return total_elements;
640+
}
641+
total_elements += storage_elements;
638642
if (_string_pool.is_modified()) {
639643
total_elements += flush_stringpool(_string_pool, _chunkwriter);
640644
}

src/jdk.hotspot.agent/linux/native/libsaproc/symtab.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -389,9 +389,9 @@ static struct symtab* build_symtab_internal(int fd, const char *filename, bool t
389389
goto bad;
390390
}
391391

392-
// int rslt =
393-
hcreate_r(htab_sz, symtab->hash_table);
394-
// guarantee(rslt, "unexpected failure: hcreate_r");
392+
if (hcreate_r(htab_sz, symtab->hash_table) == 0) {
393+
goto bad;
394+
}
395395

396396
// shdr->sh_link points to the section that contains the actual strings
397397
// for symbol names. the st_name field in ELF_SYM is just the

test/jdk/jdk/jfr/event/gc/stacktrace/AllocationStackTrace.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,15 +79,15 @@ public void allocate() {
7979
class OldGenMemoryAllocator extends MemoryAllocator {
8080

8181
private List<byte[]> list = new ArrayList<byte[]>();
82-
private int counter = 6000;
82+
private int counter = 5000;
8383

8484
@Override
8585
public void allocate() {
8686
if (counter-- > 0) {
8787
list.add(new byte[10 * KB]);
8888
} else {
8989
list = new ArrayList<byte[]>();
90-
counter = 6000;
90+
counter = 5000;
9191
}
9292

9393
garbage = list;

test/jdk/tools/jpackage/TEST.properties

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,14 @@ keys=jpackagePlatformPackage
22
requires.properties=jpackage.test.SQETest
33
maxOutputSize=2000000
44

5+
# Run jpackage tests on windows platform sequentially.
6+
# Having "share" directory in the list affects tests on other platforms.
7+
# The better option would be:
8+
# if (platfrom == windowws) {
9+
# exclusiveAccess.dirs=share windows
10+
# }
11+
# but conditionals are not supported by jtreg configuration files.
12+
exclusiveAccess.dirs=share windows
13+
514
modules=jdk.jpackage/jdk.jpackage.internal:+open \
615
java.base/jdk.internal.util

0 commit comments

Comments
 (0)