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