14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 /*
25 * @test
26 * @requires vm.compMode != "Xcomp"
27 * @bug 8058897
28 * @library /test/lib
29 * @modules java.base/jdk.internal.misc
30 * java.management
31 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:MallocMaxTestWords=100m Reallocate
32 */
33
34 import jdk.test.lib.unsafe.UnsafeHelper;
35 import jdk.internal.misc.Unsafe;
36 import static jdk.test.lib.Asserts.*;
37
38 public class Reallocate {
39 public static void main(String args[]) throws Exception {
40 Unsafe unsafe = UnsafeHelper.getUnsafe();
41
42 long address = unsafe.allocateMemory(1);
43 assertNotEquals(address, 0L);
44
45 // Make sure we reallocate correctly
46 unsafe.putByte(address, Byte.MAX_VALUE);
47 address = unsafe.reallocateMemory(address, 2);
48 assertNotEquals(address, 0L);
49 assertEquals(unsafe.getByte(address), Byte.MAX_VALUE);
50
51 // Reallocating with a 0 size should return a null pointer
52 address = unsafe.reallocateMemory(address, 0);
53 assertEquals(address, 0L);
54
55 // Reallocating with a null pointer should result in a normal allocation
56 address = unsafe.reallocateMemory(0L, 1);
57 assertNotEquals(address, 0L);
58 unsafe.putByte(address, Byte.MAX_VALUE);
59 assertEquals(unsafe.getByte(address), Byte.MAX_VALUE);
60
|
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 /*
25 * @test
26 * @requires vm.compMode != "Xcomp"
27 * @bug 8058897
28 * @library /test/lib
29 * @modules java.base/jdk.internal.misc
30 * java.management
31 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:MallocMaxTestWords=100m Reallocate
32 */
33
34 import jdk.internal.misc.Unsafe;
35 import static jdk.test.lib.Asserts.*;
36
37 public class Reallocate {
38 public static void main(String args[]) throws Exception {
39 Unsafe unsafe = Unsafe.getUnsafe();
40
41 long address = unsafe.allocateMemory(1);
42 assertNotEquals(address, 0L);
43
44 // Make sure we reallocate correctly
45 unsafe.putByte(address, Byte.MAX_VALUE);
46 address = unsafe.reallocateMemory(address, 2);
47 assertNotEquals(address, 0L);
48 assertEquals(unsafe.getByte(address), Byte.MAX_VALUE);
49
50 // Reallocating with a 0 size should return a null pointer
51 address = unsafe.reallocateMemory(address, 0);
52 assertEquals(address, 0L);
53
54 // Reallocating with a null pointer should result in a normal allocation
55 address = unsafe.reallocateMemory(0L, 1);
56 assertNotEquals(address, 0L);
57 unsafe.putByte(address, Byte.MAX_VALUE);
58 assertEquals(unsafe.getByte(address), Byte.MAX_VALUE);
59
|