Skip to content

Commit ca1ed16

Browse files
committed
8253639: Change os::attempt_reserve_memory_at parameter order
Reviewed-by: tschatzl, iklam
1 parent fed3636 commit ca1ed16

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
@@ -2115,9 +2115,9 @@ bool os::can_execute_large_page_memory() {
21152115
return false;
21162116
}
21172117

2118-
char* os::pd_attempt_reserve_memory_at(size_t bytes, char* requested_addr, int file_desc) {
2118+
char* os::pd_attempt_reserve_memory_at(char* requested_addr, size_t bytes, int file_desc) {
21192119
assert(file_desc >= 0, "file_desc is not valid");
2120-
char* result = pd_attempt_reserve_memory_at(bytes, requested_addr);
2120+
char* result = pd_attempt_reserve_memory_at(requested_addr, bytes);
21212121
if (result != NULL) {
21222122
if (replace_existing_mapping_with_file_mapping(result, bytes, file_desc) == NULL) {
21232123
vm_exit_during_initialization(err_msg("Error in mapping Java heap at the given filesystem directory"));
@@ -2129,7 +2129,7 @@ char* os::pd_attempt_reserve_memory_at(size_t bytes, char* requested_addr, int f
21292129
// Reserve memory at an arbitrary address, only if that area is
21302130
// available (and not reserved for something else).
21312131

2132-
char* os::pd_attempt_reserve_memory_at(size_t bytes, char* requested_addr) {
2132+
char* os::pd_attempt_reserve_memory_at(char* requested_addr, size_t bytes) {
21332133
// Assert only that the size is a multiple of the page size, since
21342134
// that's all that mmap requires, and since that's all we really know
21352135
// 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
@@ -4376,9 +4376,9 @@ bool os::can_execute_large_page_memory() {
43764376
return UseTransparentHugePages || UseHugeTLBFS;
43774377
}
43784378

4379-
char* os::pd_attempt_reserve_memory_at(size_t bytes, char* requested_addr, int file_desc) {
4379+
char* os::pd_attempt_reserve_memory_at(char* requested_addr, size_t bytes, int file_desc) {
43804380
assert(file_desc >= 0, "file_desc is not valid");
4381-
char* result = pd_attempt_reserve_memory_at(bytes, requested_addr);
4381+
char* result = pd_attempt_reserve_memory_at(requested_addr, bytes);
43824382
if (result != NULL) {
43834383
if (replace_existing_mapping_with_file_mapping(result, bytes, file_desc) == NULL) {
43844384
vm_exit_during_initialization(err_msg("Error in mapping Java heap at the given filesystem directory"));
@@ -4390,7 +4390,7 @@ char* os::pd_attempt_reserve_memory_at(size_t bytes, char* requested_addr, int f
43904390
// Reserve memory at an arbitrary address, only if that area is
43914391
// available (and not reserved for something else).
43924392

4393-
char* os::pd_attempt_reserve_memory_at(size_t bytes, char* requested_addr) {
4393+
char* os::pd_attempt_reserve_memory_at(char* requested_addr, size_t bytes) {
43944394
// Assert only that the size is a multiple of the page size, since
43954395
// that's all that mmap requires, and since that's all we really know
43964396
// 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
@@ -3063,8 +3063,8 @@ void os::split_reserved_memory(char *base, size_t size, size_t split) {
30633063
assert(is_aligned(split_address, os::vm_allocation_granularity()), "Sanity");
30643064

30653065
release_memory(base, size);
3066-
attempt_reserve_memory_at(split, base);
3067-
attempt_reserve_memory_at(size - split, split_address);
3066+
attempt_reserve_memory_at(base, split);
3067+
attempt_reserve_memory_at(split_address, size - split);
30683068

30693069
// NMT: nothing to do here. Since Windows implements the split by
30703070
// releasing and re-reserving memory, the parts are already registered
@@ -3099,7 +3099,7 @@ char* os::reserve_memory_aligned(size_t size, size_t alignment, int file_desc) {
30993099
os::release_memory(extra_base, extra_size);
31003100
}
31013101

3102-
aligned_base = os::attempt_reserve_memory_at(size, aligned_base, file_desc);
3102+
aligned_base = os::attempt_reserve_memory_at(aligned_base, size, file_desc);
31033103

31043104
} while (aligned_base == NULL);
31053105

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

31093109
char* os::pd_reserve_memory(size_t bytes, size_t alignment_hint) {
31103110
// Ignores alignment hint
3111-
return pd_attempt_reserve_memory_at(bytes, NULL /* addr */);
3111+
return pd_attempt_reserve_memory_at(NULL /* addr */, bytes);
31123112
}
31133113

31143114
// Reserve memory at an arbitrary address, only if that area is
31153115
// available (and not reserved for something else).
3116-
char* os::pd_attempt_reserve_memory_at(size_t bytes, char* addr) {
3116+
char* os::pd_attempt_reserve_memory_at(char* addr, size_t bytes) {
31173117
assert((size_t)addr % os::vm_allocation_granularity() == 0,
31183118
"reserve alignment");
31193119
assert(bytes % os::vm_page_size() == 0, "reserve page size");
@@ -3144,7 +3144,7 @@ char* os::pd_attempt_reserve_memory_at(size_t bytes, char* addr) {
31443144
return res;
31453145
}
31463146

3147-
char* os::pd_attempt_reserve_memory_at(size_t bytes, char* requested_addr, int file_desc) {
3147+
char* os::pd_attempt_reserve_memory_at(char* requested_addr, size_t bytes, int file_desc) {
31483148
assert(file_desc >= 0, "file_desc is not valid");
31493149
return map_memory_to_file(requested_addr, bytes, file_desc);
31503150
}

src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -859,15 +859,15 @@ void os::workaround_expand_exec_shield_cs_limit() {
859859
*/
860860
char* hint = (char*)(Linux::initial_thread_stack_bottom() -
861861
(JavaThread::stack_guard_zone_size() + page_size));
862-
char* codebuf = os::attempt_reserve_memory_at(page_size, hint);
862+
char* codebuf = os::attempt_reserve_memory_at(hint, page_size);
863863

864864
if (codebuf == NULL) {
865865
// JDK-8197429: There may be a stack gap of one megabyte between
866866
// the limit of the stack and the nearest memory region: this is a
867867
// Linux kernel workaround for CVE-2017-1000364. If we failed to
868868
// map our codebuf, try again at an address one megabyte lower.
869869
hint -= 1 * M;
870-
codebuf = os::attempt_reserve_memory_at(page_size, hint);
870+
codebuf = os::attempt_reserve_memory_at(hint, page_size);
871871
}
872872

873873
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
@@ -188,7 +188,7 @@ void ReservedSpace::initialize(size_t size, size_t alignment, bool large,
188188
// important. If available space is not detected, return NULL.
189189

190190
if (requested_address != 0) {
191-
base = os::attempt_reserve_memory_at(size, requested_address, _fd_for_heap);
191+
base = os::attempt_reserve_memory_at(requested_address, size, _fd_for_heap);
192192
if (failed_to_reserve_as_requested(base, requested_address, size, false, _fd_for_heap != -1)) {
193193
// OS ignored requested address. Try different address.
194194
base = NULL;
@@ -380,7 +380,7 @@ void ReservedHeapSpace::try_reserve_heap(size_t size,
380380
// important. If available space is not detected, return NULL.
381381

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

src/hotspot/share/prims/whitebox.cpp

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

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

768768
return addr;

src/hotspot/share/runtime/os.cpp

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

1687-
char* os::attempt_reserve_memory_at(size_t bytes, char* addr, int file_desc) {
1687+
char* os::attempt_reserve_memory_at(char* addr, size_t bytes, int file_desc) {
16881688
char* result = NULL;
16891689
if (file_desc != -1) {
1690-
result = pd_attempt_reserve_memory_at(bytes, addr, file_desc);
1690+
result = pd_attempt_reserve_memory_at(addr, bytes, file_desc);
16911691
if (result != NULL) {
16921692
MemTracker::record_virtual_memory_reserve_and_commit((address)result, bytes, CALLER_PC);
16931693
}
16941694
} else {
1695-
result = pd_attempt_reserve_memory_at(bytes, addr);
1695+
result = pd_attempt_reserve_memory_at(addr, bytes);
16961696
if (result != NULL) {
16971697
MemTracker::record_virtual_memory_reserve((address)result, bytes, CALLER_PC);
16981698
}

src/hotspot/share/runtime/os.hpp

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

116116
static char* pd_reserve_memory(size_t bytes, size_t alignment_hint);
117117

118-
static char* pd_attempt_reserve_memory_at(size_t bytes, char* addr);
119-
static char* pd_attempt_reserve_memory_at(size_t bytes, char* addr, int file_desc);
118+
static char* pd_attempt_reserve_memory_at(char* addr, size_t bytes);
119+
static char* pd_attempt_reserve_memory_at(char* addr, size_t bytes, int file_desc);
120120

121121
static bool pd_commit_memory(char* addr, size_t bytes, bool executable);
122122
static bool pd_commit_memory(char* addr, size_t size, size_t alignment_hint,
@@ -325,7 +325,7 @@ class os: AllStatic {
325325

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

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

0 commit comments

Comments
 (0)