Fixed
Status Update
Comments
ap...@google.com <ap...@google.com> #2
Project: r8
Branch: master
commit e4c6d9095690581afc6cc9daf0ac2c55c6af499e
Author: Christoffer Quist Adamsen <christofferqa@google.com>
Date: Mon Oct 07 15:06:05 2019
Synthesize lambda classes prior to each wave
Bug: 142203515
Change-Id: I4e0f2c38787dbcfb49e1885829cc04d2912751a4
M src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
M src/main/java/com/android/tools/r8/ir/conversion/LensCodeRewriter.java
M src/main/java/com/android/tools/r8/ir/conversion/MethodProcessor.java
M src/main/java/com/android/tools/r8/ir/desugar/LambdaRewriter.java
https://r8-review.googlesource.com/43986
Branch: master
commit e4c6d9095690581afc6cc9daf0ac2c55c6af499e
Author: Christoffer Quist Adamsen <christofferqa@google.com>
Date: Mon Oct 07 15:06:05 2019
Synthesize lambda classes prior to each wave
Bug: 142203515
Change-Id: I4e0f2c38787dbcfb49e1885829cc04d2912751a4
M src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
M src/main/java/com/android/tools/r8/ir/conversion/LensCodeRewriter.java
M src/main/java/com/android/tools/r8/ir/conversion/MethodProcessor.java
M src/main/java/com/android/tools/r8/ir/desugar/LambdaRewriter.java
ch...@google.com <ch...@google.com>
ap...@google.com <ap...@google.com> #3
Project: r8
Branch: 1.6
commit fb5301320a8fb2c57128e52a347c3464cf9a9375
Author: Søren Gjesse <sgjesse@google.com>
Date: Tue Nov 05 15:51:47 2019
Version 1.6.47
Cherry-pick: Synthesize lambda classes prior to each wave
CL:https://r8-review.googlesource.com/c/r8/+/43986
Cherry-pick: Treat instance-put as having side-effects if it may store an object with a non-default finalize()
CL:https://r8-review.googlesource.com/c/r8/+/44118
Cherry-pick: Fix may-have-finalize-method cache
CL:https://r8-review.googlesource.com/c/r8/+/43952
Cherry-pick: Reland "Treat static-puts that store objects with a non-default finalize() method as having side effects"
CL:https://r8-review.googlesource.com/c/r8/+/43902
Bug: 142203515
Bug: 137836288
Change-Id: I06ecc3c1c014619b4bc16545625576a15bda4760
M src/main/java/com/android/tools/r8/Version.java
M src/main/java/com/android/tools/r8/graph/AppInfoWithSubtyping.java
M src/main/java/com/android/tools/r8/ir/code/FieldInstruction.java
M src/main/java/com/android/tools/r8/ir/code/InstancePut.java
M src/main/java/com/android/tools/r8/ir/code/StaticPut.java
M src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
M src/main/java/com/android/tools/r8/ir/conversion/LensCodeRewriter.java
M src/main/java/com/android/tools/r8/ir/conversion/MethodProcessor.java
M src/main/java/com/android/tools/r8/ir/desugar/LambdaRewriter.java
A src/test/java/com/android/tools/r8/ir/analysis/sideeffect/PutObjectWithFinalizeTest.java
https://r8-review.googlesource.com/45187
Branch: 1.6
commit fb5301320a8fb2c57128e52a347c3464cf9a9375
Author: Søren Gjesse <sgjesse@google.com>
Date: Tue Nov 05 15:51:47 2019
Version 1.6.47
Cherry-pick: Synthesize lambda classes prior to each wave
CL:
Cherry-pick: Treat instance-put as having side-effects if it may store an object with a non-default finalize()
CL:
Cherry-pick: Fix may-have-finalize-method cache
CL:
Cherry-pick: Reland "Treat static-puts that store objects with a non-default finalize() method as having side effects"
CL:
Bug: 142203515
Bug: 137836288
Change-Id: I06ecc3c1c014619b4bc16545625576a15bda4760
M src/main/java/com/android/tools/r8/Version.java
M src/main/java/com/android/tools/r8/graph/AppInfoWithSubtyping.java
M src/main/java/com/android/tools/r8/ir/code/FieldInstruction.java
M src/main/java/com/android/tools/r8/ir/code/InstancePut.java
M src/main/java/com/android/tools/r8/ir/code/StaticPut.java
M src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
M src/main/java/com/android/tools/r8/ir/conversion/LensCodeRewriter.java
M src/main/java/com/android/tools/r8/ir/conversion/MethodProcessor.java
M src/main/java/com/android/tools/r8/ir/desugar/LambdaRewriter.java
A src/test/java/com/android/tools/r8/ir/analysis/sideeffect/PutObjectWithFinalizeTest.java
Description
java.util.ConcurrentModificationException: java.util.ConcurrentModificationException]
Caused by: java.util.ConcurrentModificationException
at java.base/java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1208)
at java.base/java.util.TreeMap$KeyIterator.next(TreeMap.java:1262)
at com.android.tools.r8.graph.AppInfoWithSubtyping.computeMayHaveFinalizeMethodDirectlyOrIndirectlyIfAbsent(AppInfoWithSubtyping.java:758)
at com.android.tools.r8.graph.AppInfoWithSubtyping.mayHaveFinalizeMethodDirectlyOrIndirectly(AppInfoWithSubtyping.java:730)
at com.android.tools.r8.ir.code.StaticPut.isStoringObjectWithFinalizer(StaticPut.java:162)
at com.android.tools.r8.ir.code.StaticPut.instructionMayHaveSideEffects(StaticPut.java:128)
at com.android.tools.r8.ir.code.StaticPut.canBeDeadCode(StaticPut.java:177)
at com.android.tools.r8.ir.optimize.DeadCodeRemover.removeDeadInstructions(DeadCodeRemover.java:98)
at com.android.tools.r8.ir.optimize.DeadCodeRemover.run(DeadCodeRemover.java:43)
at com.android.tools.r8.ir.conversion.IRConverter.rewriteCodeInternal(IRConverter.java:1273)
at com.android.tools.r8.ir.conversion.IRConverter.rewriteCode(IRConverter.java:1048)
at com.android.tools.r8.ir.conversion.IRConverter.processMethod(IRConverter.java:1025)
at com.android.tools.r8.ir.conversion.IRConverter.lambda$optimize$6(IRConverter.java:661)
at com.android.tools.r8.ir.conversion.MethodProcessor.lambda$forEachMethod$2(MethodProcessor.java:108)
at java.base/java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1431)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:283)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1603)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)