aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-07-18Merge remote-tracking branch 'aosp/upstream-mirror' into mymerge4Alan Leung
2017-07-18Merge "Allows multiple --min-sdk in CompatDX"Alan Leung
2017-07-18Simplified IR processing order by first breaking cycles in call graph.Lars Bak
This fixes a race condition exposed by R8GMSCoreDeterministicTest. Bug: Change-Id: I6a46bd9a0bf061db2285cffcf60334910d1ec8d9
2017-07-18Merge "Do not assign same number to different basic block"Mikael Peltier
2017-07-18Merge "Support to keep nesting structure of class names."Stephan Herhut
2017-07-18Support to keep nesting structure of class names.Stephan Herhut
The minifier now produces names with $ separators for nested classes to keep the nesting structure in the names. This is needed for signature annotations, as they rely on the nesting structure to encode type paramemeters to the outer and inner class. R=yroussel@google.com Bug: Change-Id: I270608bc4124fc4b7a4d5aebfb2ea618a72115ce
2017-07-17Allows multiple --min-sdk in CompatDXAlan Leung
Bug: Change-Id: Ib69395f51211b4428146a5dd3bfe72872e0fc580
2017-07-17Do not assign same number to different basic blockmikaelpeltier
- shareIdenticalBlockSuffix optimization does not longer assign the same number to different basic block. It complicates debugging and it prevents to use basic block number as array index. - add an assertion into isConsistentGraph to guarantee this assumption. Change-Id: I561b7f52ee964c79cdca7d887791355c04ef2ebc
2017-07-17IRBuilder sets number to all created basic blockmikaelpeltier
- Most of the block created by the IRBuilder are initialized with a block number. Do it for all blocks rather than of only some. Change-Id: Ibaad66d00bb211babebd7b92ce153b563d2faaf4
2017-07-17Update highestSortingString atomically.Stephan Herhut
R=bak@google.com Bug: 63745863 Change-Id: Id9d83f2abe1b7e67c1a5f6744fc72fedea0ea8c6
2017-07-14Merge remote-tracking branch 'aosp/upstream-mirror' into masterIvan Gavrilovic
* aosp/upstream-mirror: If cycles are broken, proceed with caution, only use one thread. Update gradle in third-party to 3.5.1. Revert "Add build support for using protobuf in examples." Fix max number of entries in single dex Output dex to directory structure instead of flat one Fixes a race condition when running R8. Update JCTF tests to latest ART: Allow jar file as output path Add build support for using protobuf in examples. Add memory usage tracking to test scripts. Fix register allocation issues caused by special debug uses. Test: mma -j external/r8
2017-07-14Revising class map full loading.Denis Vnukov
Revise implementation of ClassMap.forceLoad(), replacing collectLoadedClasses() with getAllClasses(), removing unnecessary allocations in fully loaded class maps. Bug: Change-Id: Ia1a74c283797dc90835d55af53064d628ada8717
2017-07-14If cycles are broken, proceed with caution, only use one thread.Lars Bak
ee18912fbd1c75c8172ae5640342c2929f8efd4d Bug: Change-Id: I586904e64bfb2f30398ded670613f6c28b27f0d2
2017-07-14Merge "Fix max number of entries in single dex"Ivan Gavrilovic
2017-07-14Fix max number of entries in single dexIvan Gavrilovic
Maximum allowed number of entries is 64k, so any index from 0 to 0xFFFF is allowed. Test: CompatDxTests Change-Id: If851db78416ed8caccfdf3eedae4427a861b7e67
2017-07-14Merge "Update JCTF tests to latest ART:"Tamas Kenez
2017-07-14Output dex to directory structure instead of flat oneIvan Gavrilovic
Test: OutputModeTest, updated D8IncrementalRunExamplesAndroidOTest Change-Id: I7ba5c4d4b69c8097e19082728ce4d723aa98b710
2017-07-14Fixes a race condition when running R8.Lars Bak
2f4517160f9ce402be795a6555f68b8129cb09da Bug: Change-Id: I9c73bc0b9db9feef1cd2b02e62af21861aee6367
2017-07-13Update JCTF tests to latest ART:Tamas Kenez
- s/$/_ in JCTF test paths (latest ART does not handle '$' well) - mark some tests as passing on latest ART Bug: Change-Id: Idc4584ccb651f702602b5bdeff76e5eae0f7762b
2017-07-13Allow jar file as output pathIvan Gavrilovic
Test: D8CommandTest, R8CommandTest Change-Id: If90469d59d453b51646335e328084741740aff9e
2017-07-13Fix register allocation issues caused by special debug uses.Mads Ager
Debug uses registered on live intervals were sometimes ignored and other times not. That leads to inconsistencies in the register allocator. With this change, debug uses only extend the live range of values but do not register live interval uses. That makes the handling of uses consistent for the register allocator again and still ensures that values are kept alive by debug users in some register. R=herhut@google.com, mikaelpeltier@google.com, sgjesse@google.com, zerny@google.com Bug: 63285632 Bug: 62992398 Change-Id: Ia6515fed81d4d0e23c25631681076a67217a6e75
2017-07-13Merge remote-tracking branch 'aosp/upstream-mirror' into masterIvan Gavrilovic
* aosp/upstream-mirror: Use equals method from CanonicalizedDexItem Do not use a subclass in a static field initializer. Support continuous stepping in debug tests Fix keep rule debugging support. -printusage part I: parse -printusage [file]. Do not obfuscate unknown types in protos. Enable Art tests using Java 8 features Add support for generation keep rules from maindexlist. Write unaligned sections before aligned sections Test: mma -j external/r8 Change-Id: Ic2a572ff04de9cbafe48a212d77c6ad7658f855d
2017-07-12Merge "Use equals method from CanonicalizedDexItem"Mikael Peltier
2017-07-12Merge "Support continuous stepping in debug tests"Sebastien Hertz
2017-07-12Use equals method from CanonicalizedDexItemmikaelpeltier
- This method has a fast path when two instances are equals compare to computeEquals which does not contain the fast path. Change-Id: I3e356afd73a9f4c72bf757b45e72a610fab2880d
2017-07-12Merge "Do not use a subclass in a static field initializer."Mads Ager
2017-07-12Merge "Write unaligned sections before aligned sections"Mikael Peltier
2017-07-12Do not use a subclass in a static field initializer.Mads Ager
That can lead to clinit related deadlocks. R=gavra@google.com Change-Id: Id06a8f92191211d11cef951048ce5f43ee194cd4
2017-07-12Support continuous stepping in debug testsSebastien Hertz
This CL adds continuous stepping support to the debug test infrastructure. It is now possible to step through an entire program by stepping on each line (or instruction) until the runtime exits. At each step, we do fetch each local variable that is visible (both its name and value) of the current stack frame. For now we only add a couple test doing continuous step of existing debuggee classes. In the future we can add more sophisticated classes for testing and fetch more data (source file, line number, ...) at each step in the program. Bug: 37731620 Change-Id: I3e9f35533f2c59b216e4777a08cd9b3dd7830d4f
2017-07-12Merge "Fix keep rule debugging support."Stephan Herhut
2017-07-12Fix keep rule debugging support.Stephan Herhut
When debugging keep rules, we used to keep all classes and methods. This blows up the dex to a size that no longer runs on devices. With this change we only keep default constructors, to handle the use of newInstance without corresponding keep rule. R=ager@google.com Bug: Change-Id: I3bca90c14ede030d03b4b0ae9e4c84dcdbbb41a8
2017-07-11Try to fix build. Will revert later.Alan Leung
Test: m && m tests Change-Id: I362fa30c7fbd54899fdb8761816b76d17b99ad40
2017-07-11Merge "-printusage part I: parse -printusage [file]."Jinseong Jeon
2017-07-11-printusage part I: parse -printusage [file].Jinseong Jeon
Bug: 36799826 Change-Id: I88093dc0bf170ffabde55bfd1e6385c2616e09b1
2017-07-11Merge "Do not obfuscate unknown types in protos."Stephan Herhut
2017-07-11Do not obfuscate unknown types in protos.Stephan Herhut
We used to obfuscate the name of classes in protos if we did not have a definition. The idea being that the program can only work if the corresponding parameters only get null values assigned. This unfortunately does not work for gmscore due to its dependencies on different android SDK versions. We end up in a scenario where a class from KitKat library is referenced but our code does not know, as the class is missing, and treats the class as a program class. This costs us about 10k. R=bak@google.com Bug: Change-Id: I05b43845c14a2e12dc361de16649716b16ecb746
2017-07-11Merge "Enable Art tests using Java 8 features"Mikael Peltier
2017-07-11Enable Art tests using Java 8 featuresmikaelpeltier
Change-Id: I1c53f54a03766ac6f958fe83b42e6a8d740ce286
2017-07-11Add support for generation keep rules from maindexlist.Stephan Herhut
We already have a tool to deobfuscate class names in a maindex list. This adds support to output keep rules instead of an unonbfuscated maindex list. R=bak@google.com Bug: Change-Id: I57f81b7e886ed5b19648e28c323fe2ce23a1c6f3
2017-07-10Update Art454 and 457 test specs:Tamas Kenez
Updating to latest ART made these tests pass with D8 and (DX or JACK) Bug: Change-Id: I2d64f988f6a196b5a4ad689d53c79f0a15059c0f
2017-07-10Write unaligned sections before aligned sectionsmikaelpeltier
- It allows to avoid a useless aligned that can appear for the Map when there is annotations. Change-Id: I2e90cdf6bdfc457f1aed896c77967ba92e439fcc
2017-07-07Re-apply "Update Art and Art tests for aosp master"Søren Gjesse
Keep the existing set of Art tests for running with the Art VMs versions 7.0.0, 6.0.1 and 5.1.1. Only run the newly build Art tests with the newly build Art VM. Bug: 63151667 Change-Id: If70f3db85ff5d252e97e0aff885ec6077622b9b3
2017-07-07Remove erroneous assertion.Stephan Herhut
R=sgjesse@google.com Bug: Change-Id: I0595a1368dc1682f54a252b4060ee6edb7baddb2
2017-07-06Merge "Revert "Update Art and Art tests for aosp master""Ian Zerny
2017-07-06Revert "Update Art and Art tests for aosp master"Ian Zerny
This reverts commit 5872883b18e5c4cba7cf1ff70d917dc7366b8a7d. Reason for revert: The newly compiled dex files under tests/art/dx/* are compiled to dex version 037 which is not supported on the 5.1.1 runtime. Change-Id: I72f8820ebe7bb2bd4342cf52af19f77bf01f92de
2017-07-06Merge "Update Art and Art tests for aosp master"Søren Gjesse
2017-07-06Update Art and Art tests for aosp masterSøren Gjesse
This updates to Art d64fbfa3471c47d6628d6014bc4a3ac780abd26a. Bug: 63151667 Change-Id: I18ce74645144d335c6f68d25e3cc58974e1d5c4d
2017-07-06Add creation of an instruction list iterator starting at an instructionSøren Gjesse
R=zerny@google.com Change-Id: I14af75e74b25a2ad7d3c305402b01f5730632eab
2017-07-06Replace --min-sdk-version with shorter and less confusing --min-api flag.Ian Zerny
R=sgjesse Change-Id: Iaf5eaf91d33dc3b89a148d7cf8c7a8305c88fc1d
2017-07-06Emit local changes accurately at all instruction points.Ian Zerny
Bug: 63243012 Change-Id: I874308618da6366b79b68e5b8eb0c0e1b08aa447