summaryrefslogtreecommitdiffstats
path: root/dalvik
Commit message (Collapse)AuthorAgeFilesLines
* Fix lookup order when opening directly from APKDmitriy Ivanov2015-06-112-93/+118
| | | | | | | | | | | | | The order should be as follows: 1. Uncompressed native library dir (if any) 2. Directly from apk (<apk>!/lib/<abi>) 3. vendor/lib:/system/lib Bug: http://b/21647354 Bug: http://b/21667767 Bug: http://b/21726698 Bug: http://b/8076853 Change-Id: I62cd76b7e4ae927d865d7d0ee81ceb91caa54e99
* Remove StaleDexCacheError.Narayan Kamath2015-05-072-45/+0
| | | | | | | | Nobody throws it. This is in preparation for simplifying dex2oat error handling and ignoring all compiler / verifier errors. bug: 20888973 Change-Id: I81634ddc07d885b0da0c6c952028ba2032e702c7
* getRuntimeStat() support (libcore).Hiroshi Yamauchi2015-04-131-0/+55
| | | | | | | | Export some runtime stats (currently GC stats) via VMDebug.getRuntimeStat(). Bug: 19825248 Change-Id: I135b45134c143df28377ef512295570ad42698ae
* Merge "Rename isDexOptNeededInternal and add SELF_PATCHOAT_NEEDED."Richard Uhler2015-04-091-15/+22
|\
| * Rename isDexOptNeededInternal and add SELF_PATCHOAT_NEEDED.Richard Uhler2015-04-081-15/+22
| | | | | | | | | | | | | | | | Add SELF_PATCHOAT_NEEDED as another possible result of isDexOptNeededInternal, rename isDexOptNeededInternal to getDexOptNeeded, and update the docs for it. Change-Id: Ib9a6373f98474f1242367b5285086251a9d580e5
* | Stop sleeping in waitUntilAllThreadsStopped spin instead.Piotr Jastrzebski2015-04-091-6/+3
|/ | | | | | | | | | | | | | We occasionally have to wait for threads to finish but 10ms seems too long and is a significant part of total time of Zygote fork (up to 15-20%). It turns out that all Java threads are already stopped but we're still waiting for their OS counterparts to finish. This shouldn't take much time so we can just spin here. In my experiments the spinning was never taking more than 1ms. Change-Id: Ib63c0610a0786924060a644331dadaf97f65f0d5
* Pass getDexPath to Runtime.nativeLoadDmitriy Ivanov2015-03-202-14/+44
| | | | | | | | | getDexPath is used by Runtime.nativeLoad to open libraries directly from apk. Given that libraries are not compressed and are page-aligned. Bug: 8076853 Change-Id: I1aa2c039bb2a590ae72f256acc9ba5401c2c59b1
* Move null check rationale to sample code for clarityBrian Carlstrom2015-03-181-6/+2
| | | | Change-Id: Ieceff37477ec3189bda4bcead98aa7e27fcce345
* Revert "Remove unnecessary null checks in CloseGuard documentation sample code"Brian Carlstrom2015-03-101-2/+6
| | | | | | This reverts commit 9a36fbb0df656b18a47048b7d49c09d129f8fcbb. Change-Id: I31f38d46daf7cd28f0d9babd200ee093928c0766
* Remove unnecessary null checks in CloseGuard documentation sample codeMike Lockwood2015-03-091-6/+2
| | | | | | guard is final, so it could never be set to null. Change-Id: I514fcb72bd59b50d8a1a7e64a6b1ec82799f9f70
* Libcore: Change DexFile cookie to objectAndreas Gampe2015-02-251-9/+9
| | | | | | Use an object field instead of long for the cookie. Change-Id: If3c2b31b9d0914ed1965cfd5e3fdb94ea41b1477
* Set random seeds post fork.Narayan Kamath2014-11-171-1/+3
| | | | | | | | | | | | | | Gets rid of static Random objects from various classes and makes them use Math.random instead. Also add hidden APIs to set the random seed post fork (where we're single threaded). This has the nice side effect of fixing a performance bug related to linpack (11388705) where threads were serializing on Math.class while calling Math.random. bug: https://code.google.com/p/android/issues/detail?id=79143 bug: 11388705 Change-Id: Ide3a7d17fe855a8086601348be87a890e4c42ab4
* am f7ba96dc: Merge "Improve DexFile debugging"Brian Carlstrom2014-10-291-2/+6
|\ | | | | | | | | * commit 'f7ba96dcf561cc95389d19b81f51828315b4a2e8': Improve DexFile debugging
| * Improve DexFile debuggingBrian Carlstrom2014-10-271-2/+6
| | | | | | | | | | | | | | | | Bug: 18105751 (cherry picked from commit 3f8d941d89f5dd8fff2d6faf705f1841d40c683e) Change-Id: I445c7f39b728ea6f45f3cb7dd8ed96509cf6f1c5
| * Libcore: Add parameter to zygote hookAndreas Gampe2014-09-031-4/+6
| | | | | | | | | | | | Add a parameter to be passed to ART. Change-Id: I5a20de1cb68dd1802937b369b14c50c9c1031c67
| * Use absolute path when opening dex files.Calin Juravle2014-08-061-1/+13
| | | | | | | | | | | | | | | | | | The device always sees absolute paths so this will be no-op but on host this enables testing with relative paths (which is much more convenient). Bug: 16644204 Change-Id: Ife8d231a8127ff97f8fd97c745c64b435cdddf02
* | Merge "Revert "Timing hacks DO NOT MERGE"" into lmp-devAnwar Ghuloum2014-09-241-17/+0
|\ \
| * | Revert "Timing hacks DO NOT MERGE"Anwar Ghuloum2014-09-241-17/+0
| | | | | | | | | | | | | | | | | | This reverts commit 6d688b8bb051942cd3cdd5fc1e19f42c3049f8a1. Change-Id: Ia4e1ebd0849f4c6b9958d7d78edcedd096042926
* | | Libcore: Add parameter to zygote hookAndreas Gampe2014-09-081-4/+6
|/ / | | | | | | | | | | | | | | Add a parameter to be passed to ART. (cherry picked from commit 255f6218025d5673b1e347b1c31b23202587f8f6) Change-Id: I5a20de1cb68dd1802937b369b14c50c9c1031c67
* | Timing hacks DO NOT MERGEAnwar Ghuloum2014-09-051-0/+17
| | | | | | | | | | | | | | Let's submit to see if any issues remain Bug: 17310019 Change-Id: Ifef1b1645033adcf192d6ec9248456cae28cd09f
* | Use absolute path when opening dex files.Calin Juravle2014-08-111-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | The device always sees absolute paths so this will be no-op but on host this enables testing with relative paths (which is much more convenient). Bug: 16644204 Bug: 16930747 (cherry picked from commit e05ad6f7a1e2e34db62587269a066d479dc8e0ad) Change-Id: I4855c7ffa1935a777e19f0f9842c0bd837818f07
* | am 6c17caab: Merge "Make system use patchoat to relocate during runtime."Brian Carlstrom2014-08-051-2/+41
|\ \ | |/ | | | | | | * commit '6c17caabccd492226c50605929a0eb9e044cb7dc': Make system use patchoat to relocate during runtime.
| * Make system use patchoat to relocate during runtime.Alex Light2014-08-051-2/+41
| | | | | | | | | | | | | | | | | | | | Change DexFile.isDexOptNeededInternal to new signature so that we can determine if we need to run patchoat. Added constants for each of the different outcomes of isDexOptNeededInternal. Bug: 15358152 Change-Id: Ibe92d8b55a24bbf718b0416a21b76e5df7a2de26
| * Use the provided path when opening dex files.Calin Juravle2014-07-251-11/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we would use the canonical path. If the path contains symlinks it may generate the wrong file name when searching for the containing oat file. This is because we don't apply any canonicalization when dex files are generated so we think we're looking for somthing else. Bug: 15563230 (cherry picked from commit 71202f8ed84edc6ab57e7b6c26f0a1ec97d5adc6) Change-Id: If261e2d80e9cbdc6e7750c73b8e6f298e46b009b
| * Deprecate use of BrokenTest and SideEffectBrett Chabot2014-05-212-0/+4
| | | | | | | | | | | | | | | | | | Use expectations files instead. (cherry picked from commit 6a6b612286976cc185c898803fe51e4e062bd9eb) Bug: 12924356 Change-Id: I9b7e71805a80176c873cffe46bed65f81de1903d
* | Merge "Use the provided path when opening dex files." into lmp-devNarayan Kamath2014-07-171-11/+5
|\ \
| * | Use the provided path when opening dex files.Calin Juravle2014-07-161-11/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we would use the canonical path. If the path contains symlinks it may generate the wrong file name when searching for the containing oat file. This is because we don't apply any canonicalization when dex files are generated so we think we're looking for somthing else. Bug: 15563230 Change-Id: I5923bdd2520a91019102ef6256d4c97fd5b499df
* | | Point developers toward new code cache location.Jeff Sharkey2014-07-151-2/+2
|/ / | | | | | | | | Bug: 16187224 Change-Id: I95d9c5b6d78c8daece5a91cff8f1b71bd357f8b4
* | am 91a37e34: am 5f7fd3f1: am f560c538: Merge "Revert "Libcore: Remove <> in ↵Andreas Gampe2014-05-061-2/+2
|\ \ | |/ | | | | | | | | | | CloseGuardMonitor test class"" * commit '91a37e34633fd33dc342724bcfcf2dcd76c4a511': Revert "Libcore: Remove <> in CloseGuardMonitor test class"
| * Revert "Libcore: Remove <> in CloseGuardMonitor test class"Andreas Gampe2014-05-061-2/+2
| | | | | | | | | | | | | | Dalvik-dev has switched to Java 7 now, so diamonds are allowed now. This reverts commit 307e642f661f73cf22fa689ee40181481768c400. Change-Id: Ia1893bfea09aa2de65fed997bc3e5e3805d92387
* | am fd71cafe: am 82ae08ae: am 2684c1a5: Merge "Libcore: Remove <> in ↵Andreas Gampe2014-05-031-2/+2
|\ \ | |/ | | | | | | | | | | CloseGuardMonitor test class" * commit 'fd71cafeacb65447d4a7b47ffcfb169522d64271': Libcore: Remove <> in CloseGuardMonitor test class
| * Libcore: Remove <> in CloseGuardMonitor test classAndreas Gampe2014-05-021-2/+2
| | | | | | | | | | | | | | Regrettably we're stuck with Java 1.6 in some branches, which will not accept the diamond operator. Change-Id: Iab1bd30bdcd70e312c2809a42d2339e0503a3250
* | am c3eed594: am f6696d69: am eec4356c: Merge "Improve detection of ↵Paul Duffin2014-05-021-0/+119
|\ \ | |/ | | | | | | | | | | CloseGuard protected resource leakage" * commit 'c3eed594ffd6b488b5771cd1e6a9a4c44aa0826b': Improve detection of CloseGuard protected resource leakage
| * Improve detection of CloseGuard protected resource leakagePaul Duffin2014-05-011-0/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add CloseGuardMonitor to intercept and collate CloseGuard reports and if necessary throw an exception listing the resource leaks. * Add ResourceLeakageDetector to abstract away the CloseGuardMonitor which will not work on RI. * Add AbstractResourceLeakageDetectorTestCase as a base class for tests that need to detect resource leaks, in future this could be handled by modifications to Cts and Vogar test runners. * Remove CloseGuardTester and its sole usage in ProcessBuilderTest. * Remove CloseGuardGuard from within URLConnectionTest * Change ZipFileTest, ProcessBuilderTest, URLConnectionTest to use new mechanism, fix issues that are identified and do some cleanup/remove duplicated code. Bug: https://code.google.com/p/android/issues/detail?id=66383 Change-Id: Id026dbb6bc66091a15f07329e6371cd0d1f32cf5
| * Add an instructionSet argument to isDexOptNeededInternal.Narayan Kamath2014-05-011-1/+1
| | | | | | | | | | | | (cherry picked from commit 4adab737c923d0cb2796a51500498e04708f1d1e) Change-Id: Ic8e37e97e468b42c64d4a5e8631aab532e04115a
* | Add an instructionSet argument to isDexOptNeededInternal.Narayan Kamath2014-04-301-1/+1
| | | | | | | | Change-Id: I558d8f3564a11639dec0ddad9f67e9f321c28f3b
* | am 3eb545e3: am 85fa4285: Merge "Groundwork towards making the Libcore.os ↵Elliott Hughes2014-04-252-5/+5
|\ \ | |/ | | | | | | | | | | functionality public." * commit '3eb545e382a12565ed8779632015d736d6f5c32c': Groundwork towards making the Libcore.os functionality public.
| * Groundwork towards making the Libcore.os functionality public.Elliott Hughes2014-04-242-5/+5
| | | | | | | | Change-Id: Ie700aa16d91fba53fc5eb2555829cb74d84b12ad
* | am 0c2165ad: am e471f800: Merge "Rename Zygote -> ZygoteHooks."Narayan Kamath2014-04-022-187/+78
|\ \ | |/ | | | | | | * commit '0c2165add0458c9f27c3e15875f936d9d3157a4b': Rename Zygote -> ZygoteHooks.
| * Rename Zygote -> ZygoteHooks.Narayan Kamath2014-04-022-187/+78
| | | | | | | | | | | | | | | | The old Zygote class is moving to frameworks/base. The Zygote class provides a set of callbacks that Zygote can call to allow the runtime to perform pre/post fork work. Change-Id: I7400e32906d32e80ffd196ef7a858a8733011ac3
* | am 7b652760: am 28e43313: Merge "Remove Zygote.systemInSafeMode."Narayan Kamath2014-03-311-6/+0
|\ \ | |/ | | | | | | * commit '7b6527607ef4f2bb548787b84a03bb76335a9ec4': Remove Zygote.systemInSafeMode.
| * Merge "Remove Zygote.systemInSafeMode."Narayan Kamath2014-03-311-6/+0
| |\
| | * Remove Zygote.systemInSafeMode.Narayan Kamath2014-03-281-6/+0
| | | | | | | | | | | | | | | | | | This field has moved to the SystemServer class. Change-Id: Ia66340dd934e6ec62a72e3641085602cb9f252f5
* | | am db965232: am 6586cc6f: Merge "Remove Zygote.fork"Narayan Kamath2014-03-311-17/+0
|\ \ \ | |/ / | | | | | | | | | * commit 'db96523247dc13caa762b7656f3375a4a8e15905': Remove Zygote.fork
| * | Remove Zygote.forkNarayan Kamath2014-03-281-17/+0
| |/ | | | | | | | | | | Currently unused, all callers use forkAndSpecialize. Change-Id: I61df8ed88d7657da8280e044fe99517c47ce8dff
* | Merge "Deprecate use of BrokenTest and SideEffect"Brett Chabot2014-03-112-0/+4
|\ \ | |/ |/|
| * Deprecate use of BrokenTest and SideEffectBrett Chabot2014-03-072-0/+4
| | | | | | | | | | | | | | | | Use expectations files instead. Bug: 12924356 Change-Id: I0ea7917384adf7849404b6da5b7704e6f0c0c1c7
* | ART sampling profilerDave Allison2014-03-071-0/+7
|/ | | | | | | | | | | | | | | Add isDexOptNeededInternal() to the DexFile class. This is like isDexOptNeeded() except takes additional arguments that are used to determine whether a profile has changed of not. The isDexOptNeeded() method is part of the exported API and cannot be changed. The new method is not part of the API. Also add additional argument to the registerAppInfo() methods (the package name). This is used to determine the profile filename. Bug: 12877748 Change-Id: If862cc5d20fae4b9d46c488f401cda6d433b4a57
* Remove old fork-and-specialize APIDave Platt2014-02-131-14/+2
| | | | | | | | | As promised, this is the cleanup patch-set which removes the old native "fork and specialize" API, which has been replaced by a slightly-enhanced one which can close the Zygote socket descriptors in the Zygote child. Change-Id: Icaeab730bee8638354dc664524e4118cdd946d2f
* Finish fixing Zygote descriptor leakage problemDave Platt2014-02-051-3/+19
| | | | | | | | | | | | | | | | In order to prevent Zygote descriptors from leaking into the child environment, they should be closed by the forked-off child process before the child switches to the application UID. These changes close the descriptors via dup2(), substituting a descriptor open to /dev/null in their place; this allows the Zygote Java code to close the FileDescriptor objects cleanly. This is a multi-project change: dalvik, art, libcore, frameworks/base, and external/sepolicy are affected. The CLs need to be approved together, lest the build break or the software fail to boot. Bug: 12114500 Change-Id: I8ea69de7b1cfbd811977a5629eb0af665f6dd66a