1 Star 0 Fork 82

阿翔与山海经/电酱jdk8

forked from misaka00251/openjdk-1.8.0 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
Fix-compile-and-runtime-failures-for-minimal1-versio.patch 7.31 KB
一键复制 编辑 原始数据 按行查看 历史
DXwangg 提交于 2022-09-30 09:12 . !I5TUHJ:upgrade to jdk8u352-b07
From d915916d5a7f3280270ea4207e4d3892ffa7de04 Mon Sep 17 00:00:00 2001
Date: Mon, 11 Apr 2022 17:14:06 +0800
Subject: [PATCH] Fix compile and runtime failures for minimal1 version
Reference: NA
Summary: < JDK> : Fix compile and runtime failures for minimal1 version
---
.../src/share/vm/classfile/systemDictionary.cpp | 30 ++++++++++------------
.../parallelScavenge/psMarkSweep.hpp | 2 +-
hotspot/src/share/vm/prims/jvm.cpp | 12 +++++++++
hotspot/src/share/vm/prims/jvmtiImpl.hpp | 8 +++---
hotspot/src/share/vm/runtime/memprofiler.cpp | 2 +-
hotspot/src/share/vm/utilities/taskqueue.cpp | 2 ++
hotspot/src/share/vm/utilities/taskqueue.hpp | 4 +--
.../com/huawei/jvm/gc/AdaptiveHeapMXBeanImpl.c | 1 -
8 files changed, 36 insertions(+), 25 deletions(-)
diff --git a/hotspot/src/share/vm/classfile/systemDictionary.cpp b/hotspot/src/share/vm/classfile/systemDictionary.cpp
index 0d11abfa..794ee9b1 100644
--- a/hotspot/src/share/vm/classfile/systemDictionary.cpp
+++ b/hotspot/src/share/vm/classfile/systemDictionary.cpp
@@ -1093,19 +1093,6 @@ Klass* SystemDictionary::parse_stream(Symbol* class_name,
return k();
}
-static char* convert_into_package_name(char* name) {
- char* index = strrchr(name, '/');
- if (index == NULL) {
- return NULL;
- } else {
- *index = '\0'; // chop to just the package name
- while ((index = strchr(name, '/')) != NULL) {
- *index = '.'; // replace '/' with '.' in package name
- }
- return name;
- }
-}
-
static bool is_prohibited_package_slow(Symbol* class_name) {
// Caller has ResourceMark
int length;
@@ -1252,6 +1239,18 @@ void SystemDictionary::set_shared_dictionary(HashtableBucket<mtClass>* t, int le
_shared_dictionary = new Dictionary(_nof_buckets, t, number_of_entries);
}
+static char* convert_into_package_name(char* name) {
+ char* index = strrchr(name, '/');
+ if (index == NULL) {
+ return NULL;
+ } else {
+ *index = '\0'; // chop to just the package name
+ while ((index = strchr(name, '/')) != NULL) {
+ *index = '.'; // replace '/' with '.' in package name
+ }
+ return name;
+ }
+}
// If there is a shared dictionary, then find the entry for the
// given shared system class, if any.
@@ -1267,7 +1266,6 @@ Klass* SystemDictionary::find_shared_class(Symbol* class_name) {
}
}
-
// Load a class from the shared spaces (found through the shared system
// dictionary). Force the superclass and all interfaces to be loaded.
// Update the class definition to include sibling classes and no
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.hpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.hpp
index 01666ea4d..deeca7bb5 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.hpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.hpp
@@ -77,7 +77,7 @@ class PSMarkSweep : public MarkSweep {
// Reset time since last full gc
static void reset_millis_since_last_gc();
- static void ps_marksweep_init();
+ static void ps_marksweep_init() NOT_ALL_GCS_RETURN;
public:
static inline PSMarkSweep* the_ps_mark() { return (PSMarkSweep*)_the_ps_mark; }
diff --git a/hotspot/src/share/vm/prims/jvm.cpp b/hotspot/src/share/vm/prims/jvm.cpp
index c27a534ef..f75501dba 100644
--- a/hotspot/src/share/vm/prims/jvm.cpp
+++ b/hotspot/src/share/vm/prims/jvm.cpp
@@ -3303,20 +3303,32 @@ JVM_END
JVM_ENTRY(void, JVM_AdaptiveHeapSetG1PeriodicGCInterval(JNIEnv *env, jclass klass, jint interval))
JVMWrapper("JVM_AdaptiveHeapSetG1PeriodicGCInterval");
+#if INCLUDE_ALL_GCS
G1PeriodicGCInterval = interval;
+#endif
JVM_END
JVM_ENTRY(jint, JVM_AdaptiveHeapGetG1PeriodicGCInterval(JNIEnv *env, jclass klass))
JVMWrapper("JVM_AdaptiveHeapGetG1PeriodicGCInterval");
+#if INCLUDE_ALL_GCS
return G1PeriodicGCInterval;
+#else
+ return -1;
+#endif
JVM_END
JVM_ENTRY(void, JVM_AdaptiveHeapSetG1PeriodicGCLoadThreshold(JNIEnv *env, jclass clazz, jint loadThreshold))
JVMWrapper("JVM_AdaptiveHeapSetG1PeriodicGCLoadThreshold");
+#if INCLUDE_ALL_GCS
G1PeriodicGCLoadThreshold = loadThreshold;
+#endif
JVM_END
JVM_ENTRY(jint, JVM_AdaptiveHeapGetG1PeriodicGCLoadThreshold(JNIEnv *env, jclass clazz))
JVMWrapper("JVM_AdaptiveHeapgetG1PeriodicGCLoadThreshold");
+#if INCLUDE_ALL_GCS
return G1PeriodicGCLoadThreshold;
+#else
+ return -1;
+#endif
JVM_END
JVM_ENTRY(void, JVM_Yield(JNIEnv *env, jclass threadClass))
diff --git a/hotspot/src/share/vm/runtime/memprofiler.cpp b/hotspot/src/share/vm/runtime/memprofiler.cpp
index ddb22601f..a956c5252 100644
--- a/hotspot/src/share/vm/runtime/memprofiler.cpp
+++ b/hotspot/src/share/vm/runtime/memprofiler.cpp
@@ -126,7 +126,7 @@ void MemProfiler::do_trace() {
fprintf(_log_fp, UINTX_FORMAT_W(6) ",", CodeCache::capacity() / K);
- fprintf(_log_fp, UINTX_FORMAT_W(6) "," UINTX_FORMAT_W(6) "," UINTX_FORMAT_W(6) "\n",
+ fprintf(_log_fp, UINTX_FORMAT_W(6) "," UINTX_FORMAT_W(6) ",%6ld\n",
handles_memory_usage / K,
resource_memory_usage / K,
0L);
diff --git a/hotspot/src/share/vm/utilities/taskqueue.cpp b/hotspot/src/share/vm/utilities/taskqueue.cpp
index 120c65a60..7c6849c63 100644
--- a/hotspot/src/share/vm/utilities/taskqueue.cpp
+++ b/hotspot/src/share/vm/utilities/taskqueue.cpp
@@ -273,10 +273,12 @@ void ParallelTaskTerminator::reset_for_reuse(int n_threads) {
_n_threads = n_threads;
}
+#if INCLUDE_ALL_GCS
TaskTerminator::TaskTerminator(uint n_threads, TaskQueueSetSuper* queue_set) :
_terminator(UseOWSTTaskTerminator ? new OWSTTaskTerminator(n_threads, queue_set)
: new ParallelTaskTerminator(n_threads, queue_set)) {
}
+#endif
TaskTerminator::~TaskTerminator() {
if (_terminator != NULL) {
diff --git a/hotspot/src/share/vm/utilities/taskqueue.hpp b/hotspot/src/share/vm/utilities/taskqueue.hpp
index 959d0dd21..284675708 100644
--- a/hotspot/src/share/vm/utilities/taskqueue.hpp
+++ b/hotspot/src/share/vm/utilities/taskqueue.hpp
@@ -763,7 +763,7 @@ private:
TaskTerminator(const TaskTerminator& o) { }
TaskTerminator& operator=(TaskTerminator& o) { return *this; }
public:
- TaskTerminator(uint n_threads, TaskQueueSetSuper* queue_set);
+ TaskTerminator(uint n_threads, TaskQueueSetSuper* queue_set) NOT_ALL_GCS_RETURN;
~TaskTerminator();
// Move assignment
@@ -929,4 +929,4 @@ typedef OverflowTaskQueue<size_t, mtInternal> RegionTaskQueue;
typedef GenericTaskQueueSet<RegionTaskQueue, mtClass> RegionTaskQueueSet;
-#endif // SHARE_VM_UTILITIES_TASKQUEUE_HPP
\ No newline at end of file
+#endif // SHARE_VM_UTILITIES_TASKQUEUE_HPP
diff --git a/jdk/src/share/native/com/huawei/jvm/gc/AdaptiveHeapMXBeanImpl.c b/jdk/src/share/native/com/huawei/jvm/gc/AdaptiveHeapMXBeanImpl.c
index 99bfff885..0e365d7aa 100644
--- a/jdk/src/share/native/com/huawei/jvm/gc/AdaptiveHeapMXBeanImpl.c
+++ b/jdk/src/share/native/com/huawei/jvm/gc/AdaptiveHeapMXBeanImpl.c
@@ -31,7 +31,6 @@ static JNINativeMethod methods[] = {
{"getG1PeriodicGCIntervalImpl", "()I", (void *)&JVM_AdaptiveHeapGetG1PeriodicGCInterval},
{"setG1PeriodicGCLoadThresholdImpl", "(I)V", (void *)&JVM_AdaptiveHeapSetG1PeriodicGCLoadThreshold},
{"getG1PeriodicGCLoadThresholdImpl", "()I", (void *)&JVM_AdaptiveHeapGetG1PeriodicGCLoadThreshold},
-
};
JNIEXPORT void JNICALL
--
2.12.3
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/a-xiang-and-shanhaijing/openjdk-1.8.0_2.git
[email protected]:a-xiang-and-shanhaijing/openjdk-1.8.0_2.git
a-xiang-and-shanhaijing
openjdk-1.8.0_2
电酱jdk8
master

搜索帮助