diff options
-rw-r--r-- | README.android | 3 | ||||
-rw-r--r-- | org.jacoco.core/src/org/jacoco/core/internal/instr/ProbeArrayStrategyFactory.java | 22 |
2 files changed, 17 insertions, 8 deletions
diff --git a/README.android b/README.android index 8fa2b902..aa285834 100644 --- a/README.android +++ b/README.android @@ -21,3 +21,6 @@ is the list of the changes: more lightweight. The Agent is only created when it's actually needed. This makes it possible to instrument a lot of more core libraries without creating a circular dependency at runtime. +4) Disable use of 'constant dynamic' bytecode in + org.jacoco.core.internal.instr.ProbeArrayStrategyFactory, because R8/D8 doesn't support it. + (https://issuetracker.google.com/178172809) diff --git a/org.jacoco.core/src/org/jacoco/core/internal/instr/ProbeArrayStrategyFactory.java b/org.jacoco.core/src/org/jacoco/core/internal/instr/ProbeArrayStrategyFactory.java index d5756b7f..bc957b91 100644 --- a/org.jacoco.core/src/org/jacoco/core/internal/instr/ProbeArrayStrategyFactory.java +++ b/org.jacoco.core/src/org/jacoco/core/internal/instr/ProbeArrayStrategyFactory.java @@ -50,10 +50,13 @@ public final class ProbeArrayStrategyFactory { if (counter.getCount() == 0) { return new NoneProbeArrayStrategy(); } - if (version >= Opcodes.V11 && counter.hasMethods()) { - return new CondyProbeArrayStrategy(className, true, classId, - accessorGenerator); - } +// BEGIN android-change + // See https://github.com/jacoco/jacoco/issues/1151 + // if (version >= Opcodes.V11 && counter.hasMethods()) { + // return new CondyProbeArrayStrategy(className, true, classId, + // accessorGenerator); + // } +// END android-change if (version >= Opcodes.V1_8 && counter.hasMethods()) { return new InterfaceFieldProbeArrayStrategy(className, classId, counter.getCount(), accessorGenerator); @@ -62,10 +65,13 @@ public final class ProbeArrayStrategyFactory { counter.getCount(), accessorGenerator); } } else { - if (version >= Opcodes.V11) { - return new CondyProbeArrayStrategy(className, false, classId, - accessorGenerator); - } +// BEGIN android-change + // See https://github.com/jacoco/jacoco/issues/1151 + // if (version >= Opcodes.V11) { + // return new CondyProbeArrayStrategy(className, false, classId, + // accessorGenerator); + // } +// END android-change return new ClassFieldProbeArrayStrategy(className, classId, InstrSupport.needsFrames(version), accessorGenerator); } |