[crac] RFR: Merge jdk:jdk-25+26
Dmitry Cherepanov
dcherepanov at openjdk.org
Wed Jul 23 18:04:22 UTC 2025
Since the merge for [JDK-8352675](https://bugs.openjdk.org/browse/JDK-8352675) is split into a separate PR (https://github.com/openjdk/crac/pull/247), I cherry-picked the current version and merging other changes on top of it. It will likely require rebase on top of the final version later.
Attaching output of `--diff-merges=remerge`
<details>
<summary>Conflicts</summary>
commit 5035f463900712ae47b7e1adfeff609bc1d66116 (HEAD -> merge-jdk, dmitry-crac/merge-jdk)
Merge: d61227fe01d c59e44a7aa2
Author: Dmitry Cherepanov <dcherepanov at azul.com>
Date: Tue Jul 22 13:30:47 2025 +0400
Merge with jdk-25+26
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
remerge CONFLICT (content): Merge conflict in .github/workflows/main.yml
index 8cf745c1cff..02c6f3d2668 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -310,11 +310,7 @@ jobs:
uses: ./.github/workflows/build-windows.yml
with:
platform: windows-x64
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
msvc-toolset-version: '14.44'
-=======
- msvc-toolset-version: '14.43'
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
msvc-toolset-architecture: 'x86.x64'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
@@ -326,11 +322,7 @@ jobs:
uses: ./.github/workflows/build-windows.yml
with:
platform: windows-aarch64
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
msvc-toolset-version: '14.44'
-=======
- msvc-toolset-version: '14.43'
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
msvc-toolset-architecture: 'arm64'
make-target: 'hotspot'
extra-conf-options: '--openjdk-target=aarch64-unknown-cygwin'
@@ -369,17 +361,17 @@ jobs:
runs-on: ubuntu-22.04
debug-suffix: -debug
- test-linux-x64-static:
- name: linux-x64-static
- needs:
- - build-linux-x64
- - build-linux-x64-static
- uses: ./.github/workflows/test.yml
- with:
- platform: linux-x64
- bootjdk-platform: linux-x64
- runs-on: ubuntu-22.04
- static-suffix: "-static"
+# test-linux-x64-static:
+# name: linux-x64-static
+# needs:
+# - build-linux-x64
+# - build-linux-x64-static
+# uses: ./.github/workflows/test.yml
+# with:
+# platform: linux-x64
+# bootjdk-platform: linux-x64
+# runs-on: ubuntu-22.04
+# static-suffix: "-static"
test-macos-aarch64:
name: macos-aarch64
@@ -402,7 +394,4 @@ jobs:
platform: windows-x64
bootjdk-platform: windows-x64
runs-on: windows-2025
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
-=======
debug-suffix: -debug
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
remerge CONFLICT (content): Merge conflict in .github/workflows/test.yml
index 9b48eced764..52cb4ea0755 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -207,13 +207,9 @@ jobs:
JDK_IMAGE_DIR=${{ steps.bundles.outputs.jdk-path }}
SYMBOLS_IMAGE_DIR=${{ steps.bundles.outputs.symbols-path }}
TEST_IMAGE_DIR=${{ steps.bundles.outputs.tests-path }}
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
- JTREG="JAVA_OPTIONS=$JAVA_OPTIONS;VERBOSE=fail,error,time;KEYWORDS=!headful"
-=======
${{ steps.extra-options.outputs.test-jdk }}
${{ steps.extra-options.outputs.compile-jdk }}
- JTREG='JAVA_OPTIONS=-XX:-CreateCoredumpOnCrash;VERBOSE=fail,error,time;KEYWORDS=!headful;${{ steps.extra-options.outputs.extra-problem-lists }}'
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
+ JTREG="JAVA_OPTIONS=$JAVA_OPTIONS;VERBOSE=fail,error,time;KEYWORDS=!headful;${{ steps.extra-options.outputs.extra-problem-lists }}"
&& bash ./.github/scripts/gen-test-summary.sh "$GITHUB_STEP_SUMMARY" "$GITHUB_OUTPUT"
env:
PATH: ${{ steps.path.outputs.value }}
diff --git a/src/hotspot/cpu/x86/vm_version_x86.cpp b/src/hotspot/cpu/x86/vm_version_x86.cpp
remerge CONFLICT (content): Merge conflict in src/hotspot/cpu/x86/vm_version_x86.cpp
index 26e1c363c9c..7747dfdd488 100644
--- a/src/hotspot/cpu/x86/vm_version_x86.cpp
+++ b/src/hotspot/cpu/x86/vm_version_x86.cpp
@@ -105,7 +105,6 @@ bool VM_Version::supports_clflush() {
// up. Assembler::flush calls this routine to check that clflush
// is allowed. So, we give the caller a free pass if Universe init
// is still in progress.
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
if (!Universe::is_fully_initialized()) {
return true;
}
@@ -117,10 +116,6 @@ bool VM_Version::supports_clflush() {
}
vm_exit_during_initialization(err_msg("-XX:CPUFeatures option requires FLUSH flag to be set: 0x%llx", 1ULL << CPU_FLUSH));
return false;
-=======
- assert ((!Universe::is_fully_initialized() || _features.supports_feature(CPU_FLUSH)), "clflush should be available");
- return true;
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
}
#define CPUID_STANDARD_FN 0x0
@@ -1296,7 +1291,6 @@ void VM_Version::get_processor_features_hardware() {
_cpu = 4; // 486 by default
_model = 0;
_stepping = 0;
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
#if 0
FIXME:CPUFeatures1
_features = 0;
@@ -1306,8 +1300,6 @@ FIXME:CPUFeatures2
FIXME:CPUFeatures3
#endif
//FIXME:CPUFeatures4
-=======
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
_logical_processors_per_package = 1;
// i486 internal cache is both I&D and has a 16-byte line size
_L1_data_cache_line_size = 16;
@@ -1323,7 +1315,6 @@ FIXME:CPUFeatures3
if (cpu_family() > 4) { // it supports CPUID
_features = _cpuid_info.feature_flags(); // These can be changed by VM settings
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
#if 0
FIXME:CPUFeatures1
_cpu_features = _features; // Preserve features
@@ -1334,9 +1325,6 @@ FIXME:CPUFeatures3
#endif
_cpu_features = _features; // Preserve features
//FIXME:CPUFeatures4
-=======
- _cpu_features = _features; // Preserve features
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
// Logical processors are only available on P4s and above,
// and only if hyperthreading is available.
_logical_processors_per_package = logical_processor_count();
@@ -1588,7 +1576,6 @@ void VM_Version::get_processor_features_hotspot() {
cpu_family(), _model, _stepping, os::cpu_microcode_revision());
assert(cpu_info_size > 0, "not enough temporary space allocated");
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
#if 0
FIXME:CPUFeatures1
insert_features_names(buf + cpu_info_size, sizeof(buf) - cpu_info_size);
@@ -1599,10 +1586,6 @@ FIXME:CPUFeatures3
insert_features_names(_features, buf + cpu_info_size, sizeof(buf) - cpu_info_size);
//FIXME:CPUFeatures4
-=======
-
- insert_features_names(_features, buf + cpu_info_size, sizeof(buf) - cpu_info_size);
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
_cpu_info_string = os::strdup(buf);
diff --git a/src/hotspot/cpu/x86/vm_version_x86.hpp b/src/hotspot/cpu/x86/vm_version_x86.hpp
remerge CONFLICT (content): Merge conflict in src/hotspot/cpu/x86/vm_version_x86.hpp
index a6cf4db1bdd..5df066432de 100644
--- a/src/hotspot/cpu/x86/vm_version_x86.hpp
+++ b/src/hotspot/cpu/x86/vm_version_x86.hpp
@@ -451,7 +451,6 @@ class VM_Version : public Abstract_VM_Version {
#define DECLARE_CPU_FEATURE_FLAG(id, name, bit) CPU_##id = (bit),
CPU_FEATURE_FLAGS(DECLARE_CPU_FEATURE_FLAG)
#undef DECLARE_CPU_FEATURE_FLAG
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
#if 0
FIXME:CPUFeatures1
MAX_CPU = CPU_SHA512 << 1
@@ -492,11 +491,6 @@ FIXME:CPUFeatures1
FIXME:CPUFeatures2
FIXME:CPUFeatures3
#endif
-=======
- MAX_CPU_FEATURES
- };
-
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
class VM_Features {
friend class VMStructs;
friend class JVMCIVMStructs;
@@ -559,10 +553,7 @@ FIXME:CPUFeatures3
// Original CPU feature flags vector, not affected by VM settings.
static VM_Features _cpu_features;
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
//FIXME:CPUFeatures4
-=======
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
static const char* _features_names[];
static const char* _glibc_features_names[];
@@ -571,11 +562,6 @@ FIXME:CPUFeatures3
_cpu_features = VM_Features();
}
- static void clear_cpu_features() {
- _features = VM_Features();
- _cpu_features = VM_Features();
- }
-
enum Extended_Family {
// AMD
CPU_FAMILY_AMD_11H = 0x11,
@@ -718,7 +704,6 @@ FIXME:CPUFeatures3
jlong apx_save[2]; // Save r16 and r31
VM_Features feature_flags() const;
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
#if 0
FIXME:CPUFeatures1
@@ -747,8 +732,6 @@ FIXME:CPUFeatures1
uint64_t glibc_flags() const { return 0; }
#endif //LINUX
#endif
-=======
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
// Asserts
void assert_is_initialized() const {
diff --git a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp
remerge CONFLICT (content): Merge conflict in src/hotspot/share/gc/g1/g1CollectedHeap.cpp
index bb735a6b149..258ccba3331 100644
--- a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp
+++ b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp
@@ -792,17 +792,12 @@ void G1CollectedHeap::prepare_for_mutator_after_full_collection(size_t allocatio
assert(num_free_regions() == 0, "we should not have added any free regions");
rebuild_region_sets(false /* free_list_only */);
abort_refinement();
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
- resize_heap_if_necessary();
+ resize_heap_if_necessary(allocation_word_size);
if (should_cleanup_unused()) {
cleanup_unused_regions(); // Includes uncommitting
} else {
uncommit_regions_if_necessary();
}
-=======
- resize_heap_if_necessary(allocation_word_size);
- uncommit_regions_if_necessary();
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
// Rebuild the code root lists for each region
rebuild_code_roots();
diff --git a/src/hotspot/share/gc/g1/g1HeapRegionManager.cpp b/src/hotspot/share/gc/g1/g1HeapRegionManager.cpp
remerge CONFLICT (content): Merge conflict in src/hotspot/share/gc/g1/g1HeapRegionManager.cpp
index 1148b063eca..49c79098eba 100644
--- a/src/hotspot/share/gc/g1/g1HeapRegionManager.cpp
+++ b/src/hotspot/share/gc/g1/g1HeapRegionManager.cpp
@@ -419,12 +419,11 @@ bool G1HeapRegionManager::expand_exact(uint start, uint num_regions, WorkerThrea
uint G1HeapRegionManager::expand_on_preferred_node(uint preferred_index) {
uint expand_candidate = UINT_MAX;
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
- if (available() >= 1) {
+ if (num_inactive_regions() >= 1) {
if (_committed_map.num_active() + _committed_map.num_inactive() >= _max_available_regions) {
// We have to use existing inactive region, cannot allocate new one
// while we have inactive.
- for (uint i = 0; i < reserved_length(); i++) {
+ for (uint i = 0; i < max_num_regions(); i++) {
if (!_committed_map.inactive(i)) {
continue;
}
@@ -433,17 +432,10 @@ uint G1HeapRegionManager::expand_on_preferred_node(uint preferred_index) {
// We have found a candidate on the preferred node, break.
break;
}
-=======
- if (num_inactive_regions() >= 1) {
- for (uint i = 0; i < max_num_regions(); i++) {
- if (is_available(i)) {
- // Already in use continue
- continue;
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
}
}
if (expand_candidate == UINT_MAX) {
- for (uint i = 0; i < reserved_length(); i++) {
+ for (uint i = 0; i < max_num_regions(); i++) {
if (is_available(i)) {
// Already in use continue
continue;
diff --git a/src/hotspot/share/gc/g1/g1HeapRegionManager.hpp b/src/hotspot/share/gc/g1/g1HeapRegionManager.hpp
remerge CONFLICT (content): Merge conflict in src/hotspot/share/gc/g1/g1HeapRegionManager.hpp
index 6a9884218d2..4e12dc57dc3 100644
--- a/src/hotspot/share/gc/g1/g1HeapRegionManager.hpp
+++ b/src/hotspot/share/gc/g1/g1HeapRegionManager.hpp
@@ -231,13 +231,8 @@ class G1HeapRegionManager: public CHeapObj<mtGC> {
return num_free_regions() * G1HeapRegion::GrainBytes;
}
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
- // Return the number of regions available (uncommitted) regions.
- uint available() const { return _max_available_regions - length(); }
-=======
// Return the number of regions uncommitted or ready to be uncommitted.
- uint num_inactive_regions() const { return max_num_regions() - num_committed_regions(); }
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
+ uint num_inactive_regions() const { return _max_available_regions - num_committed_regions(); }
// Return the number of regions currently active and available for use.
uint num_committed_regions() const { return _committed_map.num_active(); }
diff --git a/src/hotspot/share/gc/z/zPageAllocator.cpp b/src/hotspot/share/gc/z/zPageAllocator.cpp
remerge CONFLICT (content): Merge conflict in src/hotspot/share/gc/z/zPageAllocator.cpp
index 0ce3e0933cb..558facaabd2 100644
--- a/src/hotspot/share/gc/z/zPageAllocator.cpp
+++ b/src/hotspot/share/gc/z/zPageAllocator.cpp
@@ -756,89 +756,17 @@ bool ZPartition::claim_capacity(ZMemoryAllocation* allocation) {
return true;
}
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
-size_t ZPartition::uncommit(uint64_t* timeout, uintx delay) {
- ZArray<ZVirtualMemory> flushed_vmems;
- size_t flushed = 0;
-=======
bool ZPartition::claim_capacity_fast_medium(ZMemoryAllocation* allocation) {
precond(ZPageSizeMediumEnabled);
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
// Try to allocate a medium page sized contiguous vmem
const size_t min_size = ZPageSizeMediumMin;
const size_t max_size = ZStressFastMediumPageAllocation ? min_size : ZPageSizeMediumMax;
ZVirtualMemory vmem = _cache.remove_contiguous_power_of_2(min_size, max_size);
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
- const double now = os::elapsedTime();
- const double time_since_last_commit = std::floor(now - _last_commit);
- const double time_since_last_uncommit = std::floor(now - _last_uncommit);
-
- if (time_since_last_commit < double(delay)) {
- // We have committed within the delay, stop uncommitting.
- *timeout = uint64_t(double(delay) - time_since_last_commit);
- return 0;
- }
-
- // We flush out and uncommit chunks at a time (~0.8% of the max capacity,
- // but at least one granule and at most 256M), in case demand for memory
- // increases while we are uncommitting.
- const size_t limit_upper_bound = MAX2(ZGranuleSize, align_down(256 * M / ZNUMA::count(), ZGranuleSize));
- const size_t limit = MIN2(align_up(_current_max_capacity >> 7, ZGranuleSize), limit_upper_bound);
-
- if (limit == 0) {
- // This may occur if the current max capacity for this partition is 0
-
- // Set timeout to delay
- *timeout = delay;
- return 0;
- }
-
- if (time_since_last_uncommit < double(delay)) {
- // We are in the uncommit phase
- const size_t num_uncommits_left = _to_uncommit / limit;
- const double time_left = double(delay) - time_since_last_uncommit;
- if (time_left < *timeout * num_uncommits_left) {
- // Running out of time, speed up.
- uint64_t new_timeout = uint64_t(std::floor(time_left / double(num_uncommits_left + 1)));
- *timeout = new_timeout;
- }
- } else {
- // We are about to start uncommitting
- _to_uncommit = _cache.reset_min();
- _last_uncommit = now;
-
- const size_t split = _to_uncommit / limit + 1;
- uint64_t new_timeout = delay / split;
- *timeout = new_timeout;
- }
-
- // Never uncommit below min capacity.
- const size_t retain = MAX2(_used, _min_capacity);
- const size_t release = _capacity - retain;
- const size_t flush = MIN3(release, limit, _to_uncommit);
-
- if (flush == 0) {
- // Nothing to flush
- return 0;
- }
-
- // Flush memory from the mapped cache to uncommit
- flushed = _cache.remove_from_min(flush, &flushed_vmems);
- if (flushed == 0) {
- // Nothing flushed
- return 0;
- }
-
- // Record flushed memory as claimed and how much we've flushed for this partition
- Atomic::add(&_claimed, flushed);
- _to_uncommit -= flushed;
-=======
if (vmem.is_null()) {
// Failed to find a contiguous vmem
return false;
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
}
// Found a satisfying vmem in the cache
@@ -2515,20 +2443,9 @@ void ZPageAllocator::print_cache_extended_on(outputStream* st) const {
}
void ZPageAllocator::uncommit_unused_memory() {
- uint64_t timeout;
- size_t flushed, uncommitted = 0;
ZPartitionIterator iter = partition_iterator();
for (ZPartition* partition; iter.next(&partition);) {
- partition->_cache.reset_min();
- do {
- flushed = partition->uncommit(&timeout, 0);
- uncommitted += flushed;
- } while (flushed > 0);
- }
- if (uncommitted > 0) {
- EventZUncommit event;
- log_info(gc, heap)("Uncommitted (cleanup): %zuM(%.0f%%)",
- uncommitted / M, percent_of(uncommitted, ZHeap::heap()->max_capacity()));
- event.commit(uncommitted);
+ partition->_cache.reset_min_size_watermark();
+ partition->_uncommitter.force_uncommit();
}
}
diff --git a/src/hotspot/share/gc/z/zPageAllocator.hpp b/src/hotspot/share/gc/z/zPageAllocator.hpp
remerge CONFLICT (content): Merge conflict in src/hotspot/share/gc/z/zPageAllocator.hpp
index 1b3f00b857d..a6e2f055cbe 100644
--- a/src/hotspot/share/gc/z/zPageAllocator.hpp
+++ b/src/hotspot/share/gc/z/zPageAllocator.hpp
@@ -99,12 +99,7 @@ class ZPartition {
void claim_from_cache_or_increase_capacity(ZMemoryAllocation* allocation);
bool claim_capacity(ZMemoryAllocation* allocation);
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
-
- size_t uncommit(uint64_t* timeout, uintx delay);
-=======
bool claim_capacity_fast_medium(ZMemoryAllocation* allocation);
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
void sort_segments_physical(const ZVirtualMemory& vmem);
diff --git a/src/hotspot/share/gc/z/zUncommitter.cpp b/src/hotspot/share/gc/z/zUncommitter.cpp
remerge CONFLICT (content): Merge conflict in src/hotspot/share/gc/z/zUncommitter.cpp
index 961e275fafa..ec952ce34ea 100644
--- a/src/hotspot/share/gc/z/zUncommitter.cpp
+++ b/src/hotspot/share/gc/z/zUncommitter.cpp
@@ -50,7 +50,9 @@ ZUncommitter::ZUncommitter(uint32_t id, ZPartition* partition)
_next_uncommit_timeout(0),
_cycle_start(0.0),
_to_uncommit(0),
- _uncommitted(0) {
+ _uncommitted(0),
+ _force_uncommit(false),
+ _force_uncommit_lock() {
set_name("ZUncommitter#%u", id);
create_and_start();
}
@@ -61,7 +63,7 @@ bool ZUncommitter::wait(uint64_t timeout) const {
_lock.wait();
}
- if (!_stop && timeout > 0) {
+ if (!_stop && timeout > 0 && !_force_uncommit) {
if (!uncommit_cycle_is_finished()) {
log_trace(gc, heap)("Uncommitter (%u) Timeout: " UINT64_FORMAT "ms left to uncommit: "
EXACTFMT, _id, timeout, EXACTFMTARGS(_to_uncommit));
@@ -80,9 +82,8 @@ bool ZUncommitter::wait(uint64_t timeout) const {
// Wait
_lock.wait(remaining_timeout_ms);
-
now = os::elapsedTime();
- } while (!_stop && now < wait_until);
+ } while (!_stop && now < wait_until && !_force_uncommit);
}
return !_stop;
@@ -123,10 +124,6 @@ void ZUncommitter::run_thread() {
while (should_continue()) {
// Uncommit chunk
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
- const size_t uncommitted = _partition->uncommit(&timeout, ZUncommitDelay);
- if (uncommitted == 0) {
-=======
const size_t uncommitted = uncommit();
// Update uncommitted counter
@@ -135,7 +132,6 @@ void ZUncommitter::run_thread() {
// 'uncommitted == 0' is a proxy for uncommit_cycle_is_canceled() without
// having to take the page allocator lock
if (uncommitted == 0 || uncommit_cycle_is_finished()) {
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
// Done
break;
}
@@ -203,6 +199,10 @@ void ZUncommitter::deactivate_uncommit_cycle() {
update_next_cycle_timeout_on_finish();
}
+ if (uncommit_cycle_is_finished()) {
+ finish_force_uncommit();
+ }
+
// Reset the cycle
reset_uncommit_cycle();
}
@@ -428,3 +428,28 @@ size_t ZUncommitter::uncommit() {
return flushed;
}
+
+void ZUncommitter::force_uncommit() {
+ {
+ ZLocker<ZConditionLock> locker(&_lock);
+ _force_uncommit = true;
+ _lock.notify_all();
+ }
+
+ wait_for_finish_force_uncommit();
+}
+
+void ZUncommitter::wait_for_finish_force_uncommit() {
+ ZLocker<ZConditionLock> locker(&_force_uncommit_lock);
+ while (_force_uncommit) {
+ _force_uncommit_lock.wait();
+ }
+}
+
+void ZUncommitter::finish_force_uncommit() {
+ if (_force_uncommit) {
+ ZLocker<ZConditionLock> locker(&_force_uncommit_lock);
+ _force_uncommit = false;
+ _force_uncommit_lock.notify_all();
+ }
+}
diff --git a/src/hotspot/share/gc/z/zUncommitter.hpp b/src/hotspot/share/gc/z/zUncommitter.hpp
index a3cd2b17e23..1c2fd3213ea 100644
--- a/src/hotspot/share/gc/z/zUncommitter.hpp
+++ b/src/hotspot/share/gc/z/zUncommitter.hpp
@@ -42,6 +42,8 @@ class ZUncommitter : public ZThread {
double _cycle_start;
size_t _to_uncommit;
size_t _uncommitted;
+ bool _force_uncommit;
+ mutable ZConditionLock _force_uncommit_lock;
bool wait(uint64_t timeout) const;
bool should_continue() const;
@@ -65,6 +67,9 @@ class ZUncommitter : public ZThread {
void update_statistics(size_t uncommitted, Ticks start, Tickspan* accumulated_time) const;
+ void wait_for_finish_force_uncommit();
+ void finish_force_uncommit();
+
protected:
virtual void run_thread();
virtual void terminate();
@@ -73,6 +78,8 @@ class ZUncommitter : public ZThread {
ZUncommitter(uint32_t id, ZPartition* partition);
void cancel_uncommit_cycle();
+
+ void force_uncommit();
};
#endif // SHARE_GC_Z_ZUNCOMMITTER_HPP
diff --git a/src/hotspot/share/jfr/jfr.cpp b/src/hotspot/share/jfr/jfr.cpp
remerge CONFLICT (content): Merge conflict in src/hotspot/share/jfr/jfr.cpp
index dd9f2d07078..99c151af740 100644
--- a/src/hotspot/share/jfr/jfr.cpp
+++ b/src/hotspot/share/jfr/jfr.cpp
@@ -37,15 +37,12 @@
#include "jfr/support/jfrKlassExtension.hpp"
#include "jfr/support/jfrResolution.hpp"
#include "jfr/support/jfrThreadLocal.hpp"
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
#include "memory/resourceArea.hpp"
#include "runtime/flags/jvmFlag.hpp"
-=======
#include "jfr/support/methodtracer/jfrMethodTracer.hpp"
#include "oops/instanceKlass.hpp"
#include "oops/instanceKlass.inline.hpp"
#include "oops/klass.hpp"
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
#include "runtime/java.hpp"
#include "runtime/javaThread.hpp"
diff --git a/src/hotspot/share/jfr/jfr.hpp b/src/hotspot/share/jfr/jfr.hpp
remerge CONFLICT (content): Merge conflict in src/hotspot/share/jfr/jfr.hpp
index df2d24c92a6..26dfc51445e 100644
--- a/src/hotspot/share/jfr/jfr.hpp
+++ b/src/hotspot/share/jfr/jfr.hpp
@@ -76,13 +76,10 @@ class Jfr : AllStatic {
static bool on_start_flight_recording_option(const JavaVMOption** option, char* delimiter);
static void on_backpatching(const Method* callee_method, JavaThread* jt);
static void initialize_main_thread(JavaThread* jt);
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
static void before_checkpoint();
static void after_restore();
-=======
static bool has_sample_request(JavaThread* jt);
static void check_and_process_sample_request(JavaThread* jt);
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
};
#endif // SHARE_JFR_JFR_HPP
diff --git a/src/hotspot/share/jfr/jni/jfrJniMethodRegistration.cpp b/src/hotspot/share/jfr/jni/jfrJniMethodRegistration.cpp
remerge CONFLICT (content): Merge conflict in src/hotspot/share/jfr/jni/jfrJniMethodRegistration.cpp
index f5c56e0ad26..67c0a6615e0 100644
--- a/src/hotspot/share/jfr/jni/jfrJniMethodRegistration.cpp
+++ b/src/hotspot/share/jfr/jni/jfrJniMethodRegistration.cpp
@@ -102,14 +102,10 @@ JfrJniMethodRegistration::JfrJniMethodRegistration(JNIEnv* env) {
(char*)"registerStackFilter", (char*)"([Ljava/lang/String;[Ljava/lang/String;)J", (void*)jfr_register_stack_filter,
(char*)"unregisterStackFilter", (char*)"(J)V", (void*)jfr_unregister_stack_filter,
(char*)"nanosNow", (char*)"()J", (void*)jfr_nanos_now,
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
(char*)"startFlightRecorderAfterRestore", (char*)"()V", (void*)jfr_start_after_restore,
- (char*)"isProduct", (char*)"()Z", (void*)jfr_is_product
-=======
(char*)"isProduct", (char*)"()Z", (void*)jfr_is_product,
(char*)"setMethodTraceFilters", (char*)"([Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[I)[J", (void*)jfr_set_method_trace_filters,
(char*)"drainStaleMethodTracerIds", (char*)"()[J", (void*)jfr_drain_stale_method_tracer_ids
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
};
const size_t method_array_length = sizeof(method) / sizeof(JNINativeMethod);
diff --git a/src/hotspot/share/jfr/jni/jfrUpcalls.cpp b/src/hotspot/share/jfr/jni/jfrUpcalls.cpp
remerge CONFLICT (content): Merge conflict in src/hotspot/share/jfr/jni/jfrUpcalls.cpp
index af81264f6ab..75a30d3ecd4 100644
--- a/src/hotspot/share/jfr/jni/jfrUpcalls.cpp
+++ b/src/hotspot/share/jfr/jni/jfrUpcalls.cpp
@@ -53,15 +53,12 @@ static Symbol* bytes_for_eager_instrumentation_sym = nullptr;
static Symbol* bytes_for_eager_instrumentation_sig_sym = nullptr;
static Symbol* unhide_internal_types_sym = nullptr;
static Symbol* unhide_internal_types_sig_sym = nullptr;
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
static Symbol* request_start_after_restore_sym = nullptr;
static Symbol* request_start_after_restore_sig_sym = nullptr;
-=======
static Symbol* on_method_trace_sym = nullptr;
static Symbol* on_method_trace_sig_sym = nullptr;
static Symbol* publish_method_timers_for_klass_sym = nullptr;
static Symbol* publish_method_timers_for_klass_sig_sym = nullptr;
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
static bool initialize(TRAPS) {
static bool initialized = false;
@@ -74,17 +71,14 @@ static bool initialize(TRAPS) {
bytes_for_eager_instrumentation_sig_sym = SymbolTable::new_permanent_symbol("(JZZLjava/lang/Class;[B)[B");
unhide_internal_types_sym = SymbolTable::new_permanent_symbol("unhideInternalTypes");
unhide_internal_types_sig_sym = SymbolTable::new_permanent_symbol("()V");
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
request_start_after_restore_sym = SymbolTable::new_permanent_symbol("requestStartAfterRestore");
request_start_after_restore_sig_sym = SymbolTable::new_permanent_symbol("()V");
initialized = unhide_internal_types_sig_sym != nullptr;
-=======
on_method_trace_sym = SymbolTable::new_permanent_symbol("onMethodTrace");
on_method_trace_sig_sym = SymbolTable::new_permanent_symbol("(Ljava/lang/Module;Ljava/lang/ClassLoader;Ljava/lang/String;[B[J[Ljava/lang/String;[Ljava/lang/String;[I)[B");
publish_method_timers_for_klass_sym = SymbolTable::new_permanent_symbol("publishMethodTimersForClass");
publish_method_timers_for_klass_sig_sym = SymbolTable::new_permanent_symbol("(J)V");
initialized = publish_method_timers_for_klass_sig_sym != nullptr;
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
}
return initialized;
}
@@ -233,7 +227,6 @@ bool JfrUpcalls::unhide_internal_types(TRAPS) {
return true;
}
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
void JfrUpcalls::request_start_after_restore() {
JavaThread * const THREAD = JavaThread::current();
DEBUG_ONLY(JfrJavaSupport::check_java_thread_in_vm(THREAD));
@@ -258,7 +251,8 @@ void JfrUpcalls::request_start_after_restore() {
ResourceMark rm(THREAD);
log_error(jfr, system)("JfrUpcall failed for %s", request_start_after_restore_sym->as_C_string());
}
-=======
+}
+
// Caller needs ResourceMark
ClassFileStream* JfrUpcalls::on_method_trace(InstanceKlass* ik, const ClassFileStream* stream, GrowableArray<JfrTracedMethod>* methods, TRAPS) {
DEBUG_ONLY(JfrJavaSupport::check_java_thread_in_vm(THREAD));
@@ -357,5 +351,4 @@ void JfrUpcalls::publish_method_timers_for_klass(traceid klass_id, TRAPS) {
JavaValue result(T_VOID);
args.push_long(static_cast<jlong>(klass_id));
JavaCalls::call_static(&result, klass, publish_method_timers_for_klass_sym, publish_method_timers_for_klass_sig_sym, &args, CHECK);
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
}
diff --git a/src/java.base/share/classes/java/net/InetAddress.java b/src/java.base/share/classes/java/net/InetAddress.java
remerge CONFLICT (content): Merge conflict in src/java.base/share/classes/java/net/InetAddress.java
index 9f31500c1af..c06121d4f5d 100644
--- a/src/java.base/share/classes/java/net/InetAddress.java
+++ b/src/java.base/share/classes/java/net/InetAddress.java
@@ -54,12 +54,9 @@
import java.util.concurrent.locks.ReentrantLock;
import java.util.stream.Stream;
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
import jdk.internal.crac.mirror.Context;
import jdk.internal.crac.mirror.Resource;
-=======
import jdk.internal.util.Exceptions;
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
import jdk.internal.access.JavaNetInetAddressAccess;
import jdk.internal.access.SharedSecrets;
import jdk.internal.crac.Core;
diff --git a/src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/amd64/AMD64HotSpotJVMCIBackendFactory.java b/src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/amd64/AMD64HotSpotJVMCIBackendFactory.java
remerge CONFLICT (content): Merge conflict in src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/amd64/AMD64HotSpotJVMCIBackendFactory.java
index 58ddca49e47..040f39e3b8a 100644
--- a/src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/amd64/AMD64HotSpotJVMCIBackendFactory.java
+++ b/src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/amd64/AMD64HotSpotJVMCIBackendFactory.java
@@ -49,23 +49,14 @@ private static EnumSet<CPUFeature> computeFeatures(AMD64HotSpotVMConfig config)
// Configure the feature set using the HotSpot flag settings.
Map<String, Long> constants = config.getStore().getConstants();
Map<String, String> renaming = Map.of("3DNOW_PREFETCH", "AMD_3DNOW_PREFETCH");
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
- assert config.useSSE >= 2 : "minimum config for x64";
-=======
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
long featuresBitMapAddress = config.vmVersionFeatures + config.vmFeaturesFeaturesOffset;
EnumSet<CPUFeature> features = HotSpotJVMCIBackendFactory.convertFeatures(CPUFeature.class,
constants,
featuresBitMapAddress,
config.vmFeaturesFeaturesSize,
renaming);
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
- features.add(AMD64.CPUFeature.SSE);
- features.add(AMD64.CPUFeature.SSE2);
-=======
assert features.contains(AMD64.CPUFeature.SSE) : "minimum config for x64";
assert features.contains(AMD64.CPUFeature.SSE2) : "minimum config for x64";
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
return features;
}
diff --git a/src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/amd64/AMD64HotSpotVMConfig.java b/src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/amd64/AMD64HotSpotVMConfig.java
remerge CONFLICT (content): Merge conflict in src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/amd64/AMD64HotSpotVMConfig.java
index aad0441e4fc..1b3a46fc8d7 100644
--- a/src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/amd64/AMD64HotSpotVMConfig.java
+++ b/src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/amd64/AMD64HotSpotVMConfig.java
@@ -35,61 +35,7 @@ class AMD64HotSpotVMConfig extends HotSpotVMConfigAccess {
}
final boolean useCompressedOops = getFlag("UseCompressedOops", Boolean.class);
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
-
- final long vmVersionFeatures = getFieldAddress("VM_Version::_features", "VM_Version::VM_Features");
- final long vmFeaturesFeaturesOffset = getFieldOffset("VM_Version::VM_Features::_features_bitmap[0]", Long.class, "uint64_t");
- final long vmFeaturesFeaturesSize = getFieldValue("VM_Version::VM_Features::_features_bitmap_size", Long.class, "int");
-
- // CPU capabilities
- final int useSSE = getFlag("UseSSE", Integer.class);
- final int useAVX = getFlag("UseAVX", Integer.class);
-
- // CPU feature flags
- final long amd64CX8 = getConstant("VM_Version::CPU_CX8", Long.class);
- final long amd64CMOV = getConstant("VM_Version::CPU_CMOV", Long.class);
- final long amd64FXSR = getConstant("VM_Version::CPU_FXSR", Long.class);
- final long amd64HT = getConstant("VM_Version::CPU_HT", Long.class);
- final long amd64MMX = getConstant("VM_Version::CPU_MMX", Long.class);
- final long amd643DNOWPREFETCH = getConstant("VM_Version::CPU_3DNOW_PREFETCH", Long.class);
- final long amd64SSE = getConstant("VM_Version::CPU_SSE", Long.class);
- final long amd64SSE2 = getConstant("VM_Version::CPU_SSE2", Long.class);
- final long amd64SSE3 = getConstant("VM_Version::CPU_SSE3", Long.class);
- final long amd64SSSE3 = getConstant("VM_Version::CPU_SSSE3", Long.class);
- final long amd64SSE4A = getConstant("VM_Version::CPU_SSE4A", Long.class);
- final long amd64SSE41 = getConstant("VM_Version::CPU_SSE4_1", Long.class);
- final long amd64SSE42 = getConstant("VM_Version::CPU_SSE4_2", Long.class);
- final long amd64POPCNT = getConstant("VM_Version::CPU_POPCNT", Long.class);
- final long amd64LZCNT = getConstant("VM_Version::CPU_LZCNT", Long.class);
- final long amd64TSC = getConstant("VM_Version::CPU_TSC", Long.class);
- final long amd64TSCINV = getConstant("VM_Version::CPU_TSCINV", Long.class);
- final long amd64AVX = getConstant("VM_Version::CPU_AVX", Long.class);
- final long amd64AVX2 = getConstant("VM_Version::CPU_AVX2", Long.class);
- final long amd64AES = getConstant("VM_Version::CPU_AES", Long.class);
- final long amd64ERMS = getConstant("VM_Version::CPU_ERMS", Long.class);
- final long amd64CLMUL = getConstant("VM_Version::CPU_CLMUL", Long.class);
- final long amd64BMI1 = getConstant("VM_Version::CPU_BMI1", Long.class);
- final long amd64BMI2 = getConstant("VM_Version::CPU_BMI2", Long.class);
- final long amd64RTM = getConstant("VM_Version::CPU_RTM", Long.class);
- final long amd64ADX = getConstant("VM_Version::CPU_ADX", Long.class);
- final long amd64AVX512F = getConstant("VM_Version::CPU_AVX512F", Long.class);
- final long amd64AVX512DQ = getConstant("VM_Version::CPU_AVX512DQ", Long.class);
- final long amd64AVX512PF = getConstant("VM_Version::CPU_AVX512PF", Long.class);
- final long amd64AVX512ER = getConstant("VM_Version::CPU_AVX512ER", Long.class);
- final long amd64AVX512CD = getConstant("VM_Version::CPU_AVX512CD", Long.class);
- final long amd64AVX512BW = getConstant("VM_Version::CPU_AVX512BW", Long.class);
- final long amd64AVX512VL = getConstant("VM_Version::CPU_AVX512VL", Long.class);
- final long amd64SHA = getConstant("VM_Version::CPU_SHA", Long.class);
- final long amd64FMA = getConstant("VM_Version::CPU_FMA", Long.class);
- final long amd64PKU = getConstant("VM_Version::CPU_PKU", Long.class);
- final long amd64OSPKE = getConstant("VM_Version::CPU_OSPKE", Long.class);
- final long amd64CET_IBT = getConstant("VM_Version::CPU_CET_IBT", Long.class);
- final long amd64CET_SS = getConstant("VM_Version::CPU_CET_SS", Long.class);
- final long amd64AVX10_1 = getConstant("VM_Version::CPU_AVX10_1", Long.class);
- final long amd64AVX10_2 = getConstant("VM_Version::CPU_AVX10_2", Long.class);
-=======
final long vmVersionFeatures = getFieldAddress("VM_Version::_features", "VM_Version::VM_Features");
final long vmFeaturesFeaturesOffset = getFieldOffset("VM_Version::VM_Features::_features_bitmap[0]", Long.class, "uint64_t");
final long vmFeaturesFeaturesSize = getFieldValue("VM_Version::VM_Features::_features_bitmap_size", Long.class, "int");
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
}
diff --git a/src/jdk.jfr/share/classes/jdk/jfr/internal/JVMUpcalls.java b/src/jdk.jfr/share/classes/jdk/jfr/internal/JVMUpcalls.java
remerge CONFLICT (content): Merge conflict in src/jdk.jfr/share/classes/jdk/jfr/internal/JVMUpcalls.java
index 874b29e9880..ddf439066d3 100644
--- a/src/jdk.jfr/share/classes/jdk/jfr/internal/JVMUpcalls.java
+++ b/src/jdk.jfr/share/classes/jdk/jfr/internal/JVMUpcalls.java
@@ -25,11 +25,8 @@
package jdk.jfr.internal;
import java.lang.reflect.Modifier;
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
import jdk.internal.crac.Core;
-=======
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
import jdk.jfr.internal.event.EventConfiguration;
import jdk.jfr.internal.util.Bytecode;
import jdk.jfr.internal.util.Utils;
@@ -167,12 +164,13 @@ static Thread createRecorderThread(ThreadGroup systemThreadGroup, ClassLoader co
}
/**
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
* Called by the JVM when it is restored with a new -XX:StartFlightRecorder
*/
static void requestStartAfterRestore() {
Core.setStartFlightRecorder(JVM::startFlightRecorderAfterRestore);
-=======
+ }
+
+ /**
* Called by the JVM to update method tracing instrumentation.
* <p>
* @param module the module the class belongs to
@@ -201,6 +199,5 @@ public static byte[] onMethodTrace(Module module, ClassLoader classLoader, Strin
*/
public static void publishMethodTimersForClass(long classId) {
PlatformTracer.publishClass(classId);
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
}
}
diff --git a/src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java b/src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java
index 811c72be8c4..7c5190ca2eb 100644
--- a/src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java
+++ b/src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java
@@ -25,6 +25,7 @@
package jdk.jfr.internal;
+import static jdk.jfr.internal.LogLevel.ERROR;
import static jdk.jfr.internal.LogLevel.INFO;
import static jdk.jfr.internal.LogLevel.TRACE;
import static jdk.jfr.internal.LogLevel.WARN;
diff --git a/test/hotspot/jtreg/ProblemList.txt b/test/hotspot/jtreg/ProblemList.txt
remerge CONFLICT (content): Merge conflict in test/hotspot/jtreg/ProblemList.txt
index 20bd09b4ce0..243723be61e 100644
--- a/test/hotspot/jtreg/ProblemList.txt
+++ b/test/hotspot/jtreg/ProblemList.txt
@@ -108,12 +108,9 @@ runtime/os/TestTracePageSizes.java#compiler-options 8267460 linux-aarch64
runtime/os/TestTracePageSizes.java#G1 8267460 linux-aarch64
runtime/os/TestTracePageSizes.java#Parallel 8267460 linux-aarch64
runtime/os/TestTracePageSizes.java#Serial 8267460 linux-aarch64
-<<<<<<< d61227fe01d (8352675: Support Intel AVX10 converged vector ISA feature detection)
runtime/ErrorHandling/CreateCoredumpOnCrash.java 8267433 macosx-x64
# JDK-8310862 was closed but we're still seeing errors with the updated test
runtime/ClassInitErrors/TestStackOverflowDuringInit.java 8310862 generic-all
-=======
->>>>>>> c59e44a7aa2 (8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual)
runtime/StackGuardPages/TestStackGuardPagesNative.java 8303612 linux-all
runtime/ErrorHandling/MachCodeFramesInErrorFile.java 8313315 linux-ppc64le
runtime/NMT/VirtualAllocCommitMerge.java 8309698 linux-s390x
</details>
Notes about merge conflicts
- `src/hotspot/share/gc/g1` - conflicts after renaming ([JDK-8357559](https://bugs.openjdk.org/browse/JDK-8357559)) and heap shrinking ([JDK-8355756](https://bugs.openjdk.org/browse/JDK-8355756))
- `src/hotspot/share/gc/z` - conflicts after cleanup ([JDK-8356716](https://bugs.openjdk.org/browse/JDK-8356716)), adding `ZUncommitter::force_uncommit` that is triggered at checkpoint
- testing results look very similar, image size for example-spring-boot
- before merge - G1 - 210-216MB ZGC - 277-282MB
- after merge - G1 - 213-217MB ZGC - 281-292MB
- `src/hotspot/share/jfr` - conflicts after [JDK-8352738](https://bugs.openjdk.org/browse/JDK-8352738) and [JDK-8352251](https://bugs.openjdk.org/browse/JDK-8352251)
- `src/jdk.internal.vm.ci` - conflicts after [JDK-8334717](https://bugs.openjdk.org/browse/JDK-8334717)
- `.github/workflows` - [JDK-8355452](https://bugs.openjdk.org/browse/JDK-8355452) enabled testing on linux-x64 static-jdk. There are many failures in crac tests. Most of tests failed with `"Cannot find CRaC engine criuengine"` error but there might be other types of failures. I suggest fixing this separately. As part of this merge, I disabled running the tests on static-jdk.
-------------
Commit messages:
- Merge with jdk-25+26
- 8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual
- 8337666: AArch64: SHA3 GPR intrinsic
- 8358689: test/micro/org/openjdk/bench/java/net/SocketEventOverhead.java does not build after JDK-8351594
- 8358633: Test ThreadPoolExecutorTest::testTimedInvokeAnyNullTimeUnit is broken by JDK-8347491
- 8358590: JFR: Include min and max in MethodTiming event
- 8351594: JFR: Rate-limited sampling of Java events
- 8349369: test/docs/jdk/javadoc/doccheck/checks/jdkCheckLinks.java did not report on missing man page files
- 8356633: Incorrect use of {@link} in jdk.jshell
- 8357962: JFR Cooperative Sampling reveals inconsistent interpreter frames as part of JVMTI PopFrame
- ... and 536 more: https://git.openjdk.org/crac/compare/1846ced2...5035f463
The webrevs contain the adjustments done while merging with regards to each parent branch:
- crac: https://webrevs.openjdk.org/?repo=crac&pr=248&range=00.0
- jdk:jdk-25+26: https://webrevs.openjdk.org/?repo=crac&pr=248&range=00.1
Changes: https://git.openjdk.org/crac/pull/248/files
Stats: 167034 lines in 2901 files changed: 99490 ins; 45922 del; 21622 mod
Patch: https://git.openjdk.org/crac/pull/248.diff
Fetch: git fetch https://git.openjdk.org/crac.git pull/248/head:pull/248
PR: https://git.openjdk.org/crac/pull/248
More information about the crac-dev
mailing list