Skip to content

Commit 7c0985f

Browse files
author
William Kemper
committed
8348420: Shenandoah: Check is_reserved before using ReservedSpace instances
Reviewed-by: ysr
1 parent f8e81d2 commit 7c0985f

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,11 @@ static ReservedSpace reserve(size_t size, size_t preferred_page_size) {
166166
size = align_up(size, alignment);
167167
}
168168

169-
return MemoryReserver::reserve(size, alignment, preferred_page_size);
169+
const ReservedSpace reserved = MemoryReserver::reserve(size, alignment, preferred_page_size);
170+
if (!reserved.is_reserved()) {
171+
vm_exit_during_initialization("Could not reserve space");
172+
}
173+
return reserved;
170174
}
171175

172176
jint ShenandoahHeap::initialize() {
@@ -386,8 +390,9 @@ jint ShenandoahHeap::initialize() {
386390

387391
if (_collection_set == nullptr) {
388392
cset_rs = MemoryReserver::reserve(cset_size, cset_align, os::vm_page_size());
389-
390-
// Maybe Shenandoah wants to check the the memory got reserved here?
393+
if (!cset_rs.is_reserved()) {
394+
vm_exit_during_initialization("Cannot reserve memory for collection set");
395+
}
391396

392397
_collection_set = new ShenandoahCollectionSet(this, cset_rs, sh_rs.base());
393398
}

0 commit comments

Comments
 (0)