20 Star 6 Fork 72

src-openEuler/openjdk-11

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
fix-potential-build-fail-in-jbolt.patch 5.36 KB
一键复制 编辑 原始数据 按行查看 历史
Whitney33 提交于 2025-04-22 16:31 +08:00 . update to jdk-11.0.27-ga
From d84a998248d3403e093ec14abf2daf3e1bd8dd25 Mon Sep 17 00:00:00 2001
Subject: fix potential build fail in jbolt
---
make/hotspot/lib/JvmFeatures.gmk | 2 ++
src/hotspot/os/linux/os_linux.cpp | 5 +++++
src/hotspot/share/ci/ciEnv.cpp | 2 ++
src/hotspot/share/jbolt/jBoltDcmds.cpp | 9 +++++++--
src/hotspot/share/jfr/periodic/jfrPeriodic.cpp | 2 ++
src/hotspot/share/runtime/sweeper.cpp | 2 +-
src/hotspot/share/utilities/macros.hpp | 3 +++
7 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/make/hotspot/lib/JvmFeatures.gmk b/make/hotspot/lib/JvmFeatures.gmk
index 7b86f83cc..55bd4ebd1 100644
--- a/make/hotspot/lib/JvmFeatures.gmk
+++ b/make/hotspot/lib/JvmFeatures.gmk
@@ -174,6 +174,8 @@ endif
ifneq ($(call check-jvm-feature, jfr), true)
JVM_CFLAGS_FEATURES += -DINCLUDE_JFR=0
JVM_EXCLUDE_PATTERNS += jfr
+ JVM_CFLAGS_FEATURES += -DINCLUDE_JBOLT=0
+ JVM_EXCLUDE_PATTERNS += jbolt
endif
################################################################################
diff --git a/src/hotspot/os/linux/os_linux.cpp b/src/hotspot/os/linux/os_linux.cpp
index 0acc6a57f..52f65baba 100644
--- a/src/hotspot/os/linux/os_linux.cpp
+++ b/src/hotspot/os/linux/os_linux.cpp
@@ -5703,6 +5703,11 @@ void os::Linux::load_plugin_library() {
}
#endif // INCLUDE_JBOLT
}
+
+ JBOLT_ONLY(log_debug(jbolt)("Plugin library for JBolt: %s %s %s %s", BOOL_TO_STR(_jboltHeap_init != NULL),
+ BOOL_TO_STR(_jboltLog_precalc != NULL),
+ BOOL_TO_STR(_jboltLog_do != NULL),
+ BOOL_TO_STR(_jboltMerge_judge != NULL));)
}
// this is called _after_ the global arguments have been parsed
diff --git a/src/hotspot/share/ci/ciEnv.cpp b/src/hotspot/share/ci/ciEnv.cpp
index f66926600..5a71a567e 100644
--- a/src/hotspot/share/ci/ciEnv.cpp
+++ b/src/hotspot/share/ci/ciEnv.cpp
@@ -1048,7 +1048,9 @@ void ciEnv::register_method(ciMethod* target,
frame_words, oop_map_set,
handler_table, inc_table,
compiler, task()->comp_level(),
+#if INCLUDE_JVMCI
NULL, NULL,
+#endif
code_blob_type);
} else
#endif // INCLUDE_JBOLT
diff --git a/src/hotspot/share/jbolt/jBoltDcmds.cpp b/src/hotspot/share/jbolt/jBoltDcmds.cpp
index 249a98001..d57eea39b 100644
--- a/src/hotspot/share/jbolt/jBoltDcmds.cpp
+++ b/src/hotspot/share/jbolt/jBoltDcmds.cpp
@@ -24,7 +24,8 @@
#include "jbolt/jBoltDcmds.hpp"
#include "jbolt/jBoltControlThread.hpp"
#include "jbolt/jBoltManager.hpp"
-
+#include "runtime/os.hpp"
+
bool register_jbolt_dcmds() {
uint32_t full_export = DCmd_Source_Internal | DCmd_Source_AttachAPI | DCmd_Source_MBean;
DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<JBoltStartDCmd>(full_export, true, false));
@@ -199,8 +200,12 @@ void JBoltDumpDCmd::execute(DCmdSource source, TRAPS) {
output()->print_cr("Failed: File open error or NULL: %s", path);
break;
case JBoltOK:
- rp = realpath(path, buffer);
+#ifdef __linux__
+ rp = os::Posix::realpath(path, buffer, sizeof(buffer));
output()->print_cr("Successful: Dump to %s", buffer);
+#else
+ output()->print_cr("Successful: Dump to %s", path);
+#endif
break;
default:
ShouldNotReachHere();
diff --git a/src/hotspot/share/jfr/periodic/jfrPeriodic.cpp b/src/hotspot/share/jfr/periodic/jfrPeriodic.cpp
index d9580e57e..a010df8d0 100644
--- a/src/hotspot/share/jfr/periodic/jfrPeriodic.cpp
+++ b/src/hotspot/share/jfr/periodic/jfrPeriodic.cpp
@@ -557,8 +557,10 @@ TRACE_REQUEST_FUNC(CodeCacheConfiguration) {
event.set_nonNMethodSize(NonNMethodCodeHeapSize);
event.set_profiledSize(ProfiledCodeHeapSize);
event.set_nonProfiledSize(NonProfiledCodeHeapSize);
+#if INCLUDE_JBOLT
event.set_jboltHotSize(JBoltCodeHeapSize);
event.set_jboltTmpSize(JBoltCodeHeapSize);
+#endif
event.set_expansionSize(CodeCacheExpansionSize);
event.set_minBlockLength(CodeCacheMinBlockLength);
event.set_startAddress((u8)CodeCache::low_bound());
diff --git a/src/hotspot/share/runtime/sweeper.cpp b/src/hotspot/share/runtime/sweeper.cpp
index 82f25c50b..fd174d720 100644
--- a/src/hotspot/share/runtime/sweeper.cpp
+++ b/src/hotspot/share/runtime/sweeper.cpp
@@ -378,7 +378,7 @@ void NMethodSweeper::possibly_sweep() {
// allocations go to the non-profiled heap and we must be make sure that there is
// enough space.
double free_percent = 1 / CodeCache::reverse_free_ratio(CodeBlobType::MethodNonProfiled) * 100;
- if (free_percent <= StartAggressiveSweepingAt || (UseJBolt && JBoltManager::force_sweep())) {
+ if (free_percent <= StartAggressiveSweepingAt JBOLT_ONLY( || (UseJBolt && JBoltManager::force_sweep()) )) {
do_stack_scanning();
}
diff --git a/src/hotspot/share/utilities/macros.hpp b/src/hotspot/share/utilities/macros.hpp
index 6dd187652..638d73e6b 100644
--- a/src/hotspot/share/utilities/macros.hpp
+++ b/src/hotspot/share/utilities/macros.hpp
@@ -297,6 +297,9 @@
#define JFR_ONLY(code)
#define NOT_JFR_RETURN() {}
#define NOT_JFR_RETURN_(code) { return code; }
+#if INCLUDE_JBOLT
+#define INCLUDE_JBOLT 0 // INCLUDE_JBOLT depends on INCLUDE_JFR
+#endif
#endif
#ifndef INCLUDE_JVMCI
--
2.23.0
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/src-openeuler/openjdk-11.git
git@gitee.com:src-openeuler/openjdk-11.git
src-openeuler
openjdk-11
openjdk-11
master

搜索帮助