summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'replicant-6.0' of fossencdi.org:art into replicant-6.0replicant-6.0-alpha-0004replicant-6.0-alpha-0003replicant-6.0-alpha-0002replicant-6.0-alpha-0001replicant-6.0Wolfgang Wiedmeyer2016-01-140-0/+0
|\
| * add missing includeWolfgang Wiedmeyer2016-01-071-0/+1
| | | | | | | | | | | | | | fixes build with custom toolchain Change-Id: Ia977369547c2d429e441d0d2b097721f0b5210a9 Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
* | add missing includeWolfgang Wiedmeyer2016-01-141-0/+1
| | | | | | | | | | | | | | fixes build with custom toolchain Change-Id: Ia977369547c2d429e441d0d2b097721f0b5210a9 Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
* | art: Disable ART_HOST_CLANG on darwin builds.Adnan Begovic2016-01-111-0/+6
| | | | | | | | Change-Id: I9d34cfea13fe4e6902e02cfb9d2de7610ced878c
* | Art: disable host clang by defaultDave Daynard2016-01-071-1/+1
|/ | | | | | | | | Otherwise my builds crash and burn because I don't know how to set up host clang properly and honestly, do we really need "better warnings" for ART? I mean, this is one part of the OS that for the most part we are not going to fuck with Change-Id: Ie45a6926510ec12aedc3cfac79d00ee842a7778b
* Merge tag 'android-6.0.1_r3' of ↵Steve Kondik2015-12-0814-44/+264
|\ | | | | | | | | | | | | | | https://android.googlesource.com/platform/art into HEAD Android 6.0.1 release 3 Change-Id: I23fd56f2c1a3e8e8b993a151a794e18f3569912e
| * merge in mnc-mr1-release history after reset to mnc-dr-devThe Android Automerger2015-10-290-0/+0
| |\
| | * [WIP] ART: Write-protect TLSAndreas Gampe2015-10-2810-64/+171
| |/ | | | | | | Change-Id: I6762a3a30d01bd6eb8bb25f23f390c91147fe9b4
| * Fix in reference type propagationCalin Juravle2015-10-164-1/+52
| | | | | | | | | | | | | | | | | | | | We miss updating the type of objects if their nullability gets updated first. Bug: 25008765 (cherry picked from commit 83853392e26b2aa48328bb90c9f9c57b32c280dc) Change-Id: I81aa759d96008251d74f941494abe74aa4b52bdc
| * Parse runtime compiler options for JITMathieu Chartier2015-10-151-1/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the case where the CppDefines do not match the device the JIT is running on. Sample logcat output to prove it works: JIT instruction set variant krait JIT instruction set features default Bug: 24982714 (cherry picked from commit 085fc87e7ea42989a4a00cacb0c9c3a6d2590af6) Change-Id: I1f4991a5d7cdc6101d1b0ecbcb39fb26dd20180a
| * ART: Add missing GetInterfaceMethodIfProxyAndreas Gampe2015-10-126-4/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | Add missing uses of GetInterfaceMethodIfProxy in reflection code. Add a test case for a JNI call to a proxy method. Bug: https://code.google.com/p/android-developer-preview/issues/detail?id=2973 Bug: 23886441 (cherry picked from commit e80673245c0433a71a4930e460be5dc0920885b2) Change-Id: I5b66b64b5561fcee15d0314707d67e8abc02ce5b
| * ART: Decrease dex2oat watchdog timeoutAndreas Gampe2015-10-081-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | Keep the dex2oat watchdog timeout lower than the package manager timeout, so that dex2oat kills itself before the system server watchdog kills the system because of the long installation. Bug: 23629410 (cherry picked from commit 540138ae55ac1909606a436d7f52e20146c56657) Change-Id: I425b19ab305cfaa43f6bddc3a892be892acaf513
| * DO NOT MERGE Add locking to prevent races between setting class methods and ↵Mathieu Chartier2015-10-081-12/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | marking There was a race condition between VisitNativeRoots and threads which were updating the lengths and pointers of the direct or virtual methods of classes. For example: The thread doing VisitNativeRoots could see a null pointer with a non 0 length if another thread had changed the length but not the pointer. The fix is already in master, do not merge. Bug: 24270063 Change-Id: Id7280b9507b95703820aedb6c5fee49966dabe27
| * Merge "ART: Do not abort on exception in CreatePeer" into mnc-dr-devAndreas Gampe2015-10-081-1/+16
| |\
| | * ART: Do not abort on exception in CreatePeerAndreas Gampe2015-10-021-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | Different parts of CreatePeer may throw an exception, especially the Thread constructor. Do not abort in such a case, but return and report a failure to attach/create a thread. Bug: 24200698 Change-Id: I06f2c997f0451c71f791d1f12bea6f8ee65e8ab2
| * | Merge "ART: Clean up less in dex2oat" into mnc-dr-devAndreas Gampe2015-10-081-23/+34
| |\ \ | | |/ | |/|
| | * ART: Clean up less in dex2oatAndreas Gampe2015-09-281-23/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In non-debug builds, clean up even less. We already did not shut down the runtime. Also skipping the compiler driver and the verification results removes all major points of destructor performance. Tested with a common large app on Nexus 9. Time between dex2oat timing message and executable exit (log from immediately-after log echo) [w/o swap, w/ swap]. Before: 2.409s / 48.774s After: 0.132s / 0.188s Bug: 24199200 Change-Id: I5d8c17f8e28796545cfbb3887c07c92905f9b48d (cherry picked from commit 3f30e1219dd76f78bb9b6504e696a04a3dfae564)
* | | art: allow devices to disable CAF bailout patchesSimon Shields2015-12-064-0/+31
| | | | | | | | | | | | | | | | | | these patches seem to break dex2oat on some non-qcom boards Change-Id: Ib70ca7e12d45ea49cbfa3f6acd04fe4a7f015055
* | | art: Fix whitespace errors added by cafChristopher R. Palmer2015-11-0915-45/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All of these errors break compilation with GCC 4.9 and based on a spot check appear to be all CAF introduced changes. Fix these to avoid future breakage. Conflicts: compiler/dex/mir_graph.h compiler/dex/quick/arm/assemble_arm.cc compiler/dex/quick/arm/codegen_arm.h compiler/dex/quick/arm/target_arm.cc compiler/dex/quick/arm64/codegen_arm64.h compiler/dex/quick/arm64/target_arm64.cc compiler/dex/quick/mir_to_lir.h compiler/utils/growable_array.h Changes: compiler/dex/mir_graph.h compiler/dex/mir_optimization.cc compiler/dex/quick/arm/codegen_arm.h compiler/dex/quick/arm/target_arm.cc compiler/dex/quick/mir_to_lir.h compiler/dex/quick/quick_compiler.cc compiler/driver/compiler_driver.cc compiler/optimizing/inliner.cc compiler/optimizing/nodes.cc compiler/optimizing/optimizing_compiler.cc Change-Id: I3e23e1449eea0565fbe6f91251190b1e153f16cf Signed-off-by: AdrianDC <radian.dc@gmail.com>
* | | dex2oat: Increase timeout to allow slow CPUs to finish compilationDmitry Grinberg2015-11-071-2/+2
| | | | | | | | | | | | Change-Id: Ib9f19e0acf1a0a5b90d8b7ef2a0daf224cb2aec1
* | | ART: Disable Clang for armAndreas Gampe2015-11-061-1/+2
| | | | | | | | | | | | | | | | | | | | | Disable Clang for arm32 until a fix for the issue is found. Bug: 25130937 Change-Id: Ia33f387b89ac8d1e8eac9a2782c45f038b9e8a1a
* | | ART: Fix arm32 assembly for ClangChih-Hung Hsieh2015-11-061-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Clang ignores .thumb_func and requires an explicit .thumb directive, as given by the ARM Unified Assembler Language. Conditionally add .thumb to thumb2 functions. Bug: 22762844 Change-Id: I08abdb5f4e0ba5135d4ed850ca3e284203f95a03
* | | Fix build breaks when using clang on MKeith Mok2015-11-061-1/+1
| | | | | | | | | | | | Change-Id: I02bb193cc45623191b4711ca27ccb51d2c79f971
* | | ART: Add scorpion to the known cpu variants listMichael Bestas2015-11-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | * Avoid logcat spam of: 10-26 20:37:57.846 2153 2153 W dex2oat : Unknown instruction set features for ARM CPU variant (scorpion) using conservative defaults Change-Id: I07db465e1f4a9c4cfb69b8d271ed41ec9a16eee5
* | | Merge tag 'android-6.0.0_r26' into cm-13.0Ricardo Cerqueira2015-11-051-0/+9
|\ \ \ | | | | | | | | | | | | Android 6.0.0 release 26
| * \ \ merge in mnc-dr-release history after reset to mnc-dr-devThe Android Automerger2015-10-020-0/+0
| |\ \ \ | | |/ / | |/| |
| | * | merge in mnc-dr-release history after reset to mnc-dr-devThe Android Automerger2015-08-310-0/+0
| | |\ \ | | | |/ | | |/|
| | | * merge in mnc-dr-release history after reset to mnc-dr-devThe Android Automerger2015-08-290-0/+0
| | | |\
| | | | * merge in mnc-dr-release history after reset to mnc-dr-devThe Android Automerger2015-08-290-0/+0
| | | | |\ | | | |/ / | | |/| / | | | |/
| | | * merge in mnc-dr-release history after reset to mnc-dr-devThe Android Automerger2015-08-160-0/+0
| | | |\
| | | | * ART: Change UninitializedThis tracking in the verifierAndreas Gampe2015-08-137-96/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only relying on register types is error-prone. For example, we may inadvertently reject correct code when the constructor terminates abnormally. Bug: 20843113 (cherry picked from commit f10b6e109bfb595b6752d1b59db680694ac1684d) (cherry picked from commit af31802e5b74f5b9b8d3aadbaaf48cfde14ff7d1) Change-Id: I8826cd167780df25a6166740f183d216483fa550
| | | | * merge in mnc-dr-release history after reset to mnc-dr-devThe Android Automerger2015-08-130-0/+0
| | | | |\
| | | | | * merge in mnc-dr-release history after reset to mnc-dr-devThe Android Automerger2015-08-120-0/+0
| | | | | |\
| | | | | | * merge in mnc-dr-release history after reset to mnc-dr-devThe Android Automerger2015-08-110-0/+0
| | | | | | |\
| | | | | | | * merge in mnc-dr-release history after reset to mnc-dr-devThe Android Automerger2015-08-080-0/+0
| | | | | | | |\
| | | | | | | | * merge in mnc-dr-release history after reset to mnc-dr-devThe Android Automerger2015-08-010-0/+0
| | | | | | | | |\
| | | | | | | | | * merge in mnc-dr-release history after reset to mnc-dr-devThe Android Automerger2015-07-290-0/+0
| | | | | | | | | |\
| | | | | | | | | | * merge in mnc-dr-release history after reset to mnc-dr-devThe Android Automerger2015-07-280-0/+0
| | | | | | | | | | |\
| | | | | | | | | | | * merge in mnc-dr-release history after reset to mnc-dr-devThe Android Automerger2015-07-250-0/+0
| | | | | | | | | | | |\
| | | | | | | | | | | | * merge in mnc-dr-release history after reset to mnc-dr-devThe Android Automerger2015-07-220-0/+0
| | | | | | | | | | | | |\
| | | | | | | | | | | | | * merge in mnc-dr-release history after reset to mnc-dr-devThe Android Automerger2015-07-180-0/+0
| | | | | | | | | | | | | |\
| | | | | | | | | | | | | | * merge in mnc-dr-release history after reset to mnc-dr-devThe Android Automerger2015-07-140-0/+0
| | | | | | | | | | | | | | |\
| | | | | | | | | | | | | | | * merge in mnc-dr-release history after reset to mnc-dr-devThe Android Automerger2015-07-110-0/+0
| | | | | | | | | | | | | | | |\
| | | | | | | | | | | | | | | | * merge in mnc-dr-release history after reset to mnc-dr-devThe Android Automerger2015-07-090-0/+0
| | | | | | | | | | | | | | | | |\
| | | | | | | | | | | | | | | | | * merge in mnc-dr-release history after reset to mnc-dr-devThe Android Automerger2015-07-080-0/+0
| | | | | | | | | | | | | | | | | |\
| | | | | | | | | | | | | | | | | | * merge in mnc-dr-release history after reset to mnc-dr-devThe Android Automerger2015-07-060-0/+0
| | | | | | | | | | | | | | | | | | |\
| * | | | | | | | | | | | | | | | | | | Revert "Fix another source of undeterministic inlining." DO NOT MERGEBrian Carlstrom2015-09-291-0/+9
| |/ / / / / / / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit bd7eef17de5f3d25f411702f9f260a96455b4cf7. Bug: 24467386 Bug: 20037935 Change-Id: I04d1d0ffc67661370e4c17911d3b2b105d053bc1
| * | | | | | | | | | | | | | | | | | ART: Weaken size check in hprofAndreas Gampe2015-08-281-4/+5
| |/ / / / / / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dumping the heap is a two-phase process. In the first phase, all objects are visited to fill the header tables. In the second phase, the tables are written out and the heap is visited again to write the object records. Deleting global references doesn't require the mutator lock. So it is possible to delete a global ref in-between the first and the second phase. This leads to a smaller set of object records. The result is still safe, as the object's class etc. is still in the header tables, and the object won't be deleted, so will still be dumped by itself. Bug: 23521263 Change-Id: I019c29b13ceb9f13e362c742662f1546d52c37a0
* | | | | | | | | | | | | | | | | | art: Set check_bail_out to false by defaultSteve Kondik2015-11-041-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * As it is supposed to be, thus unbreaking the compiler when used with the extension. Change-Id: I37499652ab0c3d33cdfccffef8664c9eb470a931
* | | | | | | | | | | | | | | | | | art: Build compiler with GCC if QC extension is usedSteve Kondik2015-11-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * QC hasn't switched to Clang yet, and the perf lib needs the emutls_v symbols generated from a newly-exposed threadlocal. Change-Id: I6c190c10c8878b2f5d36a36b6051a23e1dfae8e9