8346237: Obsolete the UseOprofile flag
Reviewed-by: coleenp, kvn
This commit is contained in:
parent
cd9b1bc820
commit
ef45c8154c
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2005, 2024, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2005, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -35,9 +35,6 @@
|
|||||||
range, \
|
range, \
|
||||||
constraint) \
|
constraint) \
|
||||||
\
|
\
|
||||||
product(bool, UseOprofile, false, \
|
|
||||||
"(Deprecated) enable support for Oprofile profiler") \
|
|
||||||
\
|
|
||||||
product(bool, UseTransparentHugePages, false, \
|
product(bool, UseTransparentHugePages, false, \
|
||||||
"Use MADV_HUGEPAGE for large pages") \
|
"Use MADV_HUGEPAGE for large pages") \
|
||||||
\
|
\
|
||||||
|
@ -2820,44 +2820,6 @@ void os::jvm_path(char *buf, jint buflen) {
|
|||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// Virtual Memory
|
// Virtual Memory
|
||||||
|
|
||||||
// Rationale behind this function:
|
|
||||||
// current (Mon Apr 25 20:12:18 MSD 2005) oprofile drops samples without executable
|
|
||||||
// mapping for address (see lookup_dcookie() in the kernel module), thus we cannot get
|
|
||||||
// samples for JITted code. Here we create private executable mapping over the code cache
|
|
||||||
// and then we can use standard (well, almost, as mapping can change) way to provide
|
|
||||||
// info for the reporting script by storing timestamp and location of symbol
|
|
||||||
void linux_wrap_code(char* base, size_t size) {
|
|
||||||
static volatile jint cnt = 0;
|
|
||||||
|
|
||||||
static_assert(sizeof(off_t) == 8, "Expected Large File Support in this file");
|
|
||||||
|
|
||||||
if (!UseOprofile) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
char buf[PATH_MAX+1];
|
|
||||||
int num = Atomic::add(&cnt, 1);
|
|
||||||
|
|
||||||
snprintf(buf, sizeof(buf), "%s/hs-vm-%d-%d",
|
|
||||||
os::get_temp_directory(), os::current_process_id(), num);
|
|
||||||
unlink(buf);
|
|
||||||
|
|
||||||
int fd = ::open(buf, O_CREAT | O_RDWR, S_IRWXU);
|
|
||||||
|
|
||||||
if (fd != -1) {
|
|
||||||
off_t rv = ::lseek(fd, size-2, SEEK_SET);
|
|
||||||
if (rv != (off_t)-1) {
|
|
||||||
if (::write(fd, "", 1) == 1) {
|
|
||||||
mmap(base, size,
|
|
||||||
PROT_READ|PROT_WRITE|PROT_EXEC,
|
|
||||||
MAP_PRIVATE|MAP_FIXED|MAP_NORESERVE, fd, 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
::close(fd);
|
|
||||||
unlink(buf);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static bool recoverable_mmap_error(int err) {
|
static bool recoverable_mmap_error(int err) {
|
||||||
// See if the error is one we can let the caller handle. This
|
// See if the error is one we can let the caller handle. This
|
||||||
// list of errno values comes from JBS-6843484. I can't find a
|
// list of errno values comes from JBS-6843484. I can't find a
|
||||||
|
@ -189,14 +189,6 @@ static size_t align_to_page_size(size_t size) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CodeHeap::on_code_mapping(char* base, size_t size) {
|
|
||||||
#ifdef LINUX
|
|
||||||
extern void linux_wrap_code(char* base, size_t size);
|
|
||||||
linux_wrap_code(base, size);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool CodeHeap::reserve(ReservedSpace rs, size_t committed_size, size_t segment_size) {
|
bool CodeHeap::reserve(ReservedSpace rs, size_t committed_size, size_t segment_size) {
|
||||||
assert(rs.size() >= committed_size, "reserved < committed");
|
assert(rs.size() >= committed_size, "reserved < committed");
|
||||||
assert(is_aligned(committed_size, rs.page_size()), "must be page aligned");
|
assert(is_aligned(committed_size, rs.page_size()), "must be page aligned");
|
||||||
@ -213,7 +205,6 @@ bool CodeHeap::reserve(ReservedSpace rs, size_t committed_size, size_t segment_s
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
on_code_mapping(_memory.low(), _memory.committed_size());
|
|
||||||
_number_of_committed_segments = size_to_segments(_memory.committed_size());
|
_number_of_committed_segments = size_to_segments(_memory.committed_size());
|
||||||
_number_of_reserved_segments = size_to_segments(_memory.reserved_size());
|
_number_of_reserved_segments = size_to_segments(_memory.reserved_size());
|
||||||
assert(_number_of_reserved_segments >= _number_of_committed_segments, "just checking");
|
assert(_number_of_reserved_segments >= _number_of_committed_segments, "just checking");
|
||||||
@ -250,7 +241,6 @@ bool CodeHeap::expand_by(size_t size) {
|
|||||||
}
|
}
|
||||||
char* base = _memory.low() + _memory.committed_size();
|
char* base = _memory.low() + _memory.committed_size();
|
||||||
if (!_memory.expand_by(dm)) return false;
|
if (!_memory.expand_by(dm)) return false;
|
||||||
on_code_mapping(base, dm);
|
|
||||||
size_t i = _number_of_committed_segments;
|
size_t i = _number_of_committed_segments;
|
||||||
_number_of_committed_segments = size_to_segments(_memory.committed_size());
|
_number_of_committed_segments = size_to_segments(_memory.committed_size());
|
||||||
assert(_number_of_reserved_segments == size_to_segments(_memory.reserved_size()), "number of reserved segments should not change");
|
assert(_number_of_reserved_segments == size_to_segments(_memory.reserved_size()), "number of reserved segments should not change");
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2024, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -146,9 +146,6 @@ class CodeHeap : public CHeapObj<mtCode> {
|
|||||||
void* next_used(HeapBlock* b) const;
|
void* next_used(HeapBlock* b) const;
|
||||||
HeapBlock* block_start(void* p) const;
|
HeapBlock* block_start(void* p) const;
|
||||||
|
|
||||||
// to perform additional actions on creation of executable code
|
|
||||||
void on_code_mapping(char* base, size_t size);
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
CodeHeap(const char* name, const CodeBlobType code_blob_type);
|
CodeHeap(const char* name, const CodeBlobType code_blob_type);
|
||||||
|
|
||||||
|
@ -530,7 +530,6 @@ static SpecialFlag const special_jvm_flags[] = {
|
|||||||
{ "UseSharedSpaces", JDK_Version::jdk(18), JDK_Version::jdk(19), JDK_Version::undefined() },
|
{ "UseSharedSpaces", JDK_Version::jdk(18), JDK_Version::jdk(19), JDK_Version::undefined() },
|
||||||
#ifdef LINUX
|
#ifdef LINUX
|
||||||
{ "UseLinuxPosixThreadCPUClocks", JDK_Version::jdk(24), JDK_Version::jdk(25), JDK_Version::jdk(26) },
|
{ "UseLinuxPosixThreadCPUClocks", JDK_Version::jdk(24), JDK_Version::jdk(25), JDK_Version::jdk(26) },
|
||||||
{ "UseOprofile", JDK_Version::jdk(25), JDK_Version::jdk(26), JDK_Version::jdk(27) },
|
|
||||||
#endif
|
#endif
|
||||||
{ "LockingMode", JDK_Version::jdk(24), JDK_Version::jdk(26), JDK_Version::jdk(27) },
|
{ "LockingMode", JDK_Version::jdk(24), JDK_Version::jdk(26), JDK_Version::jdk(27) },
|
||||||
#ifdef _LP64
|
#ifdef _LP64
|
||||||
@ -542,6 +541,9 @@ static SpecialFlag const special_jvm_flags[] = {
|
|||||||
// -------------- Obsolete Flags - sorted by expired_in --------------
|
// -------------- Obsolete Flags - sorted by expired_in --------------
|
||||||
|
|
||||||
{ "PerfDataSamplingInterval", JDK_Version::undefined(), JDK_Version::jdk(25), JDK_Version::jdk(26) },
|
{ "PerfDataSamplingInterval", JDK_Version::undefined(), JDK_Version::jdk(25), JDK_Version::jdk(26) },
|
||||||
|
#ifdef LINUX
|
||||||
|
{ "UseOprofile", JDK_Version::jdk(25), JDK_Version::jdk(26), JDK_Version::jdk(27) },
|
||||||
|
#endif
|
||||||
{ "MetaspaceReclaimPolicy", JDK_Version::undefined(), JDK_Version::jdk(21), JDK_Version::undefined() },
|
{ "MetaspaceReclaimPolicy", JDK_Version::undefined(), JDK_Version::jdk(21), JDK_Version::undefined() },
|
||||||
{ "ZGenerational", JDK_Version::jdk(23), JDK_Version::jdk(24), JDK_Version::undefined() },
|
{ "ZGenerational", JDK_Version::jdk(23), JDK_Version::jdk(24), JDK_Version::undefined() },
|
||||||
{ "ZMarkStackSpaceLimit", JDK_Version::undefined(), JDK_Version::jdk(25), JDK_Version::undefined() },
|
{ "ZMarkStackSpaceLimit", JDK_Version::undefined(), JDK_Version::jdk(25), JDK_Version::undefined() },
|
||||||
|
Loading…
x
Reference in New Issue
Block a user