I5RUMQ:upgrade to jdk11.0.17-06

This commit is contained in:
DXwangg 2022-09-19 17:01:31 +08:00
parent 09195f5f98
commit 7c4df21098
5 changed files with 206 additions and 128 deletions

View File

@ -1,8 +1,70 @@
From 84c7ddb13a933e193312e39707db9a84137e2372 Mon Sep 17 00:00:00 2001
From: miaomiao <miaomiao@miaomiaos-MacBook-Pro.local>
Date: Wed, 21 Sep 2022 11:01:25 +0800
Subject: [PATCH] test1
---
src/hotspot/os/bsd/os_bsd.cpp | 4 +
src/hotspot/os/linux/os_linux.cpp | 120 +++++--
src/hotspot/os/linux/os_linux.hpp | 40 +++
src/hotspot/os/solaris/os_solaris.cpp | 4 +
src/hotspot/os/windows/os_windows.cpp | 4 +
src/hotspot/share/gc/g1/g1AllocRegion.cpp | 18 +-
src/hotspot/share/gc/g1/g1AllocRegion.hpp | 19 +-
src/hotspot/share/gc/g1/g1Allocator.cpp | 185 ++++++++---
src/hotspot/share/gc/g1/g1Allocator.hpp | 69 ++--
.../share/gc/g1/g1Allocator.inline.hpp | 77 +++--
src/hotspot/share/gc/g1/g1CollectedHeap.cpp | 173 ++++++++--
src/hotspot/share/gc/g1/g1CollectedHeap.hpp | 37 +--
src/hotspot/share/gc/g1/g1EdenRegions.hpp | 13 +-
src/hotspot/share/gc/g1/g1HeapTransition.cpp | 70 +++-
src/hotspot/share/gc/g1/g1HeapTransition.hpp | 6 +
src/hotspot/share/gc/g1/g1HeapVerifier.cpp | 2 +-
src/hotspot/share/gc/g1/g1InCSetState.hpp | 18 +-
src/hotspot/share/gc/g1/g1NUMA.cpp | 305 ++++++++++++++++++
src/hotspot/share/gc/g1/g1NUMA.hpp | 152 +++++++++
src/hotspot/share/gc/g1/g1NUMAStats.cpp | 232 +++++++++++++
src/hotspot/share/gc/g1/g1NUMAStats.hpp | 119 +++++++
.../share/gc/g1/g1PageBasedVirtualSpace.cpp | 5 +
.../share/gc/g1/g1PageBasedVirtualSpace.hpp | 6 +-
.../share/gc/g1/g1ParScanThreadState.cpp | 54 ++--
.../share/gc/g1/g1ParScanThreadState.hpp | 33 +-
.../gc/g1/g1ParScanThreadState.inline.hpp | 25 ++
.../share/gc/g1/g1RegionToSpaceMapper.cpp | 42 ++-
.../share/gc/g1/g1RegionToSpaceMapper.hpp | 2 +
src/hotspot/share/gc/g1/g1RegionsOnNodes.cpp | 59 ++++
src/hotspot/share/gc/g1/g1RegionsOnNodes.hpp | 51 +++
src/hotspot/share/gc/g1/g1SurvivorRegions.cpp | 14 +-
src/hotspot/share/gc/g1/g1SurvivorRegions.hpp | 6 +-
src/hotspot/share/gc/g1/heapRegion.cpp | 17 +-
src/hotspot/share/gc/g1/heapRegion.hpp | 4 +
src/hotspot/share/gc/g1/heapRegionManager.cpp | 99 +++++-
src/hotspot/share/gc/g1/heapRegionManager.hpp | 28 +-
src/hotspot/share/gc/g1/heapRegionSet.cpp | 139 ++++----
src/hotspot/share/gc/g1/heapRegionSet.hpp | 83 +++--
.../share/gc/g1/heapRegionSet.inline.hpp | 104 +++++-
src/hotspot/share/gc/g1/heapRegionType.cpp | 5 +
src/hotspot/share/gc/g1/heapRegionType.hpp | 8 +
src/hotspot/share/logging/logPrefix.hpp | 1 +
src/hotspot/share/logging/logTag.hpp | 1 +
src/hotspot/share/prims/whitebox.cpp | 25 ++
src/hotspot/share/runtime/os.hpp | 1 +
.../gc/g1/numa/TestG1NUMATouchRegions.java | 245 ++++++++++++++
test/lib/sun/hotspot/WhiteBox.java | 3 +
47 files changed, 2358 insertions(+), 369 deletions(-)
create mode 100644 src/hotspot/share/gc/g1/g1NUMA.cpp
create mode 100644 src/hotspot/share/gc/g1/g1NUMA.hpp
create mode 100644 src/hotspot/share/gc/g1/g1NUMAStats.cpp
create mode 100644 src/hotspot/share/gc/g1/g1NUMAStats.hpp
create mode 100644 src/hotspot/share/gc/g1/g1RegionsOnNodes.cpp
create mode 100644 src/hotspot/share/gc/g1/g1RegionsOnNodes.hpp
create mode 100644 test/hotspot/jtreg/gc/g1/numa/TestG1NUMATouchRegions.java
diff --git a/src/hotspot/os/bsd/os_bsd.cpp b/src/hotspot/os/bsd/os_bsd.cpp
index e31b52935..b2cf2cde8 100644
index f5e4c367c..6f5818969 100644
--- a/src/hotspot/os/bsd/os_bsd.cpp
+++ b/src/hotspot/os/bsd/os_bsd.cpp
@@ -2079,6 +2079,10 @@ size_t os::numa_get_leaf_groups(int *ids, size_t size) {
@@ -2103,6 +2103,10 @@ size_t os::numa_get_leaf_groups(int *ids, size_t size) {
return 0;
}
@ -14,10 +76,10 @@ index e31b52935..b2cf2cde8 100644
return false;
}
diff --git a/src/hotspot/os/linux/os_linux.cpp b/src/hotspot/os/linux/os_linux.cpp
index 9c848c6b3..013c009c0 100644
index f073aa63a..1323cc0ac 100644
--- a/src/hotspot/os/linux/os_linux.cpp
+++ b/src/hotspot/os/linux/os_linux.cpp
@@ -3025,6 +3025,19 @@ int os::numa_get_group_id() {
@@ -3232,6 +3232,19 @@ int os::numa_get_group_id() {
return 0;
}
@ -37,7 +99,7 @@ index 9c848c6b3..013c009c0 100644
int os::Linux::get_existing_num_nodes() {
int node;
int highest_node_number = Linux::numa_max_node();
@@ -3151,11 +3164,17 @@ bool os::Linux::libnuma_init() {
@@ -3378,11 +3391,17 @@ bool os::Linux::libnuma_init() {
libnuma_dlsym(handle, "numa_distance")));
set_numa_get_membind(CAST_TO_FN_PTR(numa_get_membind_func_t,
libnuma_v2_dlsym(handle, "numa_get_membind")));
@ -55,7 +117,7 @@ index 9c848c6b3..013c009c0 100644
// Create an index -> node mapping, since nodes are not always consecutive
_nindex_to_node = new (ResourceObj::C_HEAP, mtInternal) GrowableArray<int>(0, true);
rebuild_nindex_to_node_map();
@@ -3282,9 +3301,14 @@ os::Linux::numa_set_bind_policy_func_t os::Linux::_numa_set_bind_policy;
@@ -3530,9 +3549,14 @@ os::Linux::numa_set_bind_policy_func_t os::Linux::_numa_set_bind_policy;
os::Linux::numa_bitmask_isbitset_func_t os::Linux::_numa_bitmask_isbitset;
os::Linux::numa_distance_func_t os::Linux::_numa_distance;
os::Linux::numa_get_membind_func_t os::Linux::_numa_get_membind;
@ -70,7 +132,7 @@ index 9c848c6b3..013c009c0 100644
bool os::pd_uncommit_memory(char* addr, size_t size) {
uintptr_t res = (uintptr_t) ::mmap(addr, size, PROT_NONE,
@@ -5202,6 +5226,75 @@ void os::pd_init_container_support() {
@@ -5477,6 +5501,75 @@ void os::pd_init_container_support() {
OSContainer::init();
}
@ -146,7 +208,7 @@ index 9c848c6b3..013c009c0 100644
// this is called _after_ the global arguments have been parsed
jint os::init_2(void) {
@@ -5245,32 +5338,7 @@ jint os::init_2(void) {
@@ -5520,32 +5613,7 @@ jint os::init_2(void) {
Linux::libc_version(), Linux::libpthread_version());
if (UseNUMA) {
@ -181,10 +243,10 @@ index 9c848c6b3..013c009c0 100644
if (MaxFDLimit) {
diff --git a/src/hotspot/os/linux/os_linux.hpp b/src/hotspot/os/linux/os_linux.hpp
index 721a3b649..3c42c23e1 100644
index 62150144f..79eeb5489 100644
--- a/src/hotspot/os/linux/os_linux.hpp
+++ b/src/hotspot/os/linux/os_linux.hpp
@@ -229,6 +229,7 @@ class Linux {
@@ -231,6 +231,7 @@ class Linux {
// none present
private:
@ -192,7 +254,7 @@ index 721a3b649..3c42c23e1 100644
static void expand_stack_to(address bottom);
typedef int (*sched_getcpu_func_t)(void);
@@ -240,6 +241,8 @@ class Linux {
@@ -243,6 +244,8 @@ class Linux {
typedef void (*numa_interleave_memory_func_t)(void *start, size_t size, unsigned long *nodemask);
typedef void (*numa_interleave_memory_v2_func_t)(void *start, size_t size, struct bitmask* mask);
typedef struct bitmask* (*numa_get_membind_func_t)(void);
@ -201,7 +263,7 @@ index 721a3b649..3c42c23e1 100644
typedef void (*numa_set_bind_policy_func_t)(int policy);
typedef int (*numa_bitmask_isbitset_func_t)(struct bitmask *bmp, unsigned int n);
@@ -257,9 +260,13 @@ class Linux {
@@ -261,9 +264,13 @@ class Linux {
static numa_bitmask_isbitset_func_t _numa_bitmask_isbitset;
static numa_distance_func_t _numa_distance;
static numa_get_membind_func_t _numa_get_membind;
@ -215,7 +277,7 @@ index 721a3b649..3c42c23e1 100644
static void set_sched_getcpu(sched_getcpu_func_t func) { _sched_getcpu = func; }
static void set_numa_node_to_cpus(numa_node_to_cpus_func_t func) { _numa_node_to_cpus = func; }
@@ -273,10 +280,22 @@ class Linux {
@@ -278,11 +285,23 @@ class Linux {
static void set_numa_bitmask_isbitset(numa_bitmask_isbitset_func_t func) { _numa_bitmask_isbitset = func; }
static void set_numa_distance(numa_distance_func_t func) { _numa_distance = func; }
static void set_numa_get_membind(numa_get_membind_func_t func) { _numa_get_membind = func; }
@ -227,7 +289,7 @@ index 721a3b649..3c42c23e1 100644
+ static void set_numa_interleave_bitmask(struct bitmask* ptr) { _numa_interleave_bitmask = ptr ; }
+ static void set_numa_membind_bitmask(struct bitmask* ptr) { _numa_membind_bitmask = ptr ; }
static int sched_getcpu_syscall(void);
+
+ enum NumaAllocationPolicy{
+ NotInitialized,
+ Membind,
@ -235,10 +297,11 @@ index 721a3b649..3c42c23e1 100644
+ };
+ static NumaAllocationPolicy _current_numa_policy;
+
+
#ifdef __GLIBC__
struct glibc_mallinfo {
@@ -290,6 +309,24 @@ class Linux {
int arena;
@@ -328,6 +347,24 @@ class Linux {
static int numa_tonode_memory(void *start, size_t size, int node) {
return _numa_tonode_memory != NULL ? _numa_tonode_memory(start, size, node) : -1;
}
@ -263,7 +326,7 @@ index 721a3b649..3c42c23e1 100644
static void numa_interleave_memory(void *start, size_t size) {
// Use v2 api if available
if (_numa_interleave_memory_v2 != NULL && _numa_all_nodes_ptr != NULL) {
@@ -306,6 +343,9 @@ class Linux {
@@ -344,6 +381,9 @@ class Linux {
static int numa_distance(int node1, int node2) {
return _numa_distance != NULL ? _numa_distance(node1, node2) : -1;
}
@ -274,7 +337,7 @@ index 721a3b649..3c42c23e1 100644
static int get_existing_num_nodes();
// Check if numa node is configured (non-zero memory node).
diff --git a/src/hotspot/os/solaris/os_solaris.cpp b/src/hotspot/os/solaris/os_solaris.cpp
index 2266eedaa..c907ec9e4 100644
index ae5a7cd58..983c5c623 100644
--- a/src/hotspot/os/solaris/os_solaris.cpp
+++ b/src/hotspot/os/solaris/os_solaris.cpp
@@ -2441,6 +2441,10 @@ int os::numa_get_group_id() {
@ -289,10 +352,10 @@ index 2266eedaa..c907ec9e4 100644
bool os::get_page_info(char *start, page_info* info) {
const uint_t info_types[] = { MEMINFO_VLGRP, MEMINFO_VPAGESIZE };
diff --git a/src/hotspot/os/windows/os_windows.cpp b/src/hotspot/os/windows/os_windows.cpp
index eaa021b7a..9101d73aa 100644
index ee826bbde..6ebe8410d 100644
--- a/src/hotspot/os/windows/os_windows.cpp
+++ b/src/hotspot/os/windows/os_windows.cpp
@@ -3440,6 +3440,10 @@ size_t os::numa_get_leaf_groups(int *ids, size_t size) {
@@ -3525,6 +3525,10 @@ size_t os::numa_get_leaf_groups(int *ids, size_t size) {
}
}
@ -1028,10 +1091,10 @@ index 3eda8eb20..66baebc68 100644
// Create the maps which is used to identify archive objects.
diff --git a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp
index dea8d9fdb..3bb5b56e8 100644
index 3b0e6eb65..0c2009b7c 100644
--- a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp
+++ b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp
@@ -97,6 +97,7 @@
@@ -98,6 +98,7 @@
size_t G1CollectedHeap::_humongous_object_threshold_in_words = 0;
@ -1114,7 +1177,7 @@ index dea8d9fdb..3bb5b56e8 100644
if (result != NULL) {
return result;
}
@@ -958,7 +976,8 @@ HeapWord* G1CollectedHeap::attempt_allocation_at_safepoint(size_t word_size,
@@ -962,7 +980,8 @@ HeapWord* G1CollectedHeap::attempt_allocation_at_safepoint(size_t word_size,
"the current alloc region was unexpectedly found to be non-NULL");
if (!is_humongous(word_size)) {
@ -1124,7 +1187,7 @@ index dea8d9fdb..3bb5b56e8 100644
} else {
HeapWord* result = humongous_obj_allocate(word_size);
if (result != NULL && g1_policy()->need_to_start_conc_mark("STW humongous allocation")) {
@@ -1013,10 +1032,9 @@ void G1CollectedHeap::abort_concurrent_cycle() {
@@ -1017,10 +1036,9 @@ void G1CollectedHeap::abort_concurrent_cycle() {
void G1CollectedHeap::prepare_heap_for_full_collection() {
// Make sure we'll choose a new allocation region afterwards.
@ -1136,7 +1199,7 @@ index dea8d9fdb..3bb5b56e8 100644
// We may have added regions to the current incremental collection
// set between the last GC or pause and now. We need to clear the
// incremental collection set and then start rebuilding it afresh
@@ -1051,7 +1069,7 @@ void G1CollectedHeap::prepare_heap_for_mutators() {
@@ -1058,7 +1076,7 @@ void G1CollectedHeap::prepare_heap_for_mutators() {
// Start a new incremental collection set for the next pause
start_new_collection_set();
@ -1145,7 +1208,7 @@ index dea8d9fdb..3bb5b56e8 100644
// Post collection state updates.
MetaspaceGC::compute_new_size();
@@ -1367,6 +1385,19 @@ bool G1CollectedHeap::expand(size_t expand_bytes, WorkGang* pretouch_workers, do
@@ -1374,6 +1392,19 @@ bool G1CollectedHeap::expand(size_t expand_bytes, WorkGang* pretouch_workers, do
return regions_to_expand > 0;
}
@ -1165,7 +1228,7 @@ index dea8d9fdb..3bb5b56e8 100644
void G1CollectedHeap::shrink_helper(size_t shrink_bytes) {
size_t aligned_shrink_bytes =
ReservedSpace::page_align_size_down(shrink_bytes);
@@ -1406,7 +1437,67 @@ void G1CollectedHeap::shrink(size_t shrink_bytes) {
@@ -1413,7 +1444,67 @@ void G1CollectedHeap::shrink(size_t shrink_bytes) {
_verifier->verify_region_sets_optional();
}
@ -1234,7 +1297,7 @@ index dea8d9fdb..3bb5b56e8 100644
G1CollectedHeap::G1CollectedHeap(G1CollectorPolicy* collector_policy) :
CollectedHeap(),
@@ -1431,13 +1522,14 @@ G1CollectedHeap::G1CollectedHeap(G1CollectorPolicy* collector_policy) :
@@ -1438,13 +1529,14 @@ G1CollectedHeap::G1CollectedHeap(G1CollectorPolicy* collector_policy) :
_is_alive_closure_cm(this),
_is_subject_to_discovery_cm(this),
_bot(NULL),
@ -1251,7 +1314,7 @@ index dea8d9fdb..3bb5b56e8 100644
_humongous_reclaim_candidates(),
_has_humongous_reclaim_candidates(false),
_archive_allocator(NULL),
@@ -1650,6 +1742,7 @@ jint G1CollectedHeap::initialize() {
@@ -1657,6 +1749,7 @@ jint G1CollectedHeap::initialize() {
_in_cset_fast_test.initialize(start, end, granularity);
_humongous_reclaim_candidates.initialize(start, end, granularity);
}
@ -1259,7 +1322,7 @@ index dea8d9fdb..3bb5b56e8 100644
// Create the G1ConcurrentMark data structure and thread.
// (Must do this late, so that "max_regions" is defined.)
@@ -1712,7 +1805,7 @@ jint G1CollectedHeap::initialize() {
@@ -1719,7 +1812,7 @@ jint G1CollectedHeap::initialize() {
dummy_region->set_top(dummy_region->end());
G1AllocRegion::setup(this, dummy_region);
@ -1268,7 +1331,7 @@ index dea8d9fdb..3bb5b56e8 100644
// Do create of the monitoring and management support so that
// values in the heap have been properly initialized.
@@ -2275,6 +2368,15 @@ void G1CollectedHeap::print_on(outputStream* st) const {
@@ -2310,6 +2403,15 @@ void G1CollectedHeap::print_on(outputStream* st) const {
st->print("%u survivors (" SIZE_FORMAT "K)", survivor_regions,
(size_t) survivor_regions * HeapRegion::GrainBytes / K);
st->cr();
@ -1284,7 +1347,7 @@ index dea8d9fdb..3bb5b56e8 100644
MetaspaceUtils::print_on(st);
}
@@ -2462,6 +2564,9 @@ void G1CollectedHeap::gc_epilogue(bool full) {
@@ -2497,6 +2599,9 @@ void G1CollectedHeap::gc_epilogue(bool full) {
// We have just completed a GC. Update the soft reference
// policy with the new heap occupancy
Universe::update_heap_info_at_gc();
@ -1294,7 +1357,7 @@ index dea8d9fdb..3bb5b56e8 100644
}
HeapWord* G1CollectedHeap::do_collection_pause(size_t word_size,
@@ -2889,7 +2994,7 @@ G1CollectedHeap::do_collection_pause_at_safepoint(double target_pause_time_ms) {
@@ -2924,7 +3029,7 @@ G1CollectedHeap::do_collection_pause_at_safepoint(double target_pause_time_ms) {
// Forget the current alloc region (we might even choose it to be part
// of the collection set!).
@ -1303,7 +1366,7 @@ index dea8d9fdb..3bb5b56e8 100644
// This timing is only used by the ergonomics to handle our pause target.
// It is unclear why this should not include the full pause. We will
@@ -2983,7 +3088,7 @@ G1CollectedHeap::do_collection_pause_at_safepoint(double target_pause_time_ms) {
@@ -3018,7 +3123,7 @@ G1CollectedHeap::do_collection_pause_at_safepoint(double target_pause_time_ms) {
allocate_dummy_regions();
@ -1312,7 +1375,7 @@ index dea8d9fdb..3bb5b56e8 100644
{
size_t expand_bytes = _heap_sizing_policy->expansion_amount();
@@ -3196,9 +3301,8 @@ public:
@@ -3231,9 +3336,8 @@ public:
if (log_is_enabled(Debug, gc, task, stats)) {
MutexLockerEx x(ParGCRareEvent_lock, Mutex::_no_safepoint_check_flag);
@ -1324,7 +1387,7 @@ index dea8d9fdb..3bb5b56e8 100644
_g1h->print_termination_stats(worker_id,
(os::elapsedTime() - start_sec) * 1000.0, /* elapsed time */
strong_roots_sec * 1000.0, /* strong roots time */
@@ -4719,7 +4823,7 @@ public:
@@ -4755,7 +4859,7 @@ public:
HeapRegionSet* old_set, HeapRegionManager* hrm) :
_free_list_only(free_list_only),
_old_set(old_set), _hrm(hrm), _total_used(0) {
@ -1333,7 +1396,7 @@ index dea8d9fdb..3bb5b56e8 100644
if (!free_list_only) {
assert(_old_set->is_empty(), "pre-condition");
}
@@ -4784,13 +4888,15 @@ bool G1CollectedHeap::is_in_closed_subset(const void* p) const {
@@ -4820,13 +4924,15 @@ bool G1CollectedHeap::is_in_closed_subset(const void* p) const {
// Methods for the mutator alloc region
HeapRegion* G1CollectedHeap::new_mutator_alloc_region(size_t word_size,
@ -1352,7 +1415,7 @@ index dea8d9fdb..3bb5b56e8 100644
if (new_alloc_region != NULL) {
set_region_short_lived_locked(new_alloc_region);
_hr_printer.alloc(new_alloc_region, !should_allocate);
@@ -4826,20 +4932,27 @@ bool G1CollectedHeap::has_more_regions(InCSetState dest) {
@@ -4862,20 +4968,27 @@ bool G1CollectedHeap::has_more_regions(InCSetState dest) {
}
}
@ -1386,7 +1449,7 @@ index dea8d9fdb..3bb5b56e8 100644
_survivor.add(new_alloc_region);
_verifier->check_bitmaps("Survivor Region Allocation", new_alloc_region);
diff --git a/src/hotspot/share/gc/g1/g1CollectedHeap.hpp b/src/hotspot/share/gc/g1/g1CollectedHeap.hpp
index 8a171dc6b..aafaf6a08 100644
index 1f2029ab1..725eb32ca 100644
--- a/src/hotspot/share/gc/g1/g1CollectedHeap.hpp
+++ b/src/hotspot/share/gc/g1/g1CollectedHeap.hpp
@@ -40,6 +40,7 @@
@ -1453,7 +1516,7 @@ index 8a171dc6b..aafaf6a08 100644
// Returns the PLAB statistics for a given destination.
inline G1EvacStats* alloc_buffer_stats(InCSetState dest);
@@ -1235,20 +1244,12 @@ public:
@@ -1242,20 +1251,12 @@ public:
const G1SurvivorRegions* survivor() const { return &_survivor; }
@ -1520,14 +1583,13 @@ index 6d16f8c59..8f4989265 100644
#endif // SHARE_VM_GC_G1_G1EDENREGIONS_HPP
diff --git a/src/hotspot/share/gc/g1/g1HeapTransition.cpp b/src/hotspot/share/gc/g1/g1HeapTransition.cpp
index 907289f28..3ef4ff7fb 100644
index 1a78f588d..8d5c26c95 100644
--- a/src/hotspot/share/gc/g1/g1HeapTransition.cpp
+++ b/src/hotspot/share/gc/g1/g1HeapTransition.cpp
@@ -26,15 +26,38 @@
#include "gc/g1/g1CollectedHeap.hpp"
@@ -27,13 +27,37 @@
#include "gc/g1/g1HeapTransition.hpp"
#include "gc/g1/g1Policy.hpp"
-#include "logging/log.hpp"
#include "logging/log.hpp"
+#include "logging/logStream.hpp"
#include "memory/metaspace.hpp"
@ -1536,12 +1598,10 @@ index 907289f28..3ef4ff7fb 100644
- _survivor_length = g1_heap->survivor_regions_count();
- _old_length = g1_heap->old_regions_count();
- _humongous_length = g1_heap->humongous_regions_count();
- _metaspace_used_bytes = MetaspaceUtils::used_bytes();
+G1HeapTransition::Data::Data(G1CollectedHeap* g1_heap) :
+ _eden_length(g1_heap->eden_regions_count()),
+ _survivor_length(g1_heap->survivor_regions_count()),
+ _old_length(g1_heap->old_regions_count()),
+ _metaspace_used_bytes(MetaspaceUtils::used_bytes()),
+ _humongous_length(g1_heap->humongous_regions_count()),
+ _eden_length_per_node(NULL),
+ _survivor_length_per_node(NULL) {
@ -1562,14 +1622,14 @@ index 907289f28..3ef4ff7fb 100644
+ }
+ }
+}
+
+
+G1HeapTransition::Data::~Data() {
+ FREE_C_HEAP_ARRAY(uint, _eden_length_per_node);
+ FREE_C_HEAP_ARRAY(uint, _survivor_length_per_node);
}
G1HeapTransition::G1HeapTransition(G1CollectedHeap* g1_heap) : _g1_heap(g1_heap), _before(g1_heap) { }
@@ -78,6 +101,34 @@ public:
@@ -77,6 +101,34 @@ public:
}
};
@ -1604,7 +1664,7 @@ index 907289f28..3ef4ff7fb 100644
void G1HeapTransition::print() {
Data after(_g1_heap);
@@ -98,12 +149,12 @@ void G1HeapTransition::print() {
@@ -97,12 +149,12 @@ void G1HeapTransition::print() {
after._humongous_length, usage._humongous_region_count);
}
@ -1622,12 +1682,12 @@ index 907289f28..3ef4ff7fb 100644
usage._survivor_used / K, ((after._survivor_length * HeapRegion::GrainBytes) - usage._survivor_used) / K);
diff --git a/src/hotspot/share/gc/g1/g1HeapTransition.hpp b/src/hotspot/share/gc/g1/g1HeapTransition.hpp
index 97db50769..572dbd869 100644
index e2c804762..037afa8e4 100644
--- a/src/hotspot/share/gc/g1/g1HeapTransition.hpp
+++ b/src/hotspot/share/gc/g1/g1HeapTransition.hpp
@@ -37,7 +37,13 @@ class G1HeapTransition {
@@ -38,7 +38,13 @@ class G1HeapTransition {
size_t _humongous_length;
size_t _metaspace_used_bytes;
const metaspace::MetaspaceSizesSnapshot _meta_sizes;
+ // Only includes current eden regions.
+ uint* _eden_length_per_node;
@ -2521,7 +2581,7 @@ index 000000000..fba9442c8
+
+#endif // SHARE_VM_GC_G1_NODE_TIMES_HPP
diff --git a/src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.cpp b/src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.cpp
index 108180654..69c76967a 100644
index ea1efdb5f..e20244847 100644
--- a/src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.cpp
+++ b/src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.cpp
@@ -118,6 +118,11 @@ char* G1PageBasedVirtualSpace::page_start(size_t index) const {
@ -3989,10 +4049,10 @@ index 61bd16907..0ec37b2f6 100644
LOG_TAG(obsolete) \
LOG_TAG(oldobject) \
diff --git a/src/hotspot/share/prims/whitebox.cpp b/src/hotspot/share/prims/whitebox.cpp
index 637740b21..c3326bf7a 100644
index 2dc691957..75ee720f9 100644
--- a/src/hotspot/share/prims/whitebox.cpp
+++ b/src/hotspot/share/prims/whitebox.cpp
@@ -528,6 +528,29 @@ WB_ENTRY(jobject, WB_G1AuxiliaryMemoryUsage(JNIEnv* env))
@@ -529,6 +529,29 @@ WB_ENTRY(jobject, WB_G1AuxiliaryMemoryUsage(JNIEnv* env))
THROW_MSG_0(vmSymbols::java_lang_UnsupportedOperationException(), "WB_G1AuxiliaryMemoryUsage: G1 GC is not enabled");
WB_END
@ -4022,7 +4082,7 @@ index 637740b21..c3326bf7a 100644
class OldRegionsLivenessClosure: public HeapRegionClosure {
private:
@@ -2070,6 +2093,8 @@ static JNINativeMethod methods[] = {
@@ -2119,6 +2142,8 @@ static JNINativeMethod methods[] = {
{CC"g1StartConcMarkCycle", CC"()Z", (void*)&WB_G1StartMarkCycle },
{CC"g1AuxiliaryMemoryUsage", CC"()Ljava/lang/management/MemoryUsage;",
(void*)&WB_G1AuxiliaryMemoryUsage },
@ -4032,10 +4092,10 @@ index 637740b21..c3326bf7a 100644
#endif // INCLUDE_G1GC
#if INCLUDE_PARALLELGC
diff --git a/src/hotspot/share/runtime/os.hpp b/src/hotspot/share/runtime/os.hpp
index 15c43dae3..68d77566e 100644
index d52a3e111..9f63d9fe8 100644
--- a/src/hotspot/share/runtime/os.hpp
+++ b/src/hotspot/share/runtime/os.hpp
@@ -389,6 +389,7 @@ class os: AllStatic {
@@ -404,6 +404,7 @@ class os: AllStatic {
static size_t numa_get_leaf_groups(int *ids, size_t size);
static bool numa_topology_changed();
static int numa_get_group_id();
@ -4295,7 +4355,7 @@ index 000000000..c5322849e
+ }
+}
diff --git a/test/lib/sun/hotspot/WhiteBox.java b/test/lib/sun/hotspot/WhiteBox.java
index 34770d0ba..54f9688f8 100644
index 475693035..47ff3c522 100644
--- a/test/lib/sun/hotspot/WhiteBox.java
+++ b/test/lib/sun/hotspot/WhiteBox.java
@@ -188,6 +188,9 @@ public class WhiteBox {
@ -4308,3 +4368,6 @@ index 34770d0ba..54f9688f8 100644
// Parallel GC
public native long psVirtualSpaceAlignment();
--
2.30.1 (Apple Git-130)

45
Add-KAE-implementation.patch Executable file → Normal file
View File

@ -1,12 +1,8 @@
From 91191c089cd8ad301c9e5b423b657d18b98ad6c9 Mon Sep 17 00:00:00 2001
From: hedongbo <hedongbo@huawei.com>
Date: Mon, 13 Sep 2021 10:18:05 +0800
Subject: [PATCH 7/8] Add KAE implementation
From a194df3ac3f63326436378e54b2d3aa64f429a3f Mon Sep 17 00:00:00 2001
From: miaomiao <miaomiao@miaomiaos-MacBook-Pro.local>
Date: Tue, 20 Sep 2022 21:32:41 +0800
Subject: [PATCH] test2
Summary: <java>: Add KAE impl
LLT: test/jdk/org/openeuler/security/openssl/
Patch Type: huawei
Bug url: NA
---
make/ZipSecurity.gmk | 1 +
make/autoconf/configure.ac | 1 +
@ -14,7 +10,7 @@ Bug url: NA
make/autoconf/spec.gmk.in | 1 +
make/common/Modules.gmk | 13 +
make/copy/Copy-jdk.crypto.kaeprovider.gmk | 46 +
make/lib/Lib-jdk.crypto.kaeprovider.gmk | 45 ++
make/lib/Lib-jdk.crypto.kaeprovider.gmk | 45 +
make/nb_native/nbproject/configurations.xml | 104 +++
src/java.base/share/classes/module-info.java | 10 +-
.../share/lib/security/default.policy | 5 +
@ -199,10 +195,10 @@ index 9d64b31bf..e20eafa60 100644
[
#
diff --git a/make/autoconf/spec.gmk.in b/make/autoconf/spec.gmk.in
index 39b4439cb..92cda01c9 100644
index e1f2feb72..789126311 100644
--- a/make/autoconf/spec.gmk.in
+++ b/make/autoconf/spec.gmk.in
@@ -761,6 +761,7 @@ TAR_SUPPORTS_TRANSFORM:=@TAR_SUPPORTS_TRANSFORM@
@@ -773,6 +773,7 @@ TAR_SUPPORTS_TRANSFORM:=@TAR_SUPPORTS_TRANSFORM@
# Build setup
ENABLE_AOT:=@ENABLE_AOT@
ENABLE_INTREE_EC:=@ENABLE_INTREE_EC@
@ -295,7 +291,7 @@ index 000000000..ef0bfd88a
+################################################################################
diff --git a/make/lib/Lib-jdk.crypto.kaeprovider.gmk b/make/lib/Lib-jdk.crypto.kaeprovider.gmk
new file mode 100644
index 000000000..516a957d0
index 000000000..d4362f3a6
--- /dev/null
+++ b/make/lib/Lib-jdk.crypto.kaeprovider.gmk
@@ -0,0 +1,45 @@
@ -467,10 +463,10 @@ index fb07d54c1..38da09395 100644
ex="false"
tool="0"
diff --git a/src/java.base/share/classes/module-info.java b/src/java.base/share/classes/module-info.java
index 0cf61732d..2d7a2fea4 100644
index 7351627db..21c317647 100644
--- a/src/java.base/share/classes/module-info.java
+++ b/src/java.base/share/classes/module-info.java
@@ -274,11 +274,13 @@ module java.base {
@@ -275,11 +275,13 @@ module java.base {
exports sun.security.internal.interfaces to
jdk.crypto.cryptoki;
exports sun.security.internal.spec to
@ -484,14 +480,15 @@ index 0cf61732d..2d7a2fea4 100644
jdk.naming.dns;
exports sun.security.pkcs to
jdk.crypto.ec,
@@ -287,11 +289,15 @@ module java.base {
@@ -288,12 +290,16 @@ module java.base {
java.rmi,
java.security.jgss,
jdk.crypto.cryptoki,
+ jdk.crypto.kaeprovider,
jdk.security.auth;
exports sun.security.provider.certpath to
java.naming;
java.naming,
jdk.jartool;
exports sun.security.rsa to
- jdk.crypto.cryptoki;
+ jdk.crypto.cryptoki,
@ -501,7 +498,7 @@ index 0cf61732d..2d7a2fea4 100644
exports sun.security.ssl to
java.security.jgss;
exports sun.security.timestamp to
@@ -308,6 +314,7 @@ module java.base {
@@ -310,6 +316,7 @@ module java.base {
java.xml.crypto,
jdk.crypto.ec,
jdk.crypto.cryptoki,
@ -509,7 +506,7 @@ index 0cf61732d..2d7a2fea4 100644
jdk.jartool,
jdk.naming.ldap,
jdk.security.auth,
@@ -319,6 +326,7 @@ module java.base {
@@ -321,6 +328,7 @@ module java.base {
exports sun.security.x509 to
jdk.crypto.ec,
jdk.crypto.cryptoki,
@ -518,10 +515,10 @@ index 0cf61732d..2d7a2fea4 100644
exports sun.security.validator to
jdk.jartool;
diff --git a/src/java.base/share/lib/security/default.policy b/src/java.base/share/lib/security/default.policy
index ab59a334c..d15870f8f 100644
index 41f5979da..13b01d016 100644
--- a/src/java.base/share/lib/security/default.policy
+++ b/src/java.base/share/lib/security/default.policy
@@ -121,6 +121,11 @@ grant codeBase "jrt:/jdk.crypto.ec" {
@@ -123,6 +123,11 @@ grant codeBase "jrt:/jdk.crypto.ec" {
permission java.security.SecurityPermission "removeProviderProperty.SunEC";
};
@ -9136,10 +9133,10 @@ index 000000000..13bd5976d
+
+#endif
diff --git a/test/jdk/TEST.groups b/test/jdk/TEST.groups
index 694d078a6..8d171ed04 100644
index 4073eec20..8dc2abf86 100644
--- a/test/jdk/TEST.groups
+++ b/test/jdk/TEST.groups
@@ -235,6 +235,9 @@ jdk_security = \
@@ -242,6 +242,9 @@ jdk_security = \
jdk_security_infra = \
security/infra/java/security/cert/CertPathValidator/certification
@ -9644,7 +9641,7 @@ index aee691016..6433416de 100644
expected = "SunJCE";
}
diff --git a/test/jdk/sun/security/krb5/auto/BasicProc.java b/test/jdk/sun/security/krb5/auto/BasicProc.java
index 152db351c..38a2cd4e8 100644
index 9e681af03..311cc7212 100644
--- a/test/jdk/sun/security/krb5/auto/BasicProc.java
+++ b/test/jdk/sun/security/krb5/auto/BasicProc.java
@@ -297,7 +297,9 @@ public class BasicProc {
@ -11274,5 +11271,5 @@ index 000000000..e62e68c4c
+}
+
--
2.22.0
2.30.1 (Apple Git-130)

View File

@ -1,20 +1,23 @@
diff --git a/src/java.base/share/classes/java/io/ObjectInputStream.java b/src/java.base/share/classes/java/io/ObjectInputStream.java
index f779af6c6..7c4539562 100644
--- a/src/java.base/share/classes/java/io/ObjectInputStream.java
+++ b/src/java.base/share/classes/java/io/ObjectInputStream.java
@@ -38,6 +38,7 @@ import java.security.PrivilegedExceptionAction;
import java.util.Arrays;
import java.util.Map;
import java.util.Objects;
+import java.util.concurrent.ConcurrentHashMap;
From ad916087e4c2f096791bac009a74c10862d6c0d6 Mon Sep 17 00:00:00 2001
From: miaomiao <miaomiao@miaomiaos-MacBook-Pro.local>
Date: Wed, 21 Sep 2022 10:16:33 +0800
Subject: [PATCH] test3
---
src/hotspot/share/prims/unsafe.cpp | 9 +-
src/hotspot/share/runtime/globals.hpp | 4 +
.../classes/java/io/ObjectInputStream.java | 173 ++++++++++++++----
.../classes/java/io/ObjectOutputStream.java | 44 ++++-
.../classes/java/io/ObjectStreamClass.java | 47 +++++
.../java/io/ObjectStreamConstants.java | 5 +
.../classes/jdk/internal/misc/Unsafe.java | 2 +-
7 files changed, 241 insertions(+), 43 deletions(-)
import jdk.internal.misc.SharedSecrets;
import jdk.internal.misc.Unsafe;
diff --git a/src/hotspot/share/prims/unsafe.cpp b/src/hotspot/share/prims/unsafe.cpp
index 2f14e01ce..d8f1679b4 100644
index db5959405..7f2319bae 100644
--- a/src/hotspot/share/prims/unsafe.cpp
+++ b/src/hotspot/share/prims/unsafe.cpp
@@ -1018,6 +1018,10 @@ UNSAFE_ENTRY(jint, Unsafe_GetLoadAverage0(JNIEnv *env, jobject unsafe, jdoubleAr
@@ -1007,6 +1007,10 @@ UNSAFE_ENTRY(jint, Unsafe_GetLoadAverage0(JNIEnv *env, jobject unsafe, jdoubleAr
return ret;
} UNSAFE_END
@ -25,7 +28,7 @@ index 2f14e01ce..d8f1679b4 100644
/// JVM_RegisterUnsafeMethods
@@ -1102,7 +1106,10 @@ static JNINativeMethod jdk_internal_misc_Unsafe_methods[] = {
@@ -1091,7 +1095,10 @@ static JNINativeMethod jdk_internal_misc_Unsafe_methods[] = {
{CC "fullFence", CC "()V", FN_PTR(Unsafe_FullFence)},
{CC "isBigEndian0", CC "()Z", FN_PTR(Unsafe_isBigEndian0)},
@ -38,10 +41,10 @@ index 2f14e01ce..d8f1679b4 100644
#undef CC
diff --git a/src/hotspot/share/runtime/globals.hpp b/src/hotspot/share/runtime/globals.hpp
index 4b8dbe899..ec5a4e50c 100644
index a14477b80..f49edbe2a 100644
--- a/src/hotspot/share/runtime/globals.hpp
+++ b/src/hotspot/share/runtime/globals.hpp
@@ -2684,6 +2684,10 @@ define_pd_global(uint64_t,MaxRAM, 1ULL*G);
@@ -2686,6 +2686,10 @@ define_pd_global(uint64_t,MaxRAM, 1ULL*G);
JFR_ONLY(product(ccstr, StartFlightRecording, NULL, \
"Start flight recording with options")) \
\
@ -53,10 +56,18 @@ index 4b8dbe899..ec5a4e50c 100644
"Use platform unstable time where supported for timestamps only")
diff --git a/src/java.base/share/classes/java/io/ObjectInputStream.java b/src/java.base/share/classes/java/io/ObjectInputStream.java
index 939b7647e..f59a51316 100644
index 02346fac8..996b6fe67 100644
--- a/src/java.base/share/classes/java/io/ObjectInputStream.java
+++ b/src/java.base/share/classes/java/io/ObjectInputStream.java
@@ -331,6 +331,9 @@ public class ObjectInputStream
@@ -38,6 +38,7 @@ import java.security.PrivilegedExceptionAction;
import java.util.Arrays;
import java.util.Map;
import java.util.Objects;
+import java.util.concurrent.ConcurrentHashMap;
import jdk.internal.misc.SharedSecrets;
import jdk.internal.event.DeserializationEvent;
@@ -327,6 +328,9 @@ public class ObjectInputStream
/** if true, invoke resolveObject() */
private boolean enableResolve;
@ -66,7 +77,7 @@ index 939b7647e..f59a51316 100644
/**
* Context during upcalls to class-defined readObject methods; holds
* object currently being deserialized and descriptor for current class.
@@ -344,6 +347,25 @@ public class ObjectInputStream
@@ -340,6 +344,25 @@ public class ObjectInputStream
*/
private ObjectInputFilter serialFilter;
@ -92,7 +103,7 @@ index 939b7647e..f59a51316 100644
/**
* Creates an ObjectInputStream that reads from the specified InputStream.
* A serialization stream header is read from the stream and verified.
@@ -421,6 +443,9 @@ public class ObjectInputStream
@@ -417,6 +440,9 @@ public class ObjectInputStream
* transitively so that a complete equivalent graph of objects is
* reconstructed by readObject.
*
@ -102,7 +113,7 @@ index 939b7647e..f59a51316 100644
* <p>The root object is completely restored when all of its fields and the
* objects it references are completely restored. At this point the object
* validation callbacks are executed in order based on their registered
@@ -709,11 +734,20 @@ public class ObjectInputStream
@@ -705,11 +731,20 @@ public class ObjectInputStream
vlist.register(obj, prio);
}
@ -123,7 +134,7 @@ index 939b7647e..f59a51316 100644
* <p>The corresponding method in <code>ObjectOutputStream</code> is
* <code>annotateClass</code>. This method will be invoked only once for
* each unique class in the stream. This method can be implemented by
@@ -752,16 +786,26 @@ public class ObjectInputStream
@@ -748,16 +783,26 @@ public class ObjectInputStream
throws IOException, ClassNotFoundException
{
String name = desc.getName();
@ -155,7 +166,7 @@ index 939b7647e..f59a51316 100644
}
/**
@@ -935,9 +979,25 @@ public class ObjectInputStream
@@ -931,9 +976,25 @@ public class ObjectInputStream
{
short s0 = bin.readShort();
short s1 = bin.readShort();
@ -184,7 +195,7 @@ index 939b7647e..f59a51316 100644
}
}
@@ -951,6 +1011,11 @@ public class ObjectInputStream
@@ -947,6 +1008,11 @@ public class ObjectInputStream
* this method reads class descriptors according to the format defined in
* the Object Serialization specification.
*
@ -196,7 +207,7 @@ index 939b7647e..f59a51316 100644
* @return the class descriptor read
* @throws IOException If an I/O error has occurred.
* @throws ClassNotFoundException If the Class of a serialized object used
@@ -961,6 +1026,29 @@ public class ObjectInputStream
@@ -957,6 +1023,29 @@ public class ObjectInputStream
protected ObjectStreamClass readClassDescriptor()
throws IOException, ClassNotFoundException
{
@ -226,7 +237,7 @@ index 939b7647e..f59a51316 100644
ObjectStreamClass desc = new ObjectStreamClass();
desc.readNonProxy(this);
return desc;
@@ -2008,36 +2096,52 @@ public class ObjectInputStream
@@ -2014,36 +2103,52 @@ public class ObjectInputStream
skipCustomData();
@ -304,7 +315,7 @@ index 939b7647e..f59a51316 100644
}
handles.finish(descHandle);
@@ -2936,8 +3040,6 @@ public class ObjectInputStream
@@ -2942,8 +3047,6 @@ public class ObjectInputStream
}
}
@ -314,10 +325,10 @@ index 939b7647e..f59a51316 100644
* Performs a "freeze" action, required to adhere to final field semantics.
*
diff --git a/src/java.base/share/classes/java/io/ObjectOutputStream.java b/src/java.base/share/classes/java/io/ObjectOutputStream.java
index 135e5645a..044924593 100644
index 99105f553..acaf76a71 100644
--- a/src/java.base/share/classes/java/io/ObjectOutputStream.java
+++ b/src/java.base/share/classes/java/io/ObjectOutputStream.java
@@ -36,6 +36,7 @@ import java.util.StringJoiner;
@@ -31,6 +31,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.StringJoiner;
@ -325,7 +336,7 @@ index 135e5645a..044924593 100644
import sun.reflect.misc.ReflectUtil;
/**
@@ -192,7 +193,6 @@ public class ObjectOutputStream
@@ -188,7 +189,6 @@ public class ObjectOutputStream
private final boolean enableOverride;
/** if true, invoke replaceObject() */
private boolean enableReplace;
@ -333,7 +344,7 @@ index 135e5645a..044924593 100644
// values below valid only during upcalls to writeObject()/writeExternal()
/**
* Context during upcalls to class-defined writeObject methods; holds
@@ -215,6 +215,14 @@ public class ObjectOutputStream
@@ -211,6 +211,14 @@ public class ObjectOutputStream
new sun.security.action.GetBooleanAction(
"sun.io.serialization.extendedDebugInfo")).booleanValue();
@ -348,7 +359,7 @@ index 135e5645a..044924593 100644
/**
* Creates an ObjectOutputStream that writes to the specified OutputStream.
* This constructor writes the serialization stream header to the
@@ -328,6 +336,9 @@ public class ObjectOutputStream
@@ -324,6 +332,9 @@ public class ObjectOutputStream
* object are written transitively so that a complete equivalent graph of
* objects can be reconstructed by an ObjectInputStream.
*
@ -358,7 +369,7 @@ index 135e5645a..044924593 100644
* <p>Exceptions are thrown for problems with the OutputStream and for
* classes that should not be serialized. All exceptions are fatal to the
* OutputStream, which is left in an indeterminate state, and it is up to
@@ -636,7 +647,11 @@ public class ObjectOutputStream
@@ -632,7 +643,11 @@ public class ObjectOutputStream
* stream
*/
protected void writeStreamHeader() throws IOException {
@ -371,7 +382,7 @@ index 135e5645a..044924593 100644
bout.writeShort(STREAM_VERSION);
}
@@ -651,6 +666,9 @@ public class ObjectOutputStream
@@ -647,6 +662,9 @@ public class ObjectOutputStream
* By default, this method writes class descriptors according to the format
* defined in the Object Serialization specification.
*
@ -381,7 +392,7 @@ index 135e5645a..044924593 100644
* <p>Note that this method will only be called if the ObjectOutputStream
* is not using the old serialization stream format (set by calling
* ObjectOutputStream's <code>useProtocolVersion</code> method). If this
@@ -668,7 +686,14 @@ public class ObjectOutputStream
@@ -664,7 +682,14 @@ public class ObjectOutputStream
protected void writeClassDescriptor(ObjectStreamClass desc)
throws IOException
{
@ -397,7 +408,7 @@ index 135e5645a..044924593 100644
}
/**
@@ -1278,7 +1303,13 @@ public class ObjectOutputStream
@@ -1268,7 +1293,13 @@ public class ObjectOutputStream
if (protocol == PROTOCOL_VERSION_1) {
// do not invoke class descriptor write hook with old protocol
@ -412,7 +423,7 @@ index 135e5645a..044924593 100644
} else {
writeClassDescriptor(desc);
}
@@ -1291,8 +1322,9 @@ public class ObjectOutputStream
@@ -1281,8 +1312,9 @@ public class ObjectOutputStream
annotateClass(cl);
bout.setBlockDataMode(false);
bout.writeByte(TC_ENDBLOCKDATA);
@ -425,10 +436,10 @@ index 135e5645a..044924593 100644
/**
diff --git a/src/java.base/share/classes/java/io/ObjectStreamClass.java b/src/java.base/share/classes/java/io/ObjectStreamClass.java
index 17739cdc7..ac3a92bef 100644
index 1f7647bac..8db60cc96 100644
--- a/src/java.base/share/classes/java/io/ObjectStreamClass.java
+++ b/src/java.base/share/classes/java/io/ObjectStreamClass.java
@@ -560,6 +560,15 @@ public class ObjectStreamClass implements Serializable {
@@ -431,6 +431,15 @@ public class ObjectStreamClass implements Serializable {
ObjectStreamClass() {
}
@ -444,7 +455,7 @@ index 17739cdc7..ac3a92bef 100644
/**
* Creates a PermissionDomain that grants no permission.
*/
@@ -746,6 +755,44 @@ public class ObjectStreamClass implements Serializable {
@@ -617,6 +626,44 @@ public class ObjectStreamClass implements Serializable {
initialized = true;
}
@ -519,5 +530,5 @@ index 031b5aae5..d78caabdc 100644
private native long reallocateMemory0(long address, long bytes);
private native void freeMemory0(long address);
--
2.19.0
2.30.1 (Apple Git-130)

View File

@ -114,7 +114,7 @@
# New Version-String scheme-style defines
%global majorver 11
%global securityver 16
%global securityver 17
# buildjdkver is usually same as %%{majorver},
# but in time of bootstrap of next jdk, it is majorver-1,
# and this it is better to change it here, on single place
@ -130,12 +130,12 @@
%global origin_nice OpenJDK
%global top_level_dir_name %{origin}
%global minorver 0
%global buildver 8
%global buildver 6
%global patchver 0
%global project jdk-updates
%global repo jdk11u
%global revision jdk-11.0.16-ga
%global revision jdk-11.0.17-6
%global full_revision %{project}-%{repo}-%{revision}
# priority must be 7 digits in total
# setting to 1, so debug ones can have 0
@ -740,7 +740,7 @@ Provides: java-src%{?1} = %{epoch}:%{version}-%{release}
Name: java-%{javaver}-%{origin}
Version: %{newjavaver}.%{buildver}
Release: 1
Release: 0
# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons
# and this change was brought into RHEL-4. java-1.5.0-ibm packages
# also included the epoch in their virtual provides. This created a
@ -878,6 +878,7 @@ Patch90: fix_Internal_and_external_code_inconsistency.patch
Patch91: 8290705_fix_StringConcat_validate_mem_flow_asserts_with_unexpected_userStoreI.patch
BuildRequires: elfutils-extra
BuildRequires: autoconf
BuildRequires: alsa-lib-devel
BuildRequires: binutils
@ -1676,6 +1677,12 @@ cjc.mainProgram(arg)
%changelog
* Mon Sep 19 2022 DXwangg <wangjiawei80@huawei.com> - 1:11.0.17.6-0
- update to 11.0.17+5
- modified NUMA-Aware-Implementation-humongous-region.patch
- modified Add-KAE-implementation.patch
- modified fast-serializer-jdk11.patch
* Fri Aug 5 2022 kuenking111 <wangkun49@huawei.com> - 1:11.0.16.8-1
- add 8290705_fix_StringConcat_validate_mem_flow_asserts_with_unexpected_userStoreI.patch