parent
5650f57ad2
commit
c3ff7141ab
Binary file not shown.
@ -0,0 +1,40 @@ |
||||
package pkg; |
||||
|
||||
public final class TestFieldSingleAccess { |
||||
public Integer field; |
||||
|
||||
public final void test() { |
||||
Integer var10000 = this.field; |
||||
if (var10000 != null) { |
||||
System.out.println(var10000); |
||||
} |
||||
|
||||
} |
||||
|
||||
public final void test1() { |
||||
synchronized(this.field) { |
||||
System.out.println('1'); |
||||
} |
||||
} |
||||
} |
||||
|
||||
class 'pkg/TestFieldSingleAccess' { |
||||
method 'test ()V' { |
||||
1 6 |
||||
5 7 |
||||
8 8 |
||||
c 8 |
||||
f 11 |
||||
} |
||||
|
||||
method 'test1 ()V' { |
||||
1 14 |
||||
6 14 |
||||
7 15 |
||||
a 15 |
||||
c 15 |
||||
19 17 |
||||
} |
||||
} |
||||
|
||||
Lines mapping: |
@ -0,0 +1,67 @@ |
||||
/** |
||||
* 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 |
Loading…
Reference in new issue