summaryrefslogtreecommitdiff
path: root/test/java/com/google/devtools/build/android/desugar/classes_for_testing_type_inference
AgeCommit message (Collapse)Author
2017-12-18Revert "Revert "Merge remote-tracking branch 'aosp/upstream-master' into ↵Colin Cross
desugar"" This reverts commit 67e182a0a1c1d59b5fa107a42ba3bacdc7255eba. Bug: 70415451 Test: m checkbuild Change-Id: I87e967894b53b0f18defc48868e4e3b8181ddd33
2017-12-15Revert "Merge remote-tracking branch 'aosp/upstream-master' into desugar"Colin Cross
This reverts commit 28068806fa84995d3bd0f9aa448058c1d55cce36. Reason for revert: Caused "Too many open files" errors. Bug: 70415451 Change-Id: I2186e7eb5dd1501fe1c1c9c2f1fb1f1b6df2cc24
2017-12-14Correct stack map frame computation. When visiting CHOP Frame (discarding n ↵cnsun
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
2017-11-29Specialize $closeResource(Throwable, AutoCloseable) so that desugared code ↵cnsun
does not depend on AutoCloseable, as it is not available before API 19. This CL includes the following: 1. A type inference algorithm based on ASM. It relies on the stack map frames to compute type information at the entry of basic blocks. 2. The type inference is used to infer the types of the resources to be closed. Then for each concrete resource type, we specialize the synthetic $closeResource method to $closeResource(Throwable, <concrete resource type>). RELNOTES: None PiperOrigin-RevId: 175731437 GitOrigin-RevId: e83f3b1fb010298cbe1e16e5f7f2f39bfb045cef Change-Id: I347f8e4058a191621fb21bf2e81d7cf8f39ce6aa