130 lines
5.4 KiB
Diff
130 lines
5.4 KiB
Diff
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
|
|
|