* tests/regression/jasmin/test_verify_fail_merge_init_nullpointer.j:
authoredwin <none@none>
Wed, 29 Nov 2006 22:33:49 +0000 (22:33 +0000)
committeredwin <none@none>
Wed, 29 Nov 2006 22:33:49 +0000 (22:33 +0000)
New test.

* tests/regression/jasmin/test_verify_fail_init_nullpointer.j: Pass
null pointer without merging.

* tests/regression/jasmin/Makefile.am: Added new test.

tests/regression/jasmin/Makefile.am
tests/regression/jasmin/test_verify_fail_init_nullpointer.j
tests/regression/jasmin/test_verify_fail_merge_init_nullpointer.j [new file with mode: 0644]

index 95f4b6d2d10ede6a5eafe6506bbdd37e1011d974..30fa5adb279ae4a86e1f4b2c2018098e30e9579a 100644 (file)
@@ -99,6 +99,7 @@ JASMIN_TESTS = \
        $(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_merge_init_nullpointer.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 \
index 2e0fed236d3d71ffda77f7888e131e107c069cfd..fd6afbf22e7174ad274cfedeb15d71aeb3e73f38 100644 (file)
        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/<init>()V
        ; ERROR: VerifyError
diff --git a/tests/regression/jasmin/test_verify_fail_merge_init_nullpointer.j b/tests/regression/jasmin/test_verify_fail_merge_init_nullpointer.j
new file mode 100644 (file)
index 0000000..f21605c
--- /dev/null
@@ -0,0 +1,40 @@
+.class public test_verify_fail_merge_init_nullpointer
+.super java/lang/Object
+
+; ======================================================================
+
+.method public <init>()V
+   aload_0
+   invokenonvirtual java/lang/Object/<init>()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_init_nullpointer
+       goto branch2
+
+branch1:
+       aconst_null
+
+branch2:
+       dup
+       invokespecial test_verify_fail_merge_init_nullpointer/<init>()V
+       ; ERROR: VerifyError
+
+       getstatic java/lang/System/out Ljava/io/PrintStream;
+       swap
+       invokevirtual java/io/PrintStream/println(Ljava/lang/Object;)V
+
+       return
+.end method