| /** | |
| * This code can be assembled with <a href="https://wiki.openjdk.java.net/display/CodeTools/asmtools">asmtools</a> | |
| * using <code>asmtools jasm -g *.jasm</code> command line. | |
| */ | |
| package pkg; | |
| super public final class TestFieldSingleAccess | |
| version 52:0 | |
| { | |
| public Field field:"Ljava/lang/Integer;"; | |
| public Method "<init>":"()V" | |
| stack 1 locals 1 | |
| { | |
| aload_0; | |
| invokespecial Method java/lang/Object."<init>":"()V"; | |
| return; | |
| } | |
| public final Method test:"()V" | |
| stack 2 locals 1 | |
| { | |
| aload_0; | |
| getfield Field field:"Ljava/lang/Integer;"; | |
| dup; | |
| ifnull L17; | |
| getstatic Field java/lang/System.out:"Ljava/io/PrintStream;"; | |
| swap; | |
| invokevirtual Method java/io/PrintStream.println:"(Ljava/lang/Object;)V"; | |
| L17: stack_frame_type same; | |
| return; | |
| } | |
| public final Method test1:"()V" | |
| stack 2 locals 3 | |
| { | |
| aload_0; | |
| getfield Field field:"Ljava/lang/Integer;"; | |
| dup; | |
| astore_1; | |
| monitorenter; | |
| try t0; | |
| getstatic Field java/lang/System.out:"Ljava/io/PrintStream;"; | |
| bipush 49; | |
| invokevirtual Method java/io/PrintStream.println:"(C)V"; | |
| aload_1; | |
| monitorexit; | |
| endtry t0; | |
| goto L25; | |
| catch t0 #0; | |
| catch t1 #0; | |
| try t1; | |
| stack_frame_type full; | |
| locals_map class TestFieldSingleAccess, class java/lang/Object; | |
| stack_map class java/lang/Throwable; | |
| astore_2; | |
| aload_1; | |
| monitorexit; | |
| endtry t1; | |
| aload_2; | |
| athrow; | |
| L25: stack_frame_type chop1; | |
| return; | |
| } | |
| } // end Class TestFieldSingleAccess |