1 .class public test_verify_unspecced_ok_backward_with_new_on_stack
2 .super java/lang/Object
4 ; The check against backward branches with uninitialized objects on the stack
5 ; is unnecessary. In this case there is a VerifyError because the type merge
6 ; leads to the _|_ (bottom) type in a stack slot, which is forbidden.
10 ; Improving the official specification of Java bytecode verification
11 ; Proceedings of the 3rd ECOOP Workshop on Formal Techniques for Java Programs
13 ; citeseer.ist.psu.edu/article/coglio03improving.html
15 ; ======================================================================
17 .method public <init>()V
19 invokenonvirtual java/lang/Object/<init>()V
23 ; ======================================================================
25 .method public toString()Ljava/lang/String;
34 ; ======================================================================
36 .method public static main([Ljava/lang/String;)V
44 new test_verify_unspecced_ok_backward_with_new_on_stack
53 invokespecial test_verify_unspecced_ok_backward_with_new_on_stack/<init>()V
55 getstatic java/lang/System/out Ljava/io/PrintStream;
57 invokevirtual java/io/PrintStream/println(Ljava/lang/Object;)V