[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