diff options
author | cnsun <cnsun@google.com> | 2017-12-12 08:18:36 -0800 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2017-12-14 12:16:25 -0800 |
commit | b06ac544a149ba745b7e1356047bc7a4a91a502f (patch) | |
tree | f459171a19b9878bd7e8cf1a5b14a125364ea167 /test/java/com/google/devtools/build/android/desugar/classes_for_testing_type_inference | |
parent | 399ca0fdaa1cbd7120b07df54b207aad2d6fe77c (diff) | |
download | desugar-b06ac544a149ba745b7e1356047bc7a4a91a502f.tar.gz |
Correct stack map frame computation. When visiting CHOP Frame (discarding n local local variables), the current implementation deletes n local slots, which is wrong when the local variable to delete is of type category 2.
This CL deletes local variables instead of local slots.
Another change is using the Label objects to identify uninitialized values, instead of the offsets of labels, because the offsets of labels might not be computed.
RELNOTES:n/a.
PiperOrigin-RevId: 178762969
GitOrigin-RevId: 770b1779dfd4e673e1523bc7e6f1772d4f4dfc04
Change-Id: Ib1ae1a813a51649d5d9522bdf393f48e56432b66
Diffstat (limited to 'test/java/com/google/devtools/build/android/desugar/classes_for_testing_type_inference')
2 files changed, 18 insertions, 0 deletions
diff --git a/test/java/com/google/devtools/build/android/desugar/classes_for_testing_type_inference/test_subjects.jar b/test/java/com/google/devtools/build/android/desugar/classes_for_testing_type_inference/test_subjects.jar Binary files differindex efa491b..f1bb726 100644 --- a/test/java/com/google/devtools/build/android/desugar/classes_for_testing_type_inference/test_subjects.jar +++ b/test/java/com/google/devtools/build/android/desugar/classes_for_testing_type_inference/test_subjects.jar diff --git a/test/java/com/google/devtools/build/android/desugar/classes_for_testing_type_inference/testsubjects/TestSubject.java b/test/java/com/google/devtools/build/android/desugar/classes_for_testing_type_inference/testsubjects/TestSubject.java index b5463a7..a07e73b 100644 --- a/test/java/com/google/devtools/build/android/desugar/classes_for_testing_type_inference/testsubjects/TestSubject.java +++ b/test/java/com/google/devtools/build/android/desugar/classes_for_testing_type_inference/testsubjects/TestSubject.java @@ -193,4 +193,22 @@ public class TestSubject { e.printStackTrace(); } } + + public double testWithDoubleTypes() { + double result = 1; + for (double i = 1; i < 22; i = i + 1) { + System.out.println(i); + result += i; + } + return result; + } + + public float testWithFloatAndDoubleTypes() { + float result = 1; + for (double i = 1; i < 22; i = i + 1) { + System.out.println(i); + result += (float) i; + } + return result; + } } |