[PATCH] Fix POP2 opcode handling bug with two category 1 values at the stack top.

This commit is contained in:
Maxim Degtyarev
2017-10-18 09:43:38 +03:00
committed by Egor Ushakov
parent faaab500e3
commit e7854376b8
14 changed files with 254 additions and 31 deletions

View File

@@ -0,0 +1,27 @@
package pkg;
public class TestPop2OneDoublePop2 {
public static void main(String... var0) {
double var10002 = 3.14159265358D;// 24
System.out.println(1234567890);// 22 23 26
}// 27
}
class 'pkg/TestPop2OneDoublePop2' {
method 'main ([Ljava/lang/String;)V' {
0 5
3 5
5 4
9 5
c 6
}
}
Lines mapping:
22 <-> 6
23 <-> 6
24 <-> 5
26 <-> 6
27 <-> 7
Not mapped:
25

View File

@@ -0,0 +1,27 @@
package pkg;
public class TestPop2OneLongPop2 {
public static void main(String... var0) {
long var10002 = -889275714L;// 24
System.out.println(1234567890);// 22 23 26
}// 27
}
class 'pkg/TestPop2OneLongPop2' {
method 'main ([Ljava/lang/String;)V' {
0 5
3 5
5 4
9 5
c 6
}
}
Lines mapping:
22 <-> 6
23 <-> 6
24 <-> 5
26 <-> 6
27 <-> 7
Not mapped:
25

View File

@@ -0,0 +1,30 @@
package pkg;
public class TestPop2TwoIntPop2 {
public static void main(String... var0) {
char var10002 = '쫾';// 24
char var10003 = '몾';// 25
System.out.println(1234567890);// 22 23 27
}// 28
}
class 'pkg/TestPop2TwoIntPop2' {
method 'main ([Ljava/lang/String;)V' {
0 6
3 6
5 4
7 5
a 6
d 7
}
}
Lines mapping:
22 <-> 7
23 <-> 7
24 <-> 5
25 <-> 6
27 <-> 7
28 <-> 8
Not mapped:
26

View File

@@ -0,0 +1,31 @@
package pkg;
public class TestPop2TwoIntTwoPop {
public static void main(String... var0) {
char var10002 = '쫾';// 24
char var10003 = '몾';// 25
System.out.println(1234567890);// 22 23 28
}// 29
}
class 'pkg/TestPop2TwoIntTwoPop' {
method 'main ([Ljava/lang/String;)V' {
0 6
3 6
5 4
7 5
b 6
e 7
}
}
Lines mapping:
22 <-> 7
23 <-> 7
24 <-> 5
25 <-> 6
28 <-> 7
29 <-> 8
Not mapped:
26
27