hotspot/test/runtime/memory/MultiAllocateNullCheck.java
author minqi
Wed, 15 Apr 2015 17:34:28 -0700
changeset 30240 a7ba42fa1df6
parent 17861 8f14da01157d
permissions -rw-r--r--
8074354: Make CreateMinidumpOnCrash a new name and available on all platforms Summary: Rename CreateMinidumpOnCrash which is used only for Windows as CreateCoredumpOnCrash and make it available for all platforms. Changed order for dumping core on Windows to be similar on other platforms. Also reviewed by thomas.stuefe@gmail.com Reviewed-by: dcubed Contributed-by: yumin.qi@oracle.com, thomas.stuefe@gmail.com
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
17861
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
     1
/*
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
     2
 * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
     4
 *
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
     7
 * published by the Free Software Foundation.
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
     8
 *
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    13
 * accompanied this code).
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    14
 *
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    18
 *
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    21
 * questions.
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    22
 */
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    23
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    24
/*
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    25
 * @test MultiAllocateNullCheck
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    26
 * @bug 6726963
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    27
 * @summary multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    28
 * @run main/othervm -Xmx32m MultiAllocateNullCheck
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    29
 */
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    30
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    31
import java.lang.reflect.Array;
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    32
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    33
public class MultiAllocateNullCheck {
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    34
      public static void main(String[] args) throws Exception {
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    35
        Object x = null;
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    36
        try
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    37
        {
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    38
            x = Array.newInstance(String.class, new int[]
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    39
                {Integer.MAX_VALUE, Integer.MAX_VALUE});
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    40
            System.out.println("Array was created");
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    41
        } catch (OutOfMemoryError e) {
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    42
            System.out.println("Out of memory occured, which is OK in this case");
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    43
        }
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    44
    }
8f14da01157d 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
ctornqvi
parents:
diff changeset
    45
}