Age | Commit message (Collapse) | Author |
|
This reverts commit 0326d86a6e0a6179ea6cd72353f6f051efccd894.
Reason for revert: master branch is unused and has old sources that do not work with this change.
Change-Id: Iff0db81f1efd241794a5df5b3fa90f8ffb06857f
|
|
Apache commons compress is not used by D8 and R8.
We are switching from json-simple to gson. In order to make
sure that r8-wip-dev does not break when we do so, this adds
gson as a dependency. Once we have landed the switch to
gson, we need to delete the json-simple deps.
Test: mmma -j external/r8
Change-Id: I5b2bf2484f148e01c48a29a7730cdb44c76d7ac8
|
|
This builds the actual D8 compiler instead of the hack
that builds and run CompatDX
Test: m d8
Bug: 69329508
Change-Id: I6d620ca9aa2bf2e391ed4ea53a89323930e0eb02
|
|
|
|
BUG:67772237
Change-Id: I9c04af807d96607bd3f92b949863df2b0e0ecb86
|
|
Test: m -j 32
Change-Id: I4f4abe442a5bb22b7f715bb374290d274bdfcb88
|
|
Merge remote-tracking branch 'aosp/upstream-mirror' into merge-r8-2bfb29a
Test: m -j USE_D8=true USE_R8=true tests
Change-Id: I249f979f3e349859607d3d67930d01e7cb82b901
|
|
default."
|
|
Bug: 67757251
Change-Id: Ic814678649b165e48629f218bdc94a24af9ac7d8
|
|
While visiting types in a subtyping order, mappings in the pg-map will
be converted to a custom graph lense. One caveat is to detect mapping
conflicts, e.g., so-called diamond problem.
Another caveat is to apply class mappings on-the-fly. We should rename
all the occurrences of renamed types while applying member mappings.
Yet another caveat is uses of renamed lib classes inside pgr classes.
We have a separate step that fixes trees by explicitly substitute those
type appearances with applied names.
------
Note that, instead of way too general support (http://go/r8g/4880),
we decided to support only the simple use case: compile a new piece
of code (e.g., test) against an obfuscated app.
See http://b/64802420#comment7 for more details.
Bug: 64802420
Change-Id: Ib3cb35811061c046e94a4fc9a021a783f15050dc
|
|
fields.""
|
|
This reverts commit f76614b69a9a5cdf865087797546add35401ab07.
Reason for revert: <INSERT REASONING HERE>
Change-Id: I9c57ea39b5f78ef4e960f875da1f754db2d27349
|
|
Merge remote-tracking branch 'aosp/upstream-mirror' into merge-r8-4d22d2d1
Test: m -j USE_D8=true USE_R8=true tests
Change-Id: I0fdbb52222288b79254479882e2dbadb9051d9d2
|
|
|
|
Change-Id: Ia2b5d28f1d4a5ea478b529915227dcf0d4b0afd3
|
|
|
|
R=sgjesse
Change-Id: I9c259f385eb23174b2b30e04127fb311aaac389d
|
|
Bug:
Change-Id: Idba1848b5082f95494a00c1b0fcf15a6aeee3737
|
|
It seems that Proguard does not warn about missing classes when -dontshrink
is set. This change tries to mimic that behaviour for compat proguard.
Also add the explicit --ignore-missing-classes flag to compat proguard.
Bug: 68249935
Change-Id: I1134d368803b394cb7312e060afaf56cbd988ba8
|
|
Bug:
Change-Id: I1e0be14da4ba39e3f77464e6a249aa32b1b42bb9
|
|
This change minimally enables writing out Java bytecode from Java bytecode
inputs for a simple hello world program. Follow-up work will extend the support
to the full program structure and producing code via our IR.
Bug: 65390962
Change-Id: I978c7400f9a21323dc0c5e95fc55272300839878
|
|
R=ager
Bug:
Change-Id: Ia77925c0c0c02c1f91352b8f4943e90fb8bc7336
|
|
R=ager
Change-Id: I6afd7d7d17f29539b489876afbcfbacc18e72877
|
|
Bug: 68246915
Change-Id: Id6331909d1ee2d7bc2da3f5af0f9f544abc03d49
|
|
Merge remote-tracking branch 'aosp/upstream-mirror' into merge-r8-1a0b0da
Test: m -j USE_D8=true USE_R8=true
Change-Id: I96089c1eb1bf66085d2434b053d3c112d0ecf3a9
|
|
When running with --force-proguard-compatibility for the compat proguard
command treat no -keepattributes flag as keep all attributes when not
minifying.
This should follow the Proguard semantics where -keepattributes is
documented as "Only applicable when obfuscating".
Bug: 68246915
Change-Id: Ib0e71cd8b0819af6ca148365d9b4d155db06e5e0
|
|
|
|
The default debug filtering of IntelliJ skips frames in class loader.
This CL adds the same capability to our debug test infrastructure.
We used to skip frames by repeating the same step command. But to
skip class loading, we actually need to step out of the current frame
so that the whole class loading code has executed. In order to achieve
this, this CL refactors how step filtering is implemented. Now the
StepFilter instance is reponsible for adding extra step commands into
the commands queue when it is necessary. By extension, the 'step
until' capability is also a StepFilter instance now.
Since we can skip class loader frames now, this CL also enables the
tests that were skipped for Dalvik due to class loader frames:
* com.android.tools.r8.debug.InterfaceMethodTest#testDefaultMethod
* com.android.tools.r8.debug.MinificationTest#testBreakInMainClass
Bug: 67225390
Change-Id: I112161be31cc99ddcf1eeaa1b6a63a97a311b4d6
|
|
Bug:
Change-Id: I1c16b0485a1549d251d9d900b7afca98a57fea15
|
|
Test: m -j USE_D8=true USE_R8=true
Change-Id: I1450ebe12dbd0cc200f0c4eda1a883b6dcab573f
|
|
|
|
|
|
-keepattributes should belong to Proguard config, not internal options.
Bug: 66399389
Change-Id: I247987455b80f094987904255ebe72580ef15b36
|
|
|
|
This to ToT r8.
For the new dependencies their SHA-1 is identical to the one on maven.org:
$ sha1sum deps/guava-23.0.jar
c947004bb13d18182be60077ade044099e4f26f1 deps/guava-23.0.jar
matches
http://central.maven.org/maven2/com/google/guava/guava/23.0/guava-23.0.jar.sha1
$ sha1sum deps/asm-*
bc6fa6b19424bb9592fe43bbc20178f92d403105 deps/asm-6.0.jar
f256fd215d8dd5a4fa2ab3201bf653de266ed4ec deps/asm-commons-6.0.jar
a624f1a6e4e428dcd680a01bab2d4c56b35b18f0 deps/asm-tree-6.0.jar
430b2fc839b5de1f3643b528853d5cf26096c1de deps/asm-util-6.0.jar
matches
http://central.maven.org/maven2/org/ow2/asm/asm/6.0/asm-6.0.jar.sha1
http://central.maven.org/maven2/org/ow2/asm/asm-commons/6.0/asm-commons-6.0.jar.sha1
http://central.maven.org/maven2/org/ow2/asm/asm-tree/6.0/asm-tree-6.0.jar.sha1
http://central.maven.org/maven2/org/ow2/asm/asm-util/6.0/asm-util-6.0.jar.sha1
Test: m -j
Test: m -j USE_D8=true
Test: m -j USE_D8=true USE_R8=true
Change-Id: I558f4042335b9a8437a7cc7105cb73095ba03773
|
|
Bug:
Change-Id: I918fd87f5d0175cdff928a8be64c6686d6689dfa
|
|
Before only the last of these lines had effect.
Bug: 67836745
Change-Id: I6206211405e93b3b419af6e6b2b517a546749dc8
|
|
|
|
The @AutoValue annotation can _only_ be used in test/examples so that
we can write tests for this common pattern. This is not meant to
encourage general use of @AutoValue in the code base.
Bug:
Change-Id: Ie2f43cb4e49bfb2ed0f462c1d12f04c384fb1432
|
|
The Hashtable class is deprecated. This CL replaces its usage by
either by HashMap or Int2IntArrayMap.
Change-Id: I17793081eeb2cb756aff473d29963e4c2279d696
|
|
|
|
Change-Id: I075cd3f471df1ac7ba494c58eee22a9f43f8c3c3
|
|
This reverts commit ad41f3f7a62832034b9bc90aef4ee23e31ce03c0.
Reason for revert: bot failures
Change-Id: I6b5dec164f495d5ae47312564608b4eda93fad98
|
|
Bug:
Change-Id: Idead3524d1e54cb000b29eb5421765d98dde2d27
|
|
This CL re-applies 30ebba3 which has been reverted in 12bcf4f because of
these failures: http://storage.googleapis.com/r8-test-results/c0ff09e6-bac6-4ded-b776-b5b15342d83b/test/index.html
Certain options (minification/shrinking/keeprules/attrs) have different
defaults with and without a Proguard config file.
Originally it has been decided automatically, based on the presence of
Proguard options.
This has been changed to explicit decision in 5e8f1ba because of complications
from handling a ProguardConsumer. It has been suggested to restore the automatic
choice but the first attempt 30ebba3 broke some tests.
This CL restores the original, automatic choice.
Bug:
Change-Id: I7e0e7b96354e376829cd548b9a76e1efcdfbcf63
|
|
|
|
|
|
|
|
We pass all dx options to compat proguard in the Android platform build
and some builds pass --core-library. This option is also ignored by compat dx.
Change-Id: I294988c658a60f6aca46b60b16f0f741a0124668
|
|
Now that we share classes between two files, we have to make sure
that we do not access the member arrays while updating them. The
referenced bug was caused (I believe) by us using the array to
collect items in one thread while another thread was sorting them.
This CL changes synchronization to be per member array instead of
per dex class. This is mostly to make it more visible what we are
synchronizing on.
Bug: 67258314
Change-Id: I28a9bb68335673377032e0470ca5aef4c96e87ca
|