You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
1.4 KiB
67 lines
1.4 KiB
/**
|
|
* 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
|
|
|