Ai
1 Star 0 Fork 24

Benshuai5D/openjdk-21

forked from src-openEuler/openjdk-21 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
huawei-Adapt-to-clang-build-toolchain.patch 27.01 KB
一键复制 编辑 原始数据 按行查看 历史
Benshuai5D 提交于 2025-05-21 01:38 +08:00 . sync master to openEuler-24.03-LTS
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616
Date: Fri, 21 Mar 2025 15:22:01 +0800
Subject: Adapt to clang build toolchain
---
make/autoconf/flags-cflags.m4 | 9 ++++++
make/autoconf/flags-ldflags.m4 | 8 +++--
make/autoconf/flags-other.m4 | 2 +-
make/autoconf/lib-std.m4 | 6 +++-
make/autoconf/toolchain.m4 | 6 +++-
make/common/NativeCompilation.gmk | 13 ++++++--
src/hotspot/cpu/arm/icache_arm.cpp | 2 +-
src/hotspot/cpu/riscv/vm_version_riscv.cpp | 2 --
src/hotspot/cpu/s390/vm_version_s390.cpp | 8 +++++
src/hotspot/cpu/x86/vm_version_x86.cpp | 9 +++---
src/hotspot/os/linux/os_linux.cpp | 1 -
src/hotspot/os/linux/os_linux.hpp | 2 +-
src/hotspot/os_cpu/linux_arm/os_linux_arm.cpp | 13 ++++++--
src/hotspot/share/code/codeBlob.hpp | 3 +-
src/hotspot/share/jbolt/jBoltManager.cpp | 4 +--
src/hotspot/share/prims/unsafe.cpp | 3 +-
src/hotspot/share/services/heapDumper.cpp | 6 ++--
.../hotspot/utilities/HeapHprofBinWriter.java | 6 ++--
.../share/classes/sun/tools/jmap/JMap.java | 2 +-
.../unix/native/libsctp/SctpChannelImpl.c | 2 +-
.../codecache/jbolt/JBoltDumpModeTest.java | 10 +++----
.../codecache/jbolt/JBoltVMOptionsTest.java | 30 +++++++++----------
22 files changed, 93 insertions(+), 54 deletions(-)
diff --git a/make/autoconf/flags-cflags.m4 b/make/autoconf/flags-cflags.m4
index ffbf61ea5..891455dee 100644
--- a/make/autoconf/flags-cflags.m4
+++ b/make/autoconf/flags-cflags.m4
@@ -599,6 +599,7 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
# Restrict the debug information created by Clang to avoid
# too big object files and speed the build up a little bit
# (see http://llvm.org/bugs/show_bug.cgi?id=7554)
+ TOOLCHAIN_CFLAGS_JVM_ARM="$TOOLCHAIN_CFLAGS_JVM"
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -flimit-debug-info"
# In principle the stack alignment below is cpu- and ABI-dependent and
@@ -618,6 +619,10 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
TOOLCHAIN_CFLAGS_JDK_CONLY="-fno-strict-aliasing" # technically NOT for CXX
fi
+ if test "x$OPENJDK_TARGET_CPU" = xarm; then
+ TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM_ARM -mno-omit-leaf-frame-pointer"
+ fi
+
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
# Suggested additions: -qsrcmsg to get improved error reporting
# set -qtbtable=full for a better traceback table/better stacks in hs_err when xlc16 is used
@@ -834,6 +839,10 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
if test "x$FLAGS_CPU_ARCH" != xarm && test "x$FLAGS_CPU_ARCH" != xppc; then
# for all archs except arm and ppc, prevent gcc to omit frame pointer
$1_CFLAGS_CPU_JDK="${$1_CFLAGS_CPU_JDK} -fno-omit-frame-pointer"
+ elif test "x$FLAGS_CPU_ARCH" = xarm; then
+ # -Wno-psabi to get rid of annoying "note: the mangling of 'va_list' has changed in GCC 4.4"
+ $1_CFLAGS_CPU="-fsigned-char -Wno-psabi $ARM_ARCH_TYPE_FLAGS $ARM_FLOAT_TYPE_FLAGS -DJDK_ARCH_ABI_PROP_NAME='\"\$(JDK_ARCH_ABI_PROP_NAME)\"'"
+ $1_CFLAGS_CPU_JVM="-DARM"
fi
if test "x$FLAGS_CPU" = xppc64le; then
# Little endian machine uses ELFv2 ABI.
diff --git a/make/autoconf/flags-ldflags.m4 b/make/autoconf/flags-ldflags.m4
index e5c345fde..397aee925 100644
--- a/make/autoconf/flags-ldflags.m4
+++ b/make/autoconf/flags-ldflags.m4
@@ -73,8 +73,12 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
BASIC_LDFLAGS_JVM_ONLY=""
elif test "x$TOOLCHAIN_TYPE" = xclang; then
- BASIC_LDFLAGS_JVM_ONLY="-mno-omit-leaf-frame-pointer -mstack-alignment=16 \
+ if test "x$OPENJDK_TARGET_CPU" = xarm; then
+ BASIC_LDFLAGS_JVM_ONLY="-mno-omit-leaf-frame-pointer -fPIC"
+ else
+ BASIC_LDFLAGS_JVM_ONLY="-mno-omit-leaf-frame-pointer -mstack-alignment=16 \
-fPIC"
+ fi
if test "x$OPENJDK_TARGET_OS" = xaix; then
BASIC_LDFLAGS="-Wl,-b64 -Wl,-brtl -Wl,-bnorwexec -Wl,-bnolibpath -Wl,-bnoexpall \
-Wl,-bernotok -Wl,-bdatapsize:64k -Wl,-btextpsize:64k -Wl,-bstackpsize:64k"
@@ -171,7 +175,7 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_CPU_DEP],
[
# Setup CPU-dependent basic LDFLAGS. These can differ between the target and
# build toolchain.
- if test "x$TOOLCHAIN_TYPE" = xgcc; then
+ if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
if test "x${OPENJDK_$1_CPU}" = xx86; then
$1_CPU_LDFLAGS_JVM_ONLY="-march=i586"
elif test "x$OPENJDK_$1_CPU" = xarm; then
diff --git a/make/autoconf/flags-other.m4 b/make/autoconf/flags-other.m4
index 0af7c02cf..044dfb4a0 100644
--- a/make/autoconf/flags-other.m4
+++ b/make/autoconf/flags-other.m4
@@ -136,7 +136,7 @@ AC_DEFUN([FLAGS_SETUP_ASFLAGS_CPU_DEP],
$2JVM_ASFLAGS="$JVM_BASIC_ASFLAGS ${$2EXTRA_CFLAGS}"
if test "x$1" = "xTARGET" && \
- test "x$TOOLCHAIN_TYPE" = xgcc && \
+ (test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang) && \
test "x$OPENJDK_TARGET_CPU" = xarm; then
$2JVM_ASFLAGS="${$2JVM_ASFLAGS} $ARM_ARCH_TYPE_ASFLAGS $ARM_FLOAT_TYPE_ASFLAGS"
fi
diff --git a/make/autoconf/lib-std.m4 b/make/autoconf/lib-std.m4
index e470cdbe6..c7fb81386 100644
--- a/make/autoconf/lib-std.m4
+++ b/make/autoconf/lib-std.m4
@@ -47,7 +47,11 @@ AC_DEFUN_ONCE([LIB_SETUP_STD_LIBS],
if test "x$OPENJDK_TARGET_OS" = xlinux; then
# Test if stdc++ can be linked statically.
AC_MSG_CHECKING([if static link of stdc++ is possible])
- STATIC_STDCXX_FLAGS="-static-libstdc++ -static-libgcc"
+ if test "x$TOOLCHAIN_TYPE" = xclang && test "x$FLAGS_CPU_ARCH" = xarm; then
+ STATIC_STDCXX_FLAGS=""
+ else
+ STATIC_STDCXX_FLAGS="-static-libstdc++ -static-libgcc"
+ fi
AC_LANG_PUSH(C++)
OLD_LIBS="$LIBS"
LIBS="$STATIC_STDCXX_FLAGS"
diff --git a/make/autoconf/toolchain.m4 b/make/autoconf/toolchain.m4
index 069ced05f..b7ae22c00 100644
--- a/make/autoconf/toolchain.m4
+++ b/make/autoconf/toolchain.m4
@@ -483,7 +483,11 @@ AC_DEFUN([TOOLCHAIN_EXTRACT_COMPILER_VERSION],
if test $? -ne 0; then
AC_MSG_NOTICE([The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler.])
AC_MSG_NOTICE([The result from running with --version was: "$COMPILER_VERSION_OUTPUT"])
- AC_MSG_ERROR([A $TOOLCHAIN_TYPE compiler is required. Try setting --with-tools-dir.])
+ if test "x$OPENJDK_TARGET_CPU" = xarm; then
+ AC_MSG_NOTICE([A $TOOLCHAIN_TYPE compiler is required. Try setting --with-tools-dir.])
+ else
+ AC_MSG_ERROR([A $TOOLCHAIN_TYPE compiler is required. Try setting --with-tools-dir.])
+ fi
fi
# Collapse compiler output into a single line
COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT`
diff --git a/make/common/NativeCompilation.gmk b/make/common/NativeCompilation.gmk
index 3b96222e4..fbf2f62e0 100644
--- a/make/common/NativeCompilation.gmk
+++ b/make/common/NativeCompilation.gmk
@@ -795,6 +795,10 @@ define SetupNativeCompilationBody
ifeq ($$($1_COMPILE_WITH_DEBUG_SYMBOLS), true)
$1_EXTRA_CFLAGS += $$(CFLAGS_DEBUG_SYMBOLS)
$1_EXTRA_CXXFLAGS += $$(CFLAGS_DEBUG_SYMBOLS)
+ ifeq ($(findstring $(OPENJDK_TARGET_CPU), arm), )
+ $1_EXTRA_CFLAGS := $(filter-out -gdwarf-aranges,$(1_EXTRA_CFLAGS))
+ $1_EXTRA_CXXFLAGS := $(filter-out -gdwarf-aranges,$(1_EXTRA_CXXFLAGS))
+ endif
$1_EXTRA_ASFLAGS += $$(ASFLAGS_DEBUG_SYMBOLS)
endif
@@ -900,8 +904,13 @@ define SetupNativeCompilationBody
$1_PCH_FILE := $$($1_OBJECT_DIR)/precompiled/$$(notdir $$($1_PRECOMPILED_HEADER)).gch
$1_USE_PCH_FLAGS := -I$$($1_OBJECT_DIR)/precompiled
else ifeq ($(TOOLCHAIN_TYPE), clang)
- $1_PCH_FILE := $$($1_OBJECT_DIR)/precompiled/$$(notdir $$($1_PRECOMPILED_HEADER)).pch
- $1_USE_PCH_FLAGS := -include-pch $$($1_PCH_FILE)
+ ifeq ($(findstring $(OPENJDK_TARGET_CPU), arm), )
+ $1_PCH_FILE := $$($1_OBJECT_DIR)/precompiled/$$(notdir $$($1_PRECOMPILED_HEADER)).gch
+ $1_USE_PCH_FLAGS := -I$$($1_OBJECT_DIR)/precompiled
+ else
+ $1_PCH_FILE := $$($1_OBJECT_DIR)/precompiled/$$(notdir $$($1_PRECOMPILED_HEADER)).pch
+ $1_USE_PCH_FLAGS := -include-pch $$($1_PCH_FILE)
+ endif
endif
$1_PCH_DEPS_FILE := $$($1_PCH_FILE).d
$1_PCH_DEPS_TARGETS_FILE := $$($1_PCH_FILE).d.targets
diff --git a/src/hotspot/cpu/arm/icache_arm.cpp b/src/hotspot/cpu/arm/icache_arm.cpp
index 61fcb8a35..9054b536c 100644
--- a/src/hotspot/cpu/arm/icache_arm.cpp
+++ b/src/hotspot/cpu/arm/icache_arm.cpp
@@ -31,7 +31,7 @@
static int icache_flush(address addr, int lines, int magic) {
- __builtin___clear_cache(addr, addr + (lines << ICache::log2_line_size));
+ __builtin___clear_cache((char *)addr, (char *)addr + (lines << ICache::log2_line_size));
return magic;
}
diff --git a/src/hotspot/cpu/riscv/vm_version_riscv.cpp b/src/hotspot/cpu/riscv/vm_version_riscv.cpp
index a740b0301..10fde8688 100644
--- a/src/hotspot/cpu/riscv/vm_version_riscv.cpp
+++ b/src/hotspot/cpu/riscv/vm_version_riscv.cpp
@@ -232,12 +232,10 @@ void VM_Version::initialize() {
FLAG_SET_DEFAULT(UseHashMapIntegerCache, false);
warning("HashMap optimization is not supported in this VM.");
}
-
if (UnlockExperimentalVMOptions && UseFastSerializer && !FLAG_IS_DEFAULT(UseFastSerializer)) {
FLAG_SET_DEFAULT(UseFastSerializer, false);
warning("Serializer optimization is not supported in this VM.");
}
-
#ifdef COMPILER2
c2_initialize();
#endif // COMPILER2
diff --git a/src/hotspot/cpu/s390/vm_version_s390.cpp b/src/hotspot/cpu/s390/vm_version_s390.cpp
index 44a0275e4..12fcb3773 100644
--- a/src/hotspot/cpu/s390/vm_version_s390.cpp
+++ b/src/hotspot/cpu/s390/vm_version_s390.cpp
@@ -272,6 +272,14 @@ void VM_Version::initialize() {
FLAG_SET_DEFAULT(UseSHA, false);
}
+ if (UnlockExperimentalVMOptions && UseHashMapIntegerCache && !FLAG_IS_DEFAULT(UseHashMapIntegerCache)) {
+ FLAG_SET_DEFAULT(UseHashMapIntegerCache, false);
+ warning("HashMap optimization is not supported in this VM.");
+ }
+ if (UnlockExperimentalVMOptions && UseFastSerializer && !FLAG_IS_DEFAULT(UseFastSerializer)) {
+ FLAG_SET_DEFAULT(UseFastSerializer, false);
+ warning("Serializer optimization is not supported in this VM.");
+ }
#ifdef COMPILER2
if (FLAG_IS_DEFAULT(UseMultiplyToLenIntrinsic)) {
FLAG_SET_DEFAULT(UseMultiplyToLenIntrinsic, true);
diff --git a/src/hotspot/cpu/x86/vm_version_x86.cpp b/src/hotspot/cpu/x86/vm_version_x86.cpp
index 6f35090cc..b312635b4 100644
--- a/src/hotspot/cpu/x86/vm_version_x86.cpp
+++ b/src/hotspot/cpu/x86/vm_version_x86.cpp
@@ -1200,15 +1200,14 @@ void VM_Version::get_processor_features() {
}
#ifdef _LP64
- if (UnlockExperimentalVMOptions && UseFastSerializer && !FLAG_IS_DEFAULT(UseFastSerializer)) {
- FLAG_SET_DEFAULT(UseFastSerializer, false);
- warning("Serializer optimization is not supported in this VM.");
- }
if (UnlockExperimentalVMOptions && UseHashMapIntegerCache && !FLAG_IS_DEFAULT(UseHashMapIntegerCache)) {
FLAG_SET_DEFAULT(UseHashMapIntegerCache, false);
warning("HashMap optimization is not supported in this VM.");
}
-
+ if (UnlockExperimentalVMOptions && UseFastSerializer && !FLAG_IS_DEFAULT(UseFastSerializer)) {
+ FLAG_SET_DEFAULT(UseFastSerializer, false);
+ warning("Serializer optimization is not supported in this VM.");
+ }
#endif
#ifdef _LP64
diff --git a/src/hotspot/os/linux/os_linux.cpp b/src/hotspot/os/linux/os_linux.cpp
index 43ee4b7db..990e38b07 100644
--- a/src/hotspot/os/linux/os_linux.cpp
+++ b/src/hotspot/os/linux/os_linux.cpp
@@ -135,7 +135,6 @@
__asm__(".symver fcntl64,fcntl@GLIBC_2.2.5");
#endif
-
// if RUSAGE_THREAD for getrusage() has not been defined, do it here. The code calling
// getrusage() is prepared to handle the associated failure.
#ifndef RUSAGE_THREAD
diff --git a/src/hotspot/os/linux/os_linux.hpp b/src/hotspot/os/linux/os_linux.hpp
index 871581f58..d25c2dda0 100644
--- a/src/hotspot/os/linux/os_linux.hpp
+++ b/src/hotspot/os/linux/os_linux.hpp
@@ -486,7 +486,7 @@ class os::Linux {
return NULL;
}
return _heap_dict_lookup(key, heap_dict, deletable);
- };
+ }
static void heap_dict_free(void* heap_dict, bool is_nested) {
if(_heap_dict_free != NULL) {
diff --git a/src/hotspot/os_cpu/linux_arm/os_linux_arm.cpp b/src/hotspot/os_cpu/linux_arm/os_linux_arm.cpp
index 86e8ed256..375925105 100644
--- a/src/hotspot/os_cpu/linux_arm/os_linux_arm.cpp
+++ b/src/hotspot/os_cpu/linux_arm/os_linux_arm.cpp
@@ -90,8 +90,14 @@ enum {
#endif
address os::current_stack_pointer() {
- register address sp __asm__ (SPELL_REG_SP);
- return sp;
+ #if defined(__clang__) || defined(__llvm__)
+ void *sp;
+ __asm__("mov %0, " SPELL_REG_SP : "=r"(sp));
+ return (address) sp;
+ #else
+ register address sp __asm__ (SPELL_REG_SP);
+ return sp;
+ #endif
}
char* os::non_memory_address_word() {
@@ -99,7 +105,7 @@ char* os::non_memory_address_word() {
return (char*) -1;
}
-
+#ifndef __arm__
#if NGREG == 16
// These definitions are based on the observation that until
// the certain version of GCC mcontext_t was defined as
@@ -111,6 +117,7 @@ char* os::non_memory_address_word() {
#define arm_fp gregs[11]
#define arm_r0 gregs[0]
#endif
+#endif
#define ARM_REGS_IN_CONTEXT 16
diff --git a/src/hotspot/share/code/codeBlob.hpp b/src/hotspot/share/code/codeBlob.hpp
index 8392499d3..03e7df9c8 100644
--- a/src/hotspot/share/code/codeBlob.hpp
+++ b/src/hotspot/share/code/codeBlob.hpp
@@ -48,8 +48,7 @@ enum class CodeBlobType {
MethodJBoltTmp = 3, // Temporary storage of JBolt hot methods
NonNMethod = 4, // Non-nmethods like Buffers, Adapters and Runtime Stubs
All = 5, // All types (No code cache segmentation)
- AOT = 6, // AOT methods
- NumTypes = 7 // Number of CodeBlobTypes
+ NumTypes = 6 // Number of CodeBlobTypes
};
// CodeBlob - superclass for all entries in the CodeCache.
diff --git a/src/hotspot/share/jbolt/jBoltManager.cpp b/src/hotspot/share/jbolt/jBoltManager.cpp
index 4cb6f4d1a..76be3f6ed 100644
--- a/src/hotspot/share/jbolt/jBoltManager.cpp
+++ b/src/hotspot/share/jbolt/jBoltManager.cpp
@@ -947,7 +947,7 @@ bool JBoltManager::reorder_phase_collecting_to_reordering() {
}
bool JBoltManager::reorder_phase_available_to_profiling() {
- assert(auto_mode(), "one-phase only");
+ assert(JBoltDumpMode || auto_mode(), "for two-phase dump mode & one-phase");
return Atomic::cmpxchg(&_reorder_phase, JBoltReorderPhase::Available, JBoltReorderPhase::Profiling) == JBoltReorderPhase::Available;
}
@@ -1002,7 +1002,7 @@ bool JBoltManager::reorder_phase_is_collecting() {
bool JBoltManager::reorder_phase_is_profiling() {
bool res = (Atomic::load_acquire(&_reorder_phase) == JBoltReorderPhase::Profiling);
- assert(!res || auto_mode(), "for two-phase dump mode & one-phase");
+ assert(!res || (JBoltDumpMode || auto_mode()), "for two-phase dump mode & one-phase");
return res;
}
diff --git a/src/hotspot/share/prims/unsafe.cpp b/src/hotspot/share/prims/unsafe.cpp
index 2fd9ed1d0..4eb1c96a6 100644
--- a/src/hotspot/share/prims/unsafe.cpp
+++ b/src/hotspot/share/prims/unsafe.cpp
@@ -910,11 +910,10 @@ static JNINativeMethod jdk_internal_misc_Unsafe_methods[] = {
{CC "writebackPostSync0", CC "()V", FN_PTR(Unsafe_WriteBackPostSync0)},
{CC "setMemory0", CC "(" OBJ "JJB)V", FN_PTR(Unsafe_SetMemory0)},
- {CC "getUseHashMapIntegerCache", CC "()Z", FN_PTR(Unsafe_GetUseHashMapIntegerCache)}
- ,
{CC "shouldBeInitialized0", CC "(" CLS ")Z", FN_PTR(Unsafe_ShouldBeInitialized0)},
{CC "fullFence", CC "()V", FN_PTR(Unsafe_FullFence)},
+ {CC "getUseHashMapIntegerCache", CC "()Z", FN_PTR(Unsafe_GetUseHashMapIntegerCache)},
{CC "getUseFastSerializer", CC "()Z", FN_PTR(Unsafe_GetUseFastSerializer)},
};
diff --git a/src/hotspot/share/services/heapDumper.cpp b/src/hotspot/share/services/heapDumper.cpp
index 82e721c17..e44ba085b 100644
--- a/src/hotspot/share/services/heapDumper.cpp
+++ b/src/hotspot/share/services/heapDumper.cpp
@@ -1053,7 +1053,7 @@ public:
int field_count() { return _entries; }
char sig_start(int field_idx) { return _sigs_start.at(field_idx); }
int offset(int field_idx) { return _offsets.at(field_idx); }
- address name_symbol_addrs(int field_idx) { return _name_symbol_addrs.at(field_idx); }
+ address name_symbol_addr(int field_idx) { return _name_symbol_addrs.at(field_idx); }
u4 instance_size() { return _instance_size; }
};
@@ -1391,7 +1391,7 @@ void DumperSupport::dump_instance_redact_fields(AbstractDumpWriter* writer, oop
int offset = class_cache_entry->offset(idx);
ResourceMark rm;
- address field_adr = class_cache_entry->name_symbol_addrs(idx);
+ address field_adr = class_cache_entry->name_symbol_addr(idx);
void* replace_value = writer->heapRedactor()->lookup_value(field_adr, replace_value_table, false);
if (replace_value != nullptr) {
@@ -1560,7 +1560,7 @@ void DumperSupport::dump_redact_instance(AbstractDumpWriter* writer, oop o, Dump
DumperClassCacheTableEntry* cache_entry = class_cache->lookup_or_create(ik);
- u4 is = instance_size(ik);
+ u4 is = instance_size(ik, cache_entry);
u4 size = 1 + sizeof(address) + 4 + sizeof(address) + 4 + is;
writer->start_sub_record(HPROF_GC_INSTANCE_DUMP, size);
diff --git a/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java b/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java
index 8501f4d93..b8f3e182b 100644
--- a/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java
+++ b/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java
@@ -1591,11 +1591,11 @@ public class HeapHprofBinWriter extends AbstractHeapGraphWriter {
level == HeapRedactor.HeapDumpRedactLevel.REDACT_FULL);
byte[] buf = null;
if(shouldRedact) {
- Optional<String> redactField = lookupRedactName(symbolStr);
- buf = redactField.isPresent() ? redactField.get().getBytes("UTF-8") : null;
+ Optional<String> redactFiled = lookupRedactName(symbolStr);
+ buf = redactFiled.isPresent() ? redactFiled.get().getBytes("UTF-8") : null;
}
if(buf == null) {
- buf = symbolStr.getBytes(UTF_8);
+ buf = symbolStr.getBytes("UTF-8");
}
writeHeader(HPROF_UTF8, buf.length + OBJ_ID_SIZE);
writeSymbolID(sym);
diff --git a/src/jdk.jcmd/share/classes/sun/tools/jmap/JMap.java b/src/jdk.jcmd/share/classes/sun/tools/jmap/JMap.java
index 50757d2d7..a48d27bab 100644
--- a/src/jdk.jcmd/share/classes/sun/tools/jmap/JMap.java
+++ b/src/jdk.jcmd/share/classes/sun/tools/jmap/JMap.java
@@ -343,7 +343,7 @@ public class JMap {
String flag = "RedactPassword";
try (InputStream in = hvm.printFlag(flag); BufferedInputStream bis = new BufferedInputStream(in);
InputStreamReader isr = new InputStreamReader(bis, "UTF-8")) {
- char c[] = new char[256];
+ char[] c = new char[256];
int n;
do {
n = isr.read(c);
diff --git a/src/jdk.sctp/unix/native/libsctp/SctpChannelImpl.c b/src/jdk.sctp/unix/native/libsctp/SctpChannelImpl.c
index 83f3519fb..3720caccd 100644
--- a/src/jdk.sctp/unix/native/libsctp/SctpChannelImpl.c
+++ b/src/jdk.sctp/unix/native/libsctp/SctpChannelImpl.c
@@ -389,7 +389,7 @@ void handleMessage
(JNIEnv* env, jobject resultContainerObj, struct msghdr* msg,int read,
jboolean isEOR, struct sockaddr* sap) {
jobject isa, resultObj;
- struct controlData cdata[1];
+ struct controlData cdata[1] = {0};
if (read == 0) {
/* we reached EOF */
diff --git a/test/hotspot/jtreg/compiler/codecache/jbolt/JBoltDumpModeTest.java b/test/hotspot/jtreg/compiler/codecache/jbolt/JBoltDumpModeTest.java
index b5bdb19bc..76a426838 100644
--- a/test/hotspot/jtreg/compiler/codecache/jbolt/JBoltDumpModeTest.java
+++ b/test/hotspot/jtreg/compiler/codecache/jbolt/JBoltDumpModeTest.java
@@ -79,7 +79,7 @@ public class JBoltDumpModeTest {
}
private static void testNormalUse() throws Exception {
- ProcessBuilder pb1 = ProcessTools.createJavaProcessBuilder(
+ ProcessBuilder pb1 = ProcessTools.createLimitedTestJavaProcessBuilder(
"-XX:+UnlockExperimentalVMOptions",
"-XX:+UseJBolt",
"-XX:JBoltOrderFile=" + ORDER_FILE,
@@ -88,7 +88,7 @@ public class JBoltDumpModeTest {
"--version"
);
- ProcessBuilder pb2 = ProcessTools.createJavaProcessBuilder(
+ ProcessBuilder pb2 = ProcessTools.createLimitedTestJavaProcessBuilder(
"-XX:+UnlockExperimentalVMOptions",
"-XX:+UseJBolt",
"-XX:JBoltOrderFile=" + ORDER_FILE,
@@ -98,7 +98,7 @@ public class JBoltDumpModeTest {
"--version"
);
- ProcessBuilder pb3 = ProcessTools.createJavaProcessBuilder(
+ ProcessBuilder pb3 = ProcessTools.createLimitedTestJavaProcessBuilder(
"-XX:+UnlockExperimentalVMOptions",
"-XX:+UseJBolt",
"-XX:JBoltOrderFile=" + ORDER_FILE,
@@ -138,7 +138,7 @@ public class JBoltDumpModeTest {
}
private static void testUnabletoRun() throws Exception {
- ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
+ ProcessBuilder pb = ProcessTools.createLimitedTestJavaProcessBuilder(
"-XX:+UnlockExperimentalVMOptions",
"-XX:+UseJBolt",
"-XX:JBoltOrderFile=" + ORDER_FILE,
@@ -161,7 +161,7 @@ public class JBoltDumpModeTest {
}
private static void testFatalError() throws Exception {
- ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
+ ProcessBuilder pb = ProcessTools.createLimitedTestJavaProcessBuilder(
"-XX:+UnlockExperimentalVMOptions",
"-XX:+UseJBolt",
"-XX:JBoltOrderFile=" + ORDER_FILE,
diff --git a/test/hotspot/jtreg/compiler/codecache/jbolt/JBoltVMOptionsTest.java b/test/hotspot/jtreg/compiler/codecache/jbolt/JBoltVMOptionsTest.java
index 4b45a585b..c17e2c13e 100644
--- a/test/hotspot/jtreg/compiler/codecache/jbolt/JBoltVMOptionsTest.java
+++ b/test/hotspot/jtreg/compiler/codecache/jbolt/JBoltVMOptionsTest.java
@@ -56,21 +56,21 @@ public class JBoltVMOptionsTest {
}
private static void test1() throws Exception {
- ProcessBuilder pb1 = ProcessTools.createJavaProcessBuilder(
+ ProcessBuilder pb1 = ProcessTools.createLimitedTestJavaProcessBuilder(
"-XX:+UnlockExperimentalVMOptions",
"-XX:+UseJBolt",
"-XX:+JBoltDumpMode",
"-Xlog:jbolt*=trace",
"--version"
);
- ProcessBuilder pb2 = ProcessTools.createJavaProcessBuilder(
+ ProcessBuilder pb2 = ProcessTools.createLimitedTestJavaProcessBuilder(
"-XX:+UnlockExperimentalVMOptions",
"-XX:+UseJBolt",
"-XX:+JBoltLoadMode",
"-Xlog:jbolt*=trace",
"--version"
);
- ProcessBuilder pb3 = ProcessTools.createJavaProcessBuilder(
+ ProcessBuilder pb3 = ProcessTools.createLimitedTestJavaProcessBuilder(
"-XX:+UnlockExperimentalVMOptions",
"-XX:+UseJBolt",
"-XX:+JBoltLoadMode",
@@ -79,7 +79,7 @@ public class JBoltVMOptionsTest {
"-Xlog:jbolt*=trace",
"--version"
);
- ProcessBuilder pb4 = ProcessTools.createJavaProcessBuilder(
+ ProcessBuilder pb4 = ProcessTools.createLimitedTestJavaProcessBuilder(
"-XX:+UnlockExperimentalVMOptions",
"-XX:+UseJBolt",
"-XX:JBoltOrderFile=" + TEMP_FILE,
@@ -116,14 +116,14 @@ public class JBoltVMOptionsTest {
}
private static void test2() throws Exception {
- ProcessBuilder pb1 = ProcessTools.createJavaProcessBuilder(
+ ProcessBuilder pb1 = ProcessTools.createLimitedTestJavaProcessBuilder(
"-XX:+UnlockExperimentalVMOptions",
"-XX:+UseJBolt",
"-XX:+PrintFlagsFinal",
"-Xlog:jbolt*=trace",
"--version"
);
- ProcessBuilder pb2 = ProcessTools.createJavaProcessBuilder(
+ ProcessBuilder pb2 = ProcessTools.createLimitedTestJavaProcessBuilder(
"-XX:+UnlockExperimentalVMOptions",
"-XX:+UseJBolt",
"-XX:+JBoltDumpMode",
@@ -132,7 +132,7 @@ public class JBoltVMOptionsTest {
"-Xlog:jbolt*=trace",
"--version"
);
- ProcessBuilder pb3 = ProcessTools.createJavaProcessBuilder(
+ ProcessBuilder pb3 = ProcessTools.createLimitedTestJavaProcessBuilder(
"-XX:+UnlockExperimentalVMOptions",
"-XX:+UseJBolt",
"-XX:+JBoltLoadMode",
@@ -167,7 +167,7 @@ public class JBoltVMOptionsTest {
}
private static void test3() throws Exception {
- ProcessBuilder pbF0 = ProcessTools.createJavaProcessBuilder(
+ ProcessBuilder pbF0 = ProcessTools.createLimitedTestJavaProcessBuilder(
"-XX:+UnlockExperimentalVMOptions",
"-XX:+UseJBolt",
"-XX:+JBoltLoadMode",
@@ -175,7 +175,7 @@ public class JBoltVMOptionsTest {
"-Xlog:jbolt*=trace",
"--version"
);
- ProcessBuilder pbF1 = ProcessTools.createJavaProcessBuilder(
+ ProcessBuilder pbF1 = ProcessTools.createLimitedTestJavaProcessBuilder(
"-XX:+UnlockExperimentalVMOptions",
"-XX:+UseJBolt",
"-XX:+JBoltLoadMode",
@@ -183,7 +183,7 @@ public class JBoltVMOptionsTest {
"-Xlog:jbolt*=trace",
"--version"
);
- ProcessBuilder pbF2 = ProcessTools.createJavaProcessBuilder(
+ ProcessBuilder pbF2 = ProcessTools.createLimitedTestJavaProcessBuilder(
"-XX:+UnlockExperimentalVMOptions",
"-XX:+UseJBolt",
"-XX:+JBoltLoadMode",
@@ -191,7 +191,7 @@ public class JBoltVMOptionsTest {
"-Xlog:jbolt*=trace",
"--version"
);
- ProcessBuilder pbF3 = ProcessTools.createJavaProcessBuilder(
+ ProcessBuilder pbF3 = ProcessTools.createLimitedTestJavaProcessBuilder(
"-XX:+UnlockExperimentalVMOptions",
"-XX:+UseJBolt",
"-XX:+JBoltLoadMode",
@@ -199,7 +199,7 @@ public class JBoltVMOptionsTest {
"-Xlog:jbolt*=trace",
"--version"
);
- ProcessBuilder pbF4 = ProcessTools.createJavaProcessBuilder(
+ ProcessBuilder pbF4 = ProcessTools.createLimitedTestJavaProcessBuilder(
"-XX:+UnlockExperimentalVMOptions",
"-XX:+UseJBolt",
"-XX:+JBoltLoadMode",
@@ -246,19 +246,19 @@ public class JBoltVMOptionsTest {
}
private static void test4() throws Exception {
- ProcessBuilder pb1 = ProcessTools.createJavaProcessBuilder(
+ ProcessBuilder pb1 = ProcessTools.createLimitedTestJavaProcessBuilder(
"-XX:+UnlockExperimentalVMOptions",
"-XX:+JBoltDumpMode",
"-Xlog:jbolt*=trace",
"--version"
);
- ProcessBuilder pb2 = ProcessTools.createJavaProcessBuilder(
+ ProcessBuilder pb2 = ProcessTools.createLimitedTestJavaProcessBuilder(
"-XX:+UnlockExperimentalVMOptions",
"-XX:+JBoltLoadMode",
"-Xlog:jbolt*=trace",
"--version"
);
- ProcessBuilder pb3 = ProcessTools.createJavaProcessBuilder(
+ ProcessBuilder pb3 = ProcessTools.createLimitedTestJavaProcessBuilder(
"-XX:+UnlockExperimentalVMOptions",
"-XX:JBoltOrderFile=" + TEMP_FILE,
"-Xlog:jbolt*=trace",
--
2.47.0.windows.2
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/zhangyunbo7/openjdk-21.git
git@gitee.com:zhangyunbo7/openjdk-21.git
zhangyunbo7
openjdk-21
openjdk-21
openEuler-24.03-LTS

搜索帮助