summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-10-18merge in nyc-mr1-release history after reset to nyc-mr1-devandroid-cts_7.1_r1android-cts-7.1_r9android-cts-7.1_r8android-cts-7.1_r7android-cts-7.1_r6android-cts-7.1_r5android-cts-7.1_r4android-cts-7.1_r3android-cts-7.1_r29android-cts-7.1_r28android-cts-7.1_r27android-cts-7.1_r26android-cts-7.1_r25android-cts-7.1_r24android-cts-7.1_r23android-cts-7.1_r22android-cts-7.1_r21android-cts-7.1_r20android-cts-7.1_r2android-cts-7.1_r19android-cts-7.1_r18android-cts-7.1_r17android-cts-7.1_r16android-cts-7.1_r15android-cts-7.1_r14android-cts-7.1_r13android-cts-7.1_r12android-cts-7.1_r11android-cts-7.1_r10android-cts-7.1_r1android-7.1.1_r9android-7.1.1_r8android-7.1.1_r7android-7.1.1_r6android-7.1.1_r58android-7.1.1_r57android-7.1.1_r56android-7.1.1_r55android-7.1.1_r54android-7.1.1_r53android-7.1.1_r52android-7.1.1_r51android-7.1.1_r50android-7.1.1_r49android-7.1.1_r48android-7.1.1_r47android-7.1.1_r46android-7.1.1_r45android-7.1.1_r44android-7.1.1_r43android-7.1.1_r42android-7.1.1_r41android-7.1.1_r40android-7.1.1_r4android-7.1.1_r39android-7.1.1_r38android-7.1.1_r35android-7.1.1_r33android-7.1.1_r32android-7.1.1_r31android-7.1.1_r3android-7.1.1_r28android-7.1.1_r27android-7.1.1_r26android-7.1.1_r25android-7.1.1_r24android-7.1.1_r23android-7.1.1_r22android-7.1.1_r21android-7.1.1_r20android-7.1.1_r2android-7.1.1_r17android-7.1.1_r16android-7.1.1_r15android-7.1.1_r14android-7.1.1_r13android-7.1.1_r12android-7.1.1_r11android-7.1.1_r10android-7.1.1_r1nougat-mr1.8-releasenougat-mr1.7-releasenougat-mr1.6-releasenougat-mr1.5-releasenougat-mr1.4-releasenougat-mr1.3-releasenougat-mr1.2-releasenougat-mr1.1-releasenougat-mr1-volantis-releasenougat-mr1-releasenougat-mr1-flounder-releasenougat-mr1-cts-releasegitbuildkicker
2016-10-14Ensure OpenDexFilesFromImage closes file to prevent file descriptor leaknougat-mr1-devBrian Carlstrom
Test: m -j32 test-art-host Bug: 32095919 Change-Id: I44541edeb403a508e1b9794ee09fb1f55e3f42bf
2016-10-05merge in nyc-mr1-release history after reset to nyc-mr1-devgitbuildkicker
2016-10-04ART: Reprint long messages on abortAndreas Gampe
Add an abort message parameter to Runtime::Abort. In case the message is multiline (and will thus not be completely preserved in the Android abort reason), reprint the message after all threads have been dumped. Bug: 31893081 Test: m test-art-host Change-Id: I65bc77691fec79f7c868a90d6132805fcc91e473 (cherry picked from commit 90a32b16feb58d4edf932fdcb6a070be3418e365)
2016-10-04ART: Clean up IRT-related abort messagingAndreas Gampe
Change AbortIfNoCheckJNI to take the abort message as a parameter. This way it can be passed down. Bug: 31893081 Test: m test-art-host Change-Id: Ib24c7060f1b32c9613ab84e6c1966082c866bc14 (cherry picked from commit f1e8630fe8eab89e61e9f0a97135ae7c9d38ce23)
2016-09-29merge in nyc-mr1-release history after reset to nyc-mr1-devgitbuildkicker
2016-09-28DO NOT MERGE: Update Oat version to 088Alex Light
Give N-MR1 a different oat version to prevent compatibility problems with NYC. Bug: 31789675 Test: mma test-art-host Test: Phone boots and runs apps Change-Id: I6a922e8ac932dbf36a19431c4f34c2ace6f34609
2016-09-27ART: Dump referenced type in IRT overflowsAndreas Gampe
When the runtime dumps a reference table, e.g., when aborting for an overflow, dump the type of stored referents for reference types to aid in debugging leaks. Bug: 31600693 Change-Id: Ia892dc84ca8827dd93a8b75d6f571c392f94859c
2016-09-27merge in nyc-mr1-release history after reset to nyc-mr1-devgitbuildkicker
2016-09-25Make test for app-image loading.Alex Light
Bug: 26882072 (cherry picked from commit 2e960a075cd30a1fdfc31597c4a64f1fca026efd) Test: test/run-test --host --no-relocate 596-app-images Change-Id: I40a45e7944aec3a5ee28ef3d47e9881f61a7c9e6
2016-09-25merge in nyc-mr1-release history after reset to nyc-mr1-devgitbuildkicker
2016-09-23Smarter image layoutMathieu Chartier
Put strings in the dex file that resolves them. Depth first traversal with overrides for class and dex cache. The work list keeps track of what oat_index with each pushed item. This means the static fields of a class will usually be in the same image. Added layout test to image_test to make sure things are somewhat reasonably attributed. Bug: 28640955 Test: test-art-host Change-Id: I67a536c33aeed603b252d8e0f75622c9efbf2559
2016-09-22merge in nyc-mr1-release history after reset to nyc-mr1-devgitbuildkicker
2016-09-22Merge "Make image test multi image" into nyc-mr1-devTreeHugger Robot
2016-09-21Make image test multi imageMathieu Chartier
Required for testing multi image layout in future CLs. Bug: 28640955 Test: clean-oat-hos, test-art-host, device booting Change-Id: I14809f56e711b4a87e01056c327eddbbd087f4ee
2016-09-21merge in nyc-mr1-release history after reset to nyc-mr1-devgitbuildkicker
2016-09-19Ensure class is initialized when reading its fields from debugger.Jeff Hao
Bug: 31016523 Test: mm run-jdwp-tests-ri & mm run-jdwp-tests-host (cherry-picked from commit de19a25625823496bcf8f92352f709c7a3924bfa) Change-Id: I02f6c66116f4507c89f7ca1cb480d7029d97c485
2016-09-11merge in nyc-mr1-release history after reset to nyc-mr1-devgitbuildkicker
2016-09-09Merge "Fix vtable corruption issue" into nyc-mr1-devTreeHugger Robot
2016-09-09Fix vtable corruption issueAlex Light
We were adding duplicate methods to the vtable in some cases where default methods (and conflict methods) were used. This caused issues where they were not correctly overridden in subclasses that implement these methods directly. When overridden only one of the vtable entries was updated meaning it was still possible to reach the overridden code using a virtual call. This change prevents the duplicate methods from being added to the vtable in this circumstance. It also adds a debug check that ensures that the vtable has no duplicates to prevent regressions. Bug: 31280371 Test: mma test-art-host Test: mma test-art-host-run-test-960-default-smali Change-Id: I17d88fb8949c8d5d75b4de3c734fd98660b81e61 (cherry picked from commit 1f3925d4f067438d3689ef2736fd2af063c98668)
2016-09-08Don't assume resolved classses are filled in for ResolvedFieldAccessTestMathieu Chartier
The assumption that the dex cache type for class of the field is resolved is not correct since FindClass does not fill in the resolved type array. This resulted in crashes if dex_access_to == nullptr. Also implemented for ResolvedMethodAccessTest Bug: 31277064 Test: Launch ZeroTouch with profile guided compilation. Change-Id: I40cfb15f3ae4fbfe941fd01ea46211bd86b6e6f7
2016-09-01merge in nyc-mr1-release history after reset to nyc-mr1-devgitbuildkicker
2016-08-31Save environment snapshot and use at fork/execDavid Sehr
Some applications may inadvertently or maliciously set of environment variables such as LD_LIBRARY_PATH before spawning subprocesses. To make this more difficult, save the environment at the time the runtime starts and use the saved copy anytime Exec is called. BUG: 30160149 TEST: make test-art-{host,target} Change-Id: I887b78bdb21ab20855636a96da14a74c767bbfef (cherry picked from commit d106d9f871c957286ccdeb79c1c2a5ed41f859a6)
2016-08-29Pass the right class loader when inlining. am: c770fe0480Nicolas Geoffray
am: 5b5ee2a89f Change-Id: I47bfba0654850a6e15ef0337556ed6a12e02fb90
2016-08-29Pass the right class loader when inlining.Nicolas Geoffray
am: c770fe0480 Change-Id: If6f2946d649addef8381079eb0132d35ee1fd62f
2016-08-28merge in nyc-mr1-release history after reset to nyc-mr1-devgitbuildkicker
2016-08-27Pass the right class loader when inlining.Nicolas Geoffray
Otherwise, method and type resolution can resolve to the wrong things and as a side effect update the dex cache with wrong data. bug:30403437 Change-Id: I23f94486f51c65e0a1328c6185b36084627e09b3 test:./art/test/run-test --host --jit --dev --no-prebuild 613 (cherry picked from commit 0a210d9b108c87c0e7c1d430a92ce6fc89790c95)
2016-08-25Add lock when iterating over BacktraceMap.Christopher Ferris
In order to avoid a race condition in the maps data, acquire a read lock while iterating over the maps data. Bug: 29387050 Bug: 31067025 (cherry picked from commit 56f8b5631ab2874dc2ec385802e38555acac0d90) Change-Id: I48ecd2705b4aa4eedfed1daae2eb3b9b8bf8dda9
2016-08-25Card mark holding class instead of declaring classMathieu Chartier
For profiling info, we need to mark the card of the holding class instead of declaring class. This is required for GC correctness since the GC relies on the card table to track cross space references. Test: test-art-host ART_TEST_JIT=true Bug: 30655270 (cherry picked from commit 65975776f807d55c83af6cca1e447f8daa794413) Change-Id: I3de518693d3cac1ad9770eae671db740ebdf1d8d
2016-08-25merge in nyc-mr1-release history after reset to nyc-mr1-devgitbuildkicker
2016-08-24merge in nyc-mr1-release history after reset to nyc-mr1-devgitbuildkicker
2016-08-23Revert "Revert "Use try lock to fix class resolution race""Mathieu Chartier
Fix possible deadlock in EnsureResolved caused by interaction with GC. Since we were sleeping while holding the mutator lock, it could block thread suspension. This would deadlock if the thread that had locked h_class is already suspended since we would spin forever and not make progress. Bug: 27417671 Bug: 30500547 Test: test-art-host ART_TEST_GC_STRESS=true This reverts commit 69bf969c055c31a75d17ea92aeee756042678114. (cherry picked from commit 4b0ef1c980a1f3b0201d77e33bdb2f7df12c9114) Change-Id: If5766c2c3c8a130cbb83735cdb9970038570dafd
2016-08-23Revert "Use try lock to fix class resolution race"Mathieu Chartier
This reverts commit a704eda0078989a73cac111ed309aca50d2e289b. Bug: 27417671 Bug: 30500547 (cherry picked from commit 69bf969c055c31a75d17ea92aeee756042678114) Change-Id: I4354d1c9f1c554f054e99efd7aa52d8a2c5d402c
2016-08-23Use try lock to fix class resolution raceMathieu Chartier
There was some possible deadlocks related to EnsureResolved caused by acquiring an object lock. Scenario: Thread 1 acquires lock on obj1 Thread 1 begins to resolve / initialize class1 Thread 1 blocks since it sees that class1 is already being resolved and gets preempted before it can acquire the object lock on class1 Thread 2 finishes resolving and initializing class1 and locks class1 Thread 2 blocks attempting to lock obj1 Thread 1 blocks attempting to lock class1 Deadlock Fixed the deadlock by changing EnsureResolved to use a try lock for the unresolved case. Added a test. Test: Device boot, test-art-host, monitor_test Bug: 27417671 (cherry picked from commit a704eda0078989a73cac111ed309aca50d2e289b) Change-Id: I1150b19bdc1a5cc87ae95eda4f2b6b4bca215a60
2016-08-23Merge "Revert "Save environment snapshot and use at fork/exec"" into nyc-mr1-devDavid Sehr
2016-08-23Revert "Save environment snapshot and use at fork/exec"David Sehr
This reverts commit 1488ff8aa3b041734ef0fbd113df512a2376e44e. Change-Id: I3c237c94ffa865378f8efd9aa2b0fb2ad33867c2
2016-08-23merge in nyc-mr1-release history after reset to nyc-mr1-devgitbuildkicker
2016-08-22Merge "Save environment snapshot and use at fork/exec" into nyc-mr1-devDavid Sehr
2016-08-22Fix debugger calling new String().Jeff Hao
Used to return an empty string instead of the newly created String. Requires accompanying jdwp test fix to test String contents. Bug: 30951794 Test: mm -j24 run-jdwp-tests-host Merges two cherry-picks: f15ec05896ddc5fec1f224ef97bdfebb72b5a855 9e0878494cdacd0877a1614041efc38ebb053017 Change-Id: Idc4725b82798a9b6d636c72e76715bc97ad30d23
2016-08-18Save environment snapshot and use at fork/execDavid Sehr
Some applications may inadvertently or maliciously set of environment variables such as LD_LIBRARY_PATH before spawning subprocesses. To make this more difficult, save the environment at the time the runtime starts and use the saved copy anytime Exec is called. BUG=b/30160149 TEST=make test-art-{host,target}-gtest-utils_test Change-Id: Ice0097bf0de30db3d4ead124caf93316f39e3df3
2016-08-14merge in nyc-mr1-release history after reset to nyc-mr1-devgitbuildkicker
2016-08-11Merge "Fix pending exception failure for encoded statics" into nyc-mr1-devMathieu Chartier
2016-08-11merge in nyc-mr1-release history after reset to nyc-mr1-devgitbuildkicker
2016-08-11Merge "ART: Check for more low-space situations in zygote" into nyc-mr1-devTreeHugger Robot
2016-08-10Fix pending exception failure for encoded staticsMathieu Chartier
ReadValueToField may allocate a string and cause OOME, we were not checking this each loop iteration. Throwing an exception with a pending exception causes an abort. Bug: 30690988 Test: test-art-host (cherry picked from commit da595bec0f9af0b087822e4febc282fe8ec28192) Change-Id: I4701a4dcc63553aeb5c7970f99fd7f136443b266
2016-08-10ART: Check for more low-space situations in zygoteAndreas Gampe
Even if a boot image exists and can be loaded, the rest of the platform may not be able to boot. We previously only checked after full image generation and missed this case. Also prune the cache if there wasn't even space to put the boot marker. Bug: 30765660 Change-Id: Icd43746e681c62ce2e4e8745fb17bda65ca60372
2016-08-10Put the deletion of profiling info under a GC critical section.Nicolas Geoffray
Otherwise the GC could see dangling pointers. bug:30033802 (cherry picked from commit cf48fa030780c3185f225d558b704c396f7713cc) Change-Id: I2c43e973878f50dc147aa0af81551ecc942a790d
2016-08-02merge in nyc-mr1-release history after reset to nyc-mr1-devgitbuildkicker
2016-08-01Fix profiling output to properly display class info.Jeff Hao
The profiler stores class def indexes, not type ids. Bug: 30436198 (cherry-picked from commit 58d40f3a7245e65d57a5daf6bf27c3b209260044) Change-Id: I63524957547c5e0dbaf1d752220de8d05473638f
2016-07-28Pass the right class loader when inlining.Nicolas Geoffray
Otherwise, method and type resolution can resolve to the wrong things and as a side effect update the dex cache with wrong data. bug:30403437 Change-Id: I23f94486f51c65e0a1328c6185b36084627e09b3 test:./art/test/run-test --host --jit --dev --no-prebuild 613