13 * accompanied this code).
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 * @summary Verifies the behaviour of Unsafe.allocateInstance
27 * @library /test/lib
28 * @modules java.base/jdk.internal.misc
29 * java.management
30 * @run main AllocateInstance
31 */
32
33 import jdk.test.lib.unsafe.UnsafeHelper;
34 import jdk.internal.misc.Unsafe;
35 import static jdk.test.lib.Asserts.*;
36
37 public class AllocateInstance {
38 static final Unsafe UNSAFE = UnsafeHelper.getUnsafe();
39
40 class TestClass {
41 public boolean calledConstructor = false;
42
43 public TestClass() {
44 calledConstructor = true;
45 }
46 }
47
48 static void testConstructorCall() throws InstantiationException {
49 // allocateInstance() should not result in a call to the constructor
50 TestClass tc = (TestClass)UNSAFE.allocateInstance(TestClass.class);
51 assertFalse(tc.calledConstructor);
52 }
53
54 abstract class AbstractClass {
55 public AbstractClass() {}
56 }
57
58 static void testAbstractClass() {
|
13 * accompanied this code).
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 * @summary Verifies the behaviour of Unsafe.allocateInstance
27 * @library /test/lib
28 * @modules java.base/jdk.internal.misc
29 * java.management
30 * @run main AllocateInstance
31 */
32
33 import jdk.internal.misc.Unsafe;
34 import static jdk.test.lib.Asserts.*;
35
36 public class AllocateInstance {
37 static final Unsafe UNSAFE = Unsafe.getUnsafe();
38
39 class TestClass {
40 public boolean calledConstructor = false;
41
42 public TestClass() {
43 calledConstructor = true;
44 }
45 }
46
47 static void testConstructorCall() throws InstantiationException {
48 // allocateInstance() should not result in a call to the constructor
49 TestClass tc = (TestClass)UNSAFE.allocateInstance(TestClass.class);
50 assertFalse(tc.calledConstructor);
51 }
52
53 abstract class AbstractClass {
54 public AbstractClass() {}
55 }
56
57 static void testAbstractClass() {
|