From debec8d201037ff0158b091e4cd20a9667231c33 Mon Sep 17 00:00:00 2001 From: edwin Date: Tue, 28 Nov 2006 19:24:33 +0000 Subject: [PATCH] * tests/regression/jasmin/test_verify_fail_merge_different_new_objects.j: New test. * tests/regression/jasmin/test_verify_fail_init_nullpointer.j: Likewise. * tests/regression/jasmin/Makefile.am: Added new tests. --- tests/regression/jasmin/Makefile.am | 2 + .../test_verify_fail_init_nullpointer.j | 40 +++++++++++++++++++ ..._verify_fail_merge_different_new_objects.j | 40 +++++++++++++++++++ 3 files changed, 82 insertions(+) create mode 100644 tests/regression/jasmin/test_verify_fail_init_nullpointer.j create mode 100644 tests/regression/jasmin/test_verify_fail_merge_different_new_objects.j diff --git a/tests/regression/jasmin/Makefile.am b/tests/regression/jasmin/Makefile.am index f782dc2c1..95f4b6d2d 100644 --- a/tests/regression/jasmin/Makefile.am +++ b/tests/regression/jasmin/Makefile.am @@ -82,6 +82,7 @@ JASMIN_TESTS = \ $(srcdir)/test_verify_fail_getfield_basic_type_lookup.j \ $(srcdir)/test_verify_fail_getfield_basic_type_value.j \ $(srcdir)/test_verify_fail_handler_bad_local.j \ + $(srcdir)/test_verify_fail_init_nullpointer.j \ $(srcdir)/test_verify_fail_invoke_basic_type.j \ $(srcdir)/test_verify_fail_invoke_return_basic_type.j \ $(srcdir)/test_verify_fail_ireturn_wrong_type.j \ @@ -97,6 +98,7 @@ JASMIN_TESTS = \ $(srcdir)/test_verify_fail_long_local_index.j \ $(srcdir)/test_verify_fail_long_local.j \ $(srcdir)/test_verify_fail_long_overwritten.j \ + $(srcdir)/test_verify_fail_merge_different_new_objects.j \ $(srcdir)/test_verify_fail_putfield_basic_type_instance.j \ $(srcdir)/test_verify_fail_putfield_basic_type_lookup.j \ $(srcdir)/test_verify_fail_putfield_basic_type_value.j \ diff --git a/tests/regression/jasmin/test_verify_fail_init_nullpointer.j b/tests/regression/jasmin/test_verify_fail_init_nullpointer.j new file mode 100644 index 000000000..2e0fed236 --- /dev/null +++ b/tests/regression/jasmin/test_verify_fail_init_nullpointer.j @@ -0,0 +1,40 @@ +.class public test_verify_fail_init_nullpointer +.super java/lang/Object + +; ====================================================================== + +.method public ()V + aload_0 + invokenonvirtual java/lang/Object/()V + return +.end method + +; ====================================================================== + +.method public static main([Ljava/lang/String;)V + .limit stack 2 + .limit locals 3 + + ldc 1 + istore 1 + + aload 0 + ifnull branch1 + + new test_verify_fail_init_nullpointer + goto branch2 + +branch1: + aconst_null + +branch2: + dup + invokespecial test_verify_fail_init_nullpointer/()V + ; ERROR: VerifyError + + getstatic java/lang/System/out Ljava/io/PrintStream; + swap + invokevirtual java/io/PrintStream/println(Ljava/lang/Object;)V + + return +.end method diff --git a/tests/regression/jasmin/test_verify_fail_merge_different_new_objects.j b/tests/regression/jasmin/test_verify_fail_merge_different_new_objects.j new file mode 100644 index 000000000..8a143b26f --- /dev/null +++ b/tests/regression/jasmin/test_verify_fail_merge_different_new_objects.j @@ -0,0 +1,40 @@ +.class public test_verify_fail_merge_different_new_objects +.super java/lang/Object + +; ====================================================================== + +.method public ()V + aload_0 + invokenonvirtual java/lang/Object/()V + return +.end method + +; ====================================================================== + +.method public static main([Ljava/lang/String;)V + .limit stack 2 + .limit locals 3 + + ldc 1 + istore 1 + + aload 0 + ifnull branch1 + + new test_verify_fail_merge_different_new_objects + goto branch2 + +branch1: + new test_verify_fail_merge_different_new_objects + +branch2: + dup + invokespecial test_verify_fail_merge_different_new_objects/()V + ; ERROR: VerifyError + + getstatic java/lang/System/out Ljava/io/PrintStream; + swap + invokevirtual java/io/PrintStream/println(Ljava/lang/Object;)V + + return +.end method -- 2.25.1