Skip to content
This repository was archived by the owner on Feb 2, 2023. It is now read-only.

Commit 7894815

Browse files
KaperDYuri Nesterenko
authored andcommitted
8253639: Change os::attempt_reserve_memory_at parameter order
Backport-of: ca1ed16292492d256d076122d124be8978fce4c3
1 parent 2802620 commit 7894815

File tree

10 files changed

+27
-27
lines changed

10 files changed

+27
-27
lines changed

src/hotspot/os/aix/os_aix.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2532,7 +2532,7 @@ bool os::can_execute_large_page_memory() {
25322532
return false;
25332533
}
25342534

2535-
char* os::pd_attempt_reserve_memory_at(size_t bytes, char* requested_addr, int file_desc) {
2535+
char* os::pd_attempt_reserve_memory_at(char* requested_addr, size_t bytes, int file_desc) {
25362536
assert(file_desc >= 0, "file_desc is not valid");
25372537
char* result = NULL;
25382538

@@ -2550,7 +2550,7 @@ char* os::pd_attempt_reserve_memory_at(size_t bytes, char* requested_addr, int f
25502550

25512551
// Reserve memory at an arbitrary address, only if that area is
25522552
// available (and not reserved for something else).
2553-
char* os::pd_attempt_reserve_memory_at(size_t bytes, char* requested_addr) {
2553+
char* os::pd_attempt_reserve_memory_at(char* requested_addr, size_t bytes) {
25542554
char* addr = NULL;
25552555

25562556
// Always round to os::vm_page_size(), which may be larger than 4K.

src/hotspot/os/bsd/os_bsd.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2142,9 +2142,9 @@ bool os::can_execute_large_page_memory() {
21422142
return false;
21432143
}
21442144

2145-
char* os::pd_attempt_reserve_memory_at(size_t bytes, char* requested_addr, int file_desc) {
2145+
char* os::pd_attempt_reserve_memory_at(char* requested_addr, size_t bytes, int file_desc) {
21462146
assert(file_desc >= 0, "file_desc is not valid");
2147-
char* result = pd_attempt_reserve_memory_at(bytes, requested_addr);
2147+
char* result = pd_attempt_reserve_memory_at(requested_addr, bytes);
21482148
if (result != NULL) {
21492149
if (replace_existing_mapping_with_file_mapping(result, bytes, file_desc) == NULL) {
21502150
vm_exit_during_initialization(err_msg("Error in mapping Java heap at the given filesystem directory"));
@@ -2156,7 +2156,7 @@ char* os::pd_attempt_reserve_memory_at(size_t bytes, char* requested_addr, int f
21562156
// Reserve memory at an arbitrary address, only if that area is
21572157
// available (and not reserved for something else).
21582158

2159-
char* os::pd_attempt_reserve_memory_at(size_t bytes, char* requested_addr) {
2159+
char* os::pd_attempt_reserve_memory_at(char* requested_addr, size_t bytes) {
21602160
// Assert only that the size is a multiple of the page size, since
21612161
// that's all that mmap requires, and since that's all we really know
21622162
// about at this low abstraction level. If we need higher alignment,

src/hotspot/os/linux/os_linux.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4303,9 +4303,9 @@ bool os::can_execute_large_page_memory() {
43034303
return UseTransparentHugePages || UseHugeTLBFS;
43044304
}
43054305

4306-
char* os::pd_attempt_reserve_memory_at(size_t bytes, char* requested_addr, int file_desc) {
4306+
char* os::pd_attempt_reserve_memory_at(char* requested_addr, size_t bytes, int file_desc) {
43074307
assert(file_desc >= 0, "file_desc is not valid");
4308-
char* result = pd_attempt_reserve_memory_at(bytes, requested_addr);
4308+
char* result = pd_attempt_reserve_memory_at(requested_addr, bytes);
43094309
if (result != NULL) {
43104310
if (replace_existing_mapping_with_file_mapping(result, bytes, file_desc) == NULL) {
43114311
vm_exit_during_initialization(err_msg("Error in mapping Java heap at the given filesystem directory"));
@@ -4317,7 +4317,7 @@ char* os::pd_attempt_reserve_memory_at(size_t bytes, char* requested_addr, int f
43174317
// Reserve memory at an arbitrary address, only if that area is
43184318
// available (and not reserved for something else).
43194319

4320-
char* os::pd_attempt_reserve_memory_at(size_t bytes, char* requested_addr) {
4320+
char* os::pd_attempt_reserve_memory_at(char* requested_addr, size_t bytes) {
43214321
// Assert only that the size is a multiple of the page size, since
43224322
// that's all that mmap requires, and since that's all we really know
43234323
// about at this low abstraction level. If we need higher alignment,

src/hotspot/os/windows/os_windows.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3091,8 +3091,8 @@ void os::split_reserved_memory(char *base, size_t size, size_t split) {
30913091
assert(is_aligned(split_address, os::vm_allocation_granularity()), "Sanity");
30923092

30933093
release_memory(base, size);
3094-
attempt_reserve_memory_at(split, base);
3095-
attempt_reserve_memory_at(size - split, split_address);
3094+
attempt_reserve_memory_at(base, split);
3095+
attempt_reserve_memory_at(split_address, size - split);
30963096

30973097
// NMT: nothing to do here. Since Windows implements the split by
30983098
// releasing and re-reserving memory, the parts are already registered
@@ -3127,7 +3127,7 @@ char* os::reserve_memory_aligned(size_t size, size_t alignment, int file_desc) {
31273127
os::release_memory(extra_base, extra_size);
31283128
}
31293129

3130-
aligned_base = os::attempt_reserve_memory_at(size, aligned_base, file_desc);
3130+
aligned_base = os::attempt_reserve_memory_at(aligned_base, size, file_desc);
31313131

31323132
} while (aligned_base == NULL);
31333133

@@ -3136,12 +3136,12 @@ char* os::reserve_memory_aligned(size_t size, size_t alignment, int file_desc) {
31363136

31373137
char* os::pd_reserve_memory(size_t bytes, size_t alignment_hint) {
31383138
// Ignores alignment hint
3139-
return pd_attempt_reserve_memory_at(bytes, NULL /* addr */);
3139+
return pd_attempt_reserve_memory_at(NULL /* addr */, bytes);
31403140
}
31413141

31423142
// Reserve memory at an arbitrary address, only if that area is
31433143
// available (and not reserved for something else).
3144-
char* os::pd_attempt_reserve_memory_at(size_t bytes, char* addr) {
3144+
char* os::pd_attempt_reserve_memory_at(char* addr, size_t bytes) {
31453145
assert((size_t)addr % os::vm_allocation_granularity() == 0,
31463146
"reserve alignment");
31473147
assert(bytes % os::vm_page_size() == 0, "reserve page size");
@@ -3172,7 +3172,7 @@ char* os::pd_attempt_reserve_memory_at(size_t bytes, char* addr) {
31723172
return res;
31733173
}
31743174

3175-
char* os::pd_attempt_reserve_memory_at(size_t bytes, char* requested_addr, int file_desc) {
3175+
char* os::pd_attempt_reserve_memory_at(char* requested_addr, size_t bytes, int file_desc) {
31763176
assert(file_desc >= 0, "file_desc is not valid");
31773177
return map_memory_to_file(requested_addr, bytes, file_desc);
31783178
}

src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -884,15 +884,15 @@ void os::workaround_expand_exec_shield_cs_limit() {
884884
*/
885885
char* hint = (char*)(Linux::initial_thread_stack_bottom() -
886886
(JavaThread::stack_guard_zone_size() + page_size));
887-
char* codebuf = os::attempt_reserve_memory_at(page_size, hint);
887+
char* codebuf = os::attempt_reserve_memory_at(hint, page_size);
888888

889889
if (codebuf == NULL) {
890890
// JDK-8197429: There may be a stack gap of one megabyte between
891891
// the limit of the stack and the nearest memory region: this is a
892892
// Linux kernel workaround for CVE-2017-1000364. If we failed to
893893
// map our codebuf, try again at an address one megabyte lower.
894894
hint -= 1 * M;
895-
codebuf = os::attempt_reserve_memory_at(page_size, hint);
895+
codebuf = os::attempt_reserve_memory_at(hint, page_size);
896896
}
897897

898898
if ((codebuf == NULL) || (!os::commit_memory(codebuf, page_size, true))) {

src/hotspot/share/gc/g1/g1RegionToSpaceMapper.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ static bool map_nvdimm_space(ReservedSpace rs) {
220220
return false;
221221
}
222222
// commit this memory in nv-dimm
223-
char* ret = os::attempt_reserve_memory_at(rs.size(), rs.base(), _backing_fd);
223+
char* ret = os::attempt_reserve_memory_at(rs.base(), rs.size(), _backing_fd);
224224

225225
if (ret != rs.base()) {
226226
if (ret != NULL) {
@@ -267,7 +267,7 @@ bool G1RegionToHeteroSpaceMapper::initialize() {
267267
assert(rs_dram.size() == rs_nvdimm.size() && rs_nvdimm.size() == MaxHeapSize, "They all should be same");
268268

269269
// Reserve dram memory
270-
char* base = os::attempt_reserve_memory_at(rs_dram.size(), rs_dram.base());
270+
char* base = os::attempt_reserve_memory_at(rs_dram.base(), rs_dram.size());
271271
if (base != rs_dram.base()) {
272272
if (base != NULL) {
273273
os::release_memory(base, rs_dram.size());

src/hotspot/share/memory/virtualspace.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ void ReservedSpace::initialize(size_t size, size_t alignment, bool large,
186186
// important. If available space is not detected, return NULL.
187187

188188
if (requested_address != 0) {
189-
base = os::attempt_reserve_memory_at(size, requested_address, _fd_for_heap);
189+
base = os::attempt_reserve_memory_at(requested_address, size, _fd_for_heap);
190190
if (failed_to_reserve_as_requested(base, requested_address, size, false, _fd_for_heap != -1)) {
191191
// OS ignored requested address. Try different address.
192192
base = NULL;
@@ -378,7 +378,7 @@ void ReservedHeapSpace::try_reserve_heap(size_t size,
378378
// important. If available space is not detected, return NULL.
379379

380380
if (requested_address != 0) {
381-
base = os::attempt_reserve_memory_at(size, requested_address, _fd_for_heap);
381+
base = os::attempt_reserve_memory_at(requested_address, size, _fd_for_heap);
382382
} else {
383383
base = os::reserve_memory_with_fd(size, alignment, _fd_for_heap);
384384
}

src/hotspot/share/prims/whitebox.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -764,7 +764,7 @@ WB_ENTRY(jlong, WB_NMTReserveMemory(JNIEnv* env, jobject o, jlong size))
764764
WB_END
765765

766766
WB_ENTRY(jlong, WB_NMTAttemptReserveMemoryAt(JNIEnv* env, jobject o, jlong addr, jlong size))
767-
addr = (jlong)(uintptr_t)os::attempt_reserve_memory_at((size_t)size, (char*)(uintptr_t)addr);
767+
addr = (jlong)(uintptr_t)os::attempt_reserve_memory_at((char*)(uintptr_t)addr, (size_t)size);
768768
MemTracker::record_virtual_memory_type((address)addr, mtTest);
769769

770770
return addr;

src/hotspot/share/runtime/os.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1685,15 +1685,15 @@ char* os::reserve_memory_with_fd(size_t bytes, size_t alignment_hint, int file_d
16851685
return result;
16861686
}
16871687

1688-
char* os::attempt_reserve_memory_at(size_t bytes, char* addr, int file_desc) {
1688+
char* os::attempt_reserve_memory_at(char* addr, size_t bytes, int file_desc) {
16891689
char* result = NULL;
16901690
if (file_desc != -1) {
1691-
result = pd_attempt_reserve_memory_at(bytes, addr, file_desc);
1691+
result = pd_attempt_reserve_memory_at(addr, bytes, file_desc);
16921692
if (result != NULL) {
16931693
MemTracker::record_virtual_memory_reserve_and_commit((address)result, bytes, CALLER_PC);
16941694
}
16951695
} else {
1696-
result = pd_attempt_reserve_memory_at(bytes, addr);
1696+
result = pd_attempt_reserve_memory_at(addr, bytes);
16971697
if (result != NULL) {
16981698
MemTracker::record_virtual_memory_reserve((address)result, bytes, CALLER_PC);
16991699
}

src/hotspot/share/runtime/os.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,8 @@ class os: AllStatic {
117117

118118
static char* pd_reserve_memory(size_t bytes, size_t alignment_hint);
119119

120-
static char* pd_attempt_reserve_memory_at(size_t bytes, char* addr);
121-
static char* pd_attempt_reserve_memory_at(size_t bytes, char* addr, int file_desc);
120+
static char* pd_attempt_reserve_memory_at(char* addr, size_t bytes);
121+
static char* pd_attempt_reserve_memory_at(char* addr, size_t bytes, int file_desc);
122122

123123
static bool pd_commit_memory(char* addr, size_t bytes, bool executable);
124124
static bool pd_commit_memory(char* addr, size_t size, size_t alignment_hint,
@@ -327,7 +327,7 @@ class os: AllStatic {
327327

328328
// Attempts to reserve the virtual memory at [addr, addr + bytes).
329329
// Does not overwrite existing mappings.
330-
static char* attempt_reserve_memory_at(size_t bytes, char* addr, int file_desc = -1);
330+
static char* attempt_reserve_memory_at(char* addr, size_t bytes, int file_desc = -1);
331331

332332
// Split a reserved memory region [base, base+size) into two regions [base, base+split) and
333333
// [base+split, base+size).

0 commit comments

Comments
 (0)