127cf8f5c1c98d408526ee6895fc3911689c9ad2 |
|
12-Jul-2017 |
Mads Ager <ager@google.com> |
Do not use a subclass in a static field initializer. That can lead to clinit related deadlocks. R=gavra@google.com Change-Id: Id06a8f92191211d11cef951048ce5f43ee194cd4
/external/r8/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java
|
52c0414fff5db9769a60a3e2880acd8781a88ab1 |
|
08-Jun-2017 |
Denis Vnukov <vnukov@google.com> |
Removed DexClassPromise and LazyClassFileLoader. Simplified lazy loading machinery to use resource providers as the only lazy loading mechanism. No more promises. BUG= Change-Id: I7b31bfc460c7f40c195d59a2bbc58667185dcb46
/external/r8/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java
|
a60f2aa119b2ac6d5128683e6a98fd53334327f6 |
|
07-Jun-2017 |
Denis Vnukov <vnukov@google.com> |
Refactoring resource and class kinds. Changing resource kind to represent resource's content rather than what resource is used for. Currently we only supprt two resource kinds: DEX file and Java class file. Moving what used to be a resource kind into a separate enum ClassKind representing if the class is program, classpath or library class. With this change, resources only represent their content as stream and their kinds, and only are mapped into class kinds based on the API used to introduce them to AndroidApp. Interface Resource and class InternalResource are also merged into one class Resource since after we made getClassDescriptors() part of public API, there is no 'hidden' resource API. NOTE: Resource class is also used internally to represent other file kinds (e.g. proguardMap, etc...), we use `null` kind for such resources. BUG= Change-Id: I97df13f28531d1b3086e2929ffd85fdeb2298e81
/external/r8/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java
|
eaac9171f57cc8462d549b3ca85e28a9594538a5 |
|
06-Jun-2017 |
Denis Vnukov <vnukov@google.com> |
Lazy class loading with resource providers. Extending the current lazy loading implementation to allow API consumer to pass instances implementing LazyResourceProvider interface as a source of resources that can be queried lazily for on-demand class searches. Only class files can be added this way in this implementation. This functionality is currently implemented as an *extension* of regular lazy loading which is based on DexClassPromise and LazyClassFileLoader, and reuses this implementation a lot. The advantage of using lazy resource providers is that it does not require actually having all the resources preloaded up front, but it comes at cost of minor differences of how errors for conflicting classes are reported in resource-provider based and regular scenarios. Currently all the resources added to D8 via --lib or --classpath are still loaded via regular lazy loading mechanism, resource providers are only available for API users. BUG= Change-Id: I70cba6f3603bfd1e8e33a168d5fd8a3000a6e762
/external/r8/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java
|
2da874a28e1a98dc5d2500a554f9143d6309a132 |
|
31-May-2017 |
Stephan Herhut <herhut@google.com> |
Reland "Insert bridge methods in member rebinding if target is otherwise not visible." Now supports forwarding to abstract classes and handles library methods correctly. Bug: Change-Id: Id2cf3d2bbd422eebfa11f581adc9e01bf1bb6d8b
/external/r8/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java
|
74f1c6f2254f82fcec7612df782d125e621049b9 |
|
30-May-2017 |
Stephan Herhut <herhut@google.com> |
Revert "Reland "Insert bridge methods in member rebinding if target is otherwise not visible."" This reverts commit 080ec2d61f7b055a55802c072e77e99514499b8f. Change-Id: Iae226f6ee358b19cc8fd3f04ffc3ef6b7915fd06
/external/r8/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java
|
080ec2d61f7b055a55802c072e77e99514499b8f |
|
30-May-2017 |
Stephan Herhut <herhut@google.com> |
Reland "Insert bridge methods in member rebinding if target is otherwise not visible." Bug: Change-Id: Icdf351384330ca4781d1dfbd510f1be68c0874f4
/external/r8/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java
|
7c0b6d87377a9202e3b187a98dc782324b6cf437 |
|
30-May-2017 |
Søren Gjesse <sgjesse@google.com> |
Revert "Insert bridge methods in member rebinding if target is otherwise not visible." This reverts commit 380ab678ab1a744c535d9f1106858017ff5c91e4. Buildbot failure: com.android.tools.r8.art.dx.r8.Art508_referrer_methodTest > runArt508_referrer_methodTest FAILED Change-Id: Ia58b3c22a8a56e54c35fd95a5779e34dc02274e9
/external/r8/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java
|
380ab678ab1a744c535d9f1106858017ff5c91e4 |
|
30-May-2017 |
Stephan Herhut <herhut@google.com> |
Insert bridge methods in member rebinding if target is otherwise not visible. This ensures that in R8, all invokes are dispatched to an actual definition. Bug: b/38187737 Change-Id: I824a7109c7393c4caaae5d233e0120ba614027a8
/external/r8/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java
|
418d1ca139ea11316113beafbb3b3dd3fd5587ab |
|
22-May-2017 |
Mads Ager <ager@google.com> |
Initial push.
/external/r8/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java
|