summaryrefslogtreecommitdiffstats
path: root/vm
Commit message (Collapse)AuthorAgeFilesLines
* dalvik: Disable loop hoisting optimization on perf buildsSteve Kondik2014-05-081-0/+4
| | | | | | * Fixes VSCO Cam array traversal crash when perf is enabled. Change-Id: I57e59e407a538c4cc48972f4cf3167c505d7ded4
* Revert "dalvik: add placeholder for future changes"Steve Kondik2014-05-012-10/+1
| | | | | | | | * There are GC issues with this version. Rollback for now. This reverts commit cdf7a375a8e44fad85e90e7234e561088b20a897. Change-Id: I983a14a7c39f99427e4a437f1a752fc99db91e28
* Use RETURN_PTR(NULL) instead of RETURN_VOID in newNonMovableArray.Mathieu Chartier2014-05-011-3/+3
| | | | | | | | RETURN_VOID doesn't set the return value. This means that we are returning random garbage when the allocation doesn't succeed. Bug: 11971220 Change-Id: I570562c7bb9dc573161294916f582709774b35fd
* Dalvik :Increase the upper limit check for DexOpt Deps tableAbhishek Arpure2014-05-011-1/+1
| | | | | | | | | | Increasing upper limit check for the Deps table as additonal jars added causes the dalvik to crash while performing dexopt on cached jar files. This is needed for passing cts test case which is part of libcore.java.util.jar.DalvikExecTest class Change-Id: I5431238839712499122eb35132599230d8610de8 CRs-Fixed:621955
* Revert "Use MAP_FIXED in remapNewHeap"Ricardo Cerqueira2014-04-301-1/+1
| | | | | | | This reverts commit 462bc921aefe3b96e8cc7dae91e234b0e455966c, it breaks android.openglperf.cts.GlAppSwitchTest#testGlActivitySwitchingFast Change-Id: Ic153994859f678dbef4328bee5740e21beb735e0
* Revert "Change exception message for ArrayStoreException."Ricardo Cerqueira2014-04-291-1/+1
| | | | | | | | | Fix all the libcore.java.lang.ArrayStoreExceptionTest failures. Why are we pulling cosmetic changes from master? This reverts commit 653ffbf481aa19c4f6c9a358b33d0d812758dfe5. Change-Id: Icc4d1b40c578a5eef6890e9a03c7b10a96b75c0b
* Dalvik :Increase the upper limit check for DexOpt Deps tableTapas Pradhan2014-04-041-1/+1
| | | | | | | | | Increasing upper limit check for the Deps table as additonal jars added causes the dalvik to crash while performing dexopt on cached jar files. This is needed for passing cts test case which is part of libcore.java.util.jar.DalvikExecTest class Change-Id: I479d105002f98abd281aeeaa6463fc870a3c86b3
* Dalvik : Increase the upper limit check for DexOpt Deps tableTapas Pradhan2014-03-211-1/+1
| | | | | | | | | Increasing upper limit check for the Deps table as additonal jars added causes the dalvik to crash while performing dexopt on cached jar files. This is needed for passing cts test case which is part of libcore.java.util.jar.DalvikExecTest class Change-Id: I63119dc3e45df19910ae70cedad6109075672d6e
* dalvik: add placeholder for future changesWei Wang2014-03-212-1/+10
| | | | | | add placeholder for future changes Change-Id: I09dd704a60857de71cafd7e6b64ee750c5cb95b1
* Remove old fork-and-specialize APIDave Platt2014-02-191-18/+1
| | | | | | | | | 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: I33f504afd242e268863270139b4e421d4b0728f2
* Finish fixing Zygote descriptor leakage problemDave Platt2014-02-191-3/+76
| | | | | | | | | | | | | | | | | | 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. Round 2: whitespace Bug: 12114500 Change-Id: I989c83291d0c42d4cad63f24a3e98a93e231c9d3
* Revert JIT changes for nowSteve Kondik2014-02-035-131/+2
| | | | | | | | | | | | * Need fixed to play nice with perf Revert "Dalvik: Add hardware vfp support for OP_LONG_TO_DOUBLE in JIT" This reverts commit eadd85e3c0eceb448f4afb55ab6ef4b5f3b7736a. Revert "Dalvik: Add sdiv support in the JIT" This reverts commit c28a3412e2d18872f0eae1b1a96bb29e6f6e0df9.
* vm: Enable fast multiply on perf builds tooSteve Kondik2014-02-025-13/+2
| | | | Change-Id: I74d152ea9cfe5b15daa9a8353ca27d8afa7474d2
* Use MAP_FIXED in remapNewHeapPete Delaney2014-02-021-1/+1
| | | | | | | | The heap address must not change when it is remapped Change-Id: Ia44f178932e2afe8de3d4739e7085caae8568885 Signed-off-by: Pete Delaney <piet.delaney@imgtec.com> Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
* Change exception message for ArrayStoreException.Narayan Kamath2014-02-021-1/+1
| | | | | | | | | | | The exception message is tested in SystemTest. I'm not sure what's worse: Changing the dalvik message or changing the test to be happy with both messages. (I assume the art message is the one we chose because it's more recent.) Change-Id: Ia68641a05f992ab5a949add865fb3f7bb46e61be
* Initialize callTgt variableBernhard Rosenkränzer2014-02-021-1/+1
| | | | | | | | | | | | This silcences a clang build failure: dalvik/vm/compiler/codegen/arm/armv7-a-neon/../CodegenDriver.cpp:904:41: error: variable 'callTgt' is uninitialized when used here [-Werror,-Wuninitialized] LOAD_FUNC_ADDR(cUnit, r2, (int) callTgt); ^~~~~~~ Change-Id: Ic5b3bb492f19b842743bf7d6214c89301ff524e7 Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
* Don't implicitly cast NULL to a boolBernhard Rosenkränzer2014-02-021-3/+3
| | | | | | | | The code is wrong and causes an error when building with clang 3.4 (-Werror,-Wnull-conversion) Change-Id: If03aa782fa25337802ff906a0d06071fbda93e26 Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
* Dalvik: Add hardware vfp support for OP_LONG_TO_DOUBLE in JITSerban Constantinescu2014-02-023-0/+43
| | | | | | | | | The following patch adds hardware vfp support for OP_LONG_TO_DOUBLE in the JIT. Previously this opcode was implemented using one of gcc's builtin helpers. Change-Id: I3c88b2a527dea99dcefdb34be6695e75993da73e Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
* Dalvik: Add hardware support for OP_LONG_TO_DOUBLE in the interpreterSerban Constantinescu2014-02-023-13/+45
| | | | | | | | | The following patch adds hardware vfp support for OP_LONG_TO_DOUBLE in the interpreter. Previously this opcode was implemented using one of gcc's builtin helpers. Change-Id: I7713aa03c0b0bed8df592710dd50ab3d13d4bd9b Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
* Dalvik: Add sdiv support in the JITSerban Constantinescu2014-02-024-2/+88
| | | | | | | | | | | | | | | | | | | | This patch adds hardware divide support in the JIT side of dalvik. This operation is supported on new armv7 cpus such as A15 or A7. The following opcodes are enabled and will generate code based using SDIV instruction: OP_DIV_INT OP_DIV_INT_2ADDR OP_REM_INT OP_REM_INT_2ADDR OP_DIV_INT_LIT16 OP_DIV_INT_LIT8 OP_REM_INT_LIT16 OP_REM_INT_LIT8 Change-Id: I2b2f9f337f13b5c794df951c4929b6ca0ad583c4 Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
* Dalvik: Add sdiv support in the interpreterSerban Constantinescu2014-02-0212-308/+504
| | | | | | | | | | | | | | | | | | This patch adds hardware divide support in the interpreter side of dalvik. This operation is supported on new armv7 cpus such as A15 or A7. Opcodes added: OP_DIV_INT OP_DIV_INT_2ADDR OP_DIV_INT_LIT16 OP_DIV_INT_LIT8 OP_REM_INT OP_REM_INT_2ADDR OP_REM_INT_LIT16 OP_REM_INT_LIT8 Change-Id: Ib1ec5856d957feadd90807fe53ec34cc0e1fd4a2 Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
* dalvik: Fix leak in error condition in FindClassIvan Evlogiev2014-01-281-0/+1
| | | | | | Release trackedLoader for all exit points in FindClass Change-Id: I2da26ed6253c2b1b9381bff394596245b993602c
* setting RLIMIT to INFINITY.Uday Kumar Sundar2014-01-281-1/+12
| | | | | | This is to generate coredumps for processes spawned by zygote Change-Id: I2dbac76fbcaa7be3845ba5e12ad064548a25e2e3
* export setThreadName() and add NULL checkWilliam Roberts2014-01-173-3/+19
| | | | Change-Id: I9b69a23b308fe851ed49722c0da3953433b3f5b8
* Set Processes comm name to package nameWilliam Roberts2014-01-171-0/+8
| | | | | | | | | | | When debugging audit logs, it is often helpful to have the packages name. Bear in mind that the package name is the right most chars up to TASK_COMM_LEN. Although a possibility of truncation exists, it can be useful for narrowing down the possibilities. Change-Id: Ia735b03f64352d155f8b96e1d47f48e6519b1d4f
* A char array copy optimization (dalvik).Hiroshi Yamauchi2014-01-171-0/+37
| | | | | | | | Bug: 7103825 (cherry picked from commit dc6cb9c7cb4ef636aa6f542615410b56a67b94dc) Change-Id: I0b8ab789ffb8702bc134b32398c120cc3ed29b9c
* Dalvik: DMB Optimisations for TracingJITDavid Butcher2014-01-022-9/+9
| | | | | | | | Makes DMB domain ISH or ISHST instead of the implicit System. ISH (Inner Shareable) should be sufficient for all cores/clusters, but is not sufficient for GPU or other memory-mapped peripherals Change-Id: Id159228daba97bc3692d2eb1ee2786bae2ee34a7 (cherry picked from commit 48704eccc23e91f3ee46ea4882d1dfef43646cc4)
* Dalvik: DMB OptimisationDavid Butcher2014-01-023-6/+6
| | | | | | | | Replaces use of 'dmb' and 'dmb st' with inner-shareable versions. This should improve performance in certain cases without harming correctness. Change-Id: Id30f58b93b34bf0e232bb01dc3956a82f7a69c40 (cherry picked from commit 2ea163ba54731afcfa11341a525c33e08d0781fa)
* dalvik: Use Bionic's memmove on cortex-a15Steve Kondik2013-12-291-5/+9
| | | | Change-Id: Ia313d784cf9e261e0c82f1a6d412eca1731a5034
* Retry mount() if it fails with EINTRKoji Fukui2013-12-211-3/+6
| | | | | | | mount() may fail EINTR, and when it does this causes dalvik to crash. Use the regular retry macro to avoid these problems. Change-Id: I436fe4f0fab36c8172b43b8b9caedcb6d8167a4f
* Dalvik: Ensure that the array length complies with the final specifierSerban Constantinescu2013-12-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | JSR-133, which Android 4 should comply with, "final" fields should be visible to all threads at the time the constructor exits, regardless of synchronization. This behaviour should also apply to the array lengths as they are regarded as equivalent in behaviour to "final" fields. Non-final fields require explicit synchronization in Java for them to be accessed correctly. The Dalvik VM in Android ensures constructors for ordinary object behave properly by inserting a memory barrier ("DMB") on their return if the object's class has a "final" field. The issue, however, is that while Dalivk inserts a barrier in constructors, it doesn't during array create. A barrier ought to be inserted in order to ensure an array's length is visible when the array itself can be observed by other threads. In order for Dalvik to be correct in respect to JSR-133 and the ARM memory model, it should be modified to have a memory barrier after an array is allocated and initialized, before it is visible to other threads. Change-Id: I329656139264552bbd7cacd8c743b694ee2e0bb8 Signed-off-by: Stuart Monteith <Stuart.Monteith@arm.com> Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
* dalvik: use bioinc memmoveWei Wang2013-12-202-0/+6
| | | | | | use memmove from bioinc if it is halfword atomic. Change-Id: I81c38c2b504483b69b0b1c1e4ffb63cb81d347d5
* Dalvik : Increase the upper limit check for DexOpt Deps tableAbhishek Arpure2013-12-201-1/+1
| | | | | | | | | | Increasing upper limit check for the Deps table as additonal jars added causes the dalvik to crash while performing dexopt on cached jar files. This is needed for passing cts test case which is part of libcore.java.util.jar.DalvikExecTest class. Change-Id: I7e271ddf68d2b0d03081b03c395ac62d4e50ef0f CRs-Fixed: 573586
* Add an extra guard around perf enablementSteve Kondik2013-12-031-1/+2
| | | | Change-Id: I3b03ffa27ca744d8392301e6b4a8e67aa88bca53
* Merge branch 'kk_2.7_rb1.11' of git://codeaurora.org/platform/dalvik into ↵Steve Kondik2013-11-305-28/+68
|\ | | | | | | cm-11.0
| * Merge "dalvik: use T3 branch when target offset is too large"Linux Build Service Account2013-11-231-5/+11
| |\
| | * dalvik: use T3 branch when target offset is too largeWei Wang2013-11-191-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | T1 branch has offset limit of [-256, 254]. T3 branch has offset limit of [-1048576, 1048574]. Use T3 branch when target offset falls outside T1 range to avoid compiliation abort. Change-Id: I86809e08236b1f5f5102e3fce4df4b1e72e4b96c
| * | Merge "Dalvik : Increase the upper limit check for DexOpt Deps table"Linux Build Service Account2013-11-211-1/+1
| |\ \
| | * | Dalvik : Increase the upper limit check for DexOpt Deps tableAjay Raghothama2013-11-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Increasing upper limit check for the Deps table as additonal jars added causes the dalvik to crash while performing dexopt on cached jar files. This is needed for passing cts test case which is part of libcore.java.util.jar.DalvikExecTest class. CRs-Fixed: 573586 Change-Id: Ic991ca7b49cdd80cdba330edc759ece43361f9fb
| * | | dalvik/vm: Dalvik startup with a low memory footprintVijay Dandiga2013-11-172-17/+49
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Initialize concurrentStartBytes and createMspace using HEAP_MIN_FREE. This helps save Android framework memory after boot. This is for low memory targets only(<=512MB RAM & hdpi resolution) Also, set TARGET_ARCH_LOWMEM in the BoardConfig.mk file of a device for this patch to take effect. Change-Id: Ia1dec6e89ef8285f1e12644bcdc6ca17a15e37a2
| * / Use 64-bit Linux capabilities when starting ZygoteDavid Ng2013-11-081-5/+7
| |/ | | | | | | | | | | | | Enable 64-bit capabilities when starting Zygote to allow >32-bit capabilties to be set, such as CAP_BLOCK_SUSPEND. Change-Id: I2821a2a393dc521c7b99a7283ba17b3ae3b375fd
* | Merge branch 'kk_2.7_rb1.9' of git://codeaurora.org/platform/dalvik into cafSteve Kondik2013-11-1150-189/+2460
|\| | | | | | | Change-Id: I885fab2470352d0a625c9946d0d5c9111486b713
| * Dump hprof when app encounters Out of memoryBiswajit Paul2013-10-311-5/+52
| | | | | | | | | | | | | | | | | | | | | | These changes will only dump application hprof when debug property "dalvik.debug.oom" is set to -1. CRs-Fixed: 471156 Change-Id: I41fbbd5cdaa852cd5e8896186e9d3993688a9cb0 (cherry picked from commit eac7514a989e78b191fde100475b907427158b8d) (cherry picked from commit 63a1141f9bb9fc58beacdde1e8e24df82fe6e000)
| * GC triggering performance optimizationsWei Wang2013-10-313-8/+119
| | | | | | | | | | | | | | | | | | | | Copy the correct starting heap size at process init. Interfaces to set GC/managed heap parameters. Change-Id: I454b1985a3225d7dbdea9c5d4e6f0c9f5e24352e (cherry picked from commit ea59f91c8559dee1710f38a27db10f76f4753fea) (cherry picked from commit 12fc949d46e988ce6877ad4c60f5fc983c5dc202) (cherry picked from commit 73a1dac0b14ab5159453c2d696049e233e7476b0)
| * dalvik: dalvik device extension pack.Xin Qi2013-10-3152-183/+2103
| | | | | | | | | | | | | | | | | | Add support for customer device extension Change-Id: I0402a630ba212d1c5e81cda110f61210f7b60384 (cherry picked from commit 11499df326462bfe25890a35c6abbf019ff7784e) (cherry picked from commit e03b8f8da9cf4eef64cedf39ce9ca90d26ce5124) (cherry picked from commit fb360be406f35b9591f12c61936657f03cc5880f)
* | Unbreak building host modulesRicardo Cerqueira2013-11-061-0/+4
| | | | | | | | | | | | bionic is now a dependency for properties Change-Id: Icd406e639ca297244ab809f523c6830c2240d20b
* | Merge tag 'android-4.4_r1' into cm-11.0Ricardo Cerqueira2013-11-0176-1549/+1484
|\| | | | | | | Android 4.4 Release 1.0
| * Fix static method preloadingBrian Carlstrom2013-10-161-9/+11
| | | | | | | | | | | | Bug: 11045348 Change-Id: Ib13f96563f3b7ead17620e409735a0e9abb2a109
| * Preload DexCachesBrian Carlstrom2013-10-081-1/+314
| | | | | | | | | | Bug: 11045348 Change-Id: I287703eaa964dcbd2e8d5a6c7db7ac378e19e2c1
| * Invert sense of a test.Ian Rogers2013-09-241-1/+1
| | | | | | | | | | | | Bug 10907247 Change-Id: I0665cce648dd892db4cc59e82c325b376dad97dd