< prev index next >
test/hotspot/jtreg/runtime/Unsafe/AllocateMemory.java
Print this page
rev 57826 : 8237521: Memory Access API fixes for 32-bit
Reviewed-by: mcimadamore, dholmes
*** 1,7 ****
/*
! * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
--- 1,7 ----
/*
! * Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 57,68 ****
// allocateMemory() should throw an OutOfMemoryError when the underlying malloc fails,
// we test this by limiting the malloc using -XX:MallocMaxTestWords
try {
address = unsafe.allocateMemory(100 * 1024 * 1024 * 8);
} catch (OutOfMemoryError e) {
// Expected
- return;
}
! throw new RuntimeException("Did not get expected OutOfMemoryError");
}
}
--- 57,87 ----
// allocateMemory() should throw an OutOfMemoryError when the underlying malloc fails,
// we test this by limiting the malloc using -XX:MallocMaxTestWords
try {
address = unsafe.allocateMemory(100 * 1024 * 1024 * 8);
+ throw new RuntimeException("Did not get expected OutOfMemoryError");
} catch (OutOfMemoryError e) {
// Expected
}
!
! // Allocation should fail on a 32-bit system if the aligned-up
! // size overflows a size_t
! if (Unsafe.ADDRESS_SIZE == 4) {
! try {
! address = unsafe.allocateMemory((long)Integer.MAX_VALUE * 2);
! throw new RuntimeException("Did not get expected IllegalArgumentException");
! } catch (IllegalArgumentException e) {
! // Expected
! }
! }
!
! // Allocation should fail if the aligned-up size overflows a
! // Java long
! try {
! address = unsafe.allocateMemory((long)Long.MAX_VALUE);
! throw new RuntimeException("Did not get expected IllegalArgumentException");
! } catch (IllegalArgumentException e) {
! // Expected
! }
}
}
< prev index next >