summaryrefslogtreecommitdiffstats
path: root/dalvikvm
Commit message (Collapse)AuthorAgeFilesLines
* Replace NULL with nullptrMathieu Chartier2015-04-221-11/+11
| | | | | | | Also fixed some lines that were too long, and a few other minor details. Change-Id: I6efba5fb6e03eb5d0a300fddb2a75bf8e2f175cb
* Add AbstractMethod, Constructor, MethodMathieu Chartier2015-04-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Moves functionality to ART from libcore. Precursor to moving ArtMethods to native. Mostly performance improvements. N5 perf before (irrelevant results removed): Class_getConstructor 962.87 =========== Class_getDeclaredMethod 2394.37 ============================ Class_getMethod 2509.20 ============================== Class_newInstance 1999.81 ======================= Method_invokeI 1439.02 ================= Method_invokePreBoxedI 1415.82 ================ Method_invokeStaticI 1456.24 ================= Method_invokeStaticPreBoxedI 1427.32 ================= Method_invokeStaticV 814.47 ========= Method_invokeV 816.56 ========= After: benchmark ns linear runtime Class_getConstructor 1302.04 ================ Class_getDeclaredMethod 1459.01 ================== Class_getMethod 1560.40 =================== Class_newInstance 2029.94 ========================= Method_invokeI 1312.89 ================ Method_invokePreBoxedI 1255.01 =============== Method_invokeStaticI 1289.13 =============== Method_invokeStaticPreBoxedI 1196.52 ============== Method_invokeStaticV 790.82 ========= Method_invokeV 791.73 ========= Performance improvements are more than just fixing regressions introduced in: http://android-review.googlesource.com/#/c/146069/ Bug: 19264997 Change-Id: Ife79c469fdb09f30e3aefcfc3e0ce5ed32303fce
* Remove version-script optionDmitriy Ivanov2015-04-021-1/+1
| | | | | | | | | Version script was used to limit number of symbols exposed by main executable because of --export-dynamic option. This was overthinking on my part which can lead to unwanted side-effects like not working asan. Change-Id: Iaab4d38f86ddf21357d26d21d35c9ed6e7ff989e
* Add options for building/testing with coverage.Dan Albert2015-01-301-0/+2
| | | | | | | | | | | acov --clean mm -B NATIVE_COVERAGE=true ART_COVERAGE=true test-art-host acov --host -B is needed because you need to be sure you rebuild *all* of ART with coverage. Change-Id: Ib94ef610bd1b44dc45624877710ed733051b7a50
* Remove libcxx.mk cruft.Dan Albert2015-01-291-2/+0
| | | | | | This is on by default now. No need to leave it in the makefiles. Change-Id: I20eab7426da4bbbf8b70ffc5b9af7b97487d885d
* Link libsigchain.a instead of sigchain.oDmitriy Ivanov2014-10-201-2/+4
| | | | | | | | | | Relative paths may sometimes lead to failed builds if sources are built in particular order. Also it is possible to export symbols from static lib with LOCAL_WHOLE_STATIC_LIBRARIES variable. Change-Id: I6d62594c2e84020d67254747c1fd465e1144920e
* Fix error message to match the code.Piotr Jastrzebski2014-10-171-1/+1
| | | | | | | The code checks that curr_opt > option_count but error message says that curr_opt >= option_count. Change-Id: I19cd077e2383ad9a368e324a1e35cc98170a40a4
* Fix mac build (second attempt)Dmitriy Ivanov2014-10-141-2/+0
| | | | | | | | | | It appears that the version of mac ld with -export_dynamic is pretty recent. Remove -export_dynamic to fix build for older mac versions (?) Change-Id: Ibc3b2f9a0aeec9125cd73b7df0cf22de9e8e4d16
* Fixing mac buildDmitriy Ivanov2014-10-141-1/+7
| | | | | | | | | MacOS static linker does not understand --export-dynamic and --version-script. According to man ld there is -export_dynamic option which should do the same thing. Change-Id: I8cde8c6c7305bebbbcc9dded143fa5cdaf386d65
* Remove libsigchain from LD_PRELOADSDmitriy Ivanov2014-10-071-4/+5
| | | | | | | | | | | | Link sigchain.cc statically with dalvikvm, app_process, surfaceflinger, dex2oat, patchoat and objdump. Replace libsigchain.so with dummy implementaions to avoid situations when it is used incorrectly. Bug: 15345057 Bug: 15426766 Change-Id: If0b7f59a59824e30aa0c33dad76c7a44932180de
* Make ART_HOST_EXECUTABLES and ART_TARGET_SUPPORTED_ARCH include dalvikvm32 ↵Brian Carlstrom2014-06-291-1/+13
| | | | | | and dalvikvm64 as needed Change-Id: Ica949eb73c081f10d28cc2fcfeb8e968eb1d52bb
* Create a dalvik symlink on the host.Ian Rogers2014-06-271-4/+4
| | | | Change-Id: I6cf331141a118d7248fd4eff68cce302dcd7bcca
* Multilib ART host.Ian Rogers2014-06-241-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | Build ART for the host as a multilib project with dalvikvm32 and dalvikvm64 running as 32 or 64-bit repsectfully. Note, currently multilib host builds are not the default, you make the so by setting BUILD_HOST_64bit=1. Extend tests to execute in both 32 and 64-bit modes. By default both 32 and 64-bit tests are run, add 32 or 64 to the end of a test name to run it in purely that flavor. Given the extra spam, modify oat tests to only generate console output when the test fails. Change the test harness so that common commands are run when a test should be skipped, when it passes or when it fails. Use these commands to generate a summary of passing, skipped and failing tests. Tests will be skipped if they are known to be broken or if a test has already failed. Setting the variable TEST_ART_KEEP_GOING=true will force working tests not to be skipped. In this change all tests running on the optimizing compiler are marked broken due to breakages running them in a multilib environment. Break apart Android.common.mk into its constituent parts, along with other pieces of reorganization. Stylistic nit, we refer to make rule targets as targets thereby overloading the term target. While consistent with make's terminology, its confusing with the Android notion of target. I've switched to just calling targets rules to avoid confusion in host tests. Change-Id: I5190fc3de46800a949fbb06b3f4c258ca89ccde9
* Remove deprecated WITH_HOST_DALVIK.Ian Rogers2014-06-101-2/+0
| | | | | | | | | | | | | | | | | | | | | | | Bug: 13751317 Fix the Mac build: - disable x86 selector removal that causes OS/X 10.9 kernel panics, - madvise don't need does zero memory on the Mac, factor into MemMap routine, - switch to the elf.h in elfutils to avoid Linux kernel dependencies, - we can't rely on exclusive_owner_ being available from other pthread libraries so maintain our own when futexes aren't available (we can't rely on the OS/X 10.8 hack any more), - fix symbol naming in assembly code, - work around C library differences, - disable backtrace in DumpNativeStack to avoid a broken libbacktrace dependency, - disable main thread signal handling logic, - align the stack in stub_test, - use $(HOST_SHLIB_SUFFIX) rather than .so in host make file variables. Not all host tests are passing on the Mac with this change. dex2oat works as does running HelloWorld. Change-Id: I5a232aedfb2028524d49daa6397a8e60f3ee40d3
* Move art host to libc++Dan Albert2014-05-211-0/+1
| | | | Change-Id: Ia51a4fdfdbae7377130a43c401c2d8d241671d1e
* Now we have a proper C++ library, use std::unique_ptr.Ian Rogers2014-05-192-5/+3
| | | | | | | Also remove the Android.libcxx.mk and other bits of stlport compatibility mechanics. Change-Id: Icdf7188ba3c79cdf5617672c1cfd0a68ae596a61
* Add missing header necessary for libc++.Ian Rogers2014-05-161-0/+1
| | | | Change-Id: I0fe951f681415cf40b3e3f606feffd5bd6bd14c8
* Merge "dalvikvm: create the dalvikvm symlink to the primary version"Narayan Kamath2014-05-161-1/+5
|\
| * dalvikvm: create the dalvikvm symlink to the primary versionYongqin Liu2014-05-151-1/+5
| | | | | | | | | | | | | | | | | | use executable_prefer_symlink.mk to create the dalvikvm symlink to the primary version of dalvikvm command. So that the modules call dalvikvm command don't need to change again. Change-Id: Ie5cefc26dc90fb56c35b6b9e4537eda126f61ea1 Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
* | Compatibility layer to transition from UniquePtr to std::unique_ptr.Ian Rogers2014-05-152-2/+5
|/ | | | | | | | | Use ART_WITH_STLPORT (enabled for the target) to cause the use of UniquePtr, for the host switch to std::unique_ptr. For now the type remains called UniquePtr. Make dalvik compile with clang on the host, move its build to C++11. Change-Id: I5ba8d2757904bc089ed62047ea03de3c0853fb12
* Preparation for transition to libc++.Ian Rogers2014-04-162-4/+5
| | | | | | | Move the dependency on libc++ to its own makefile so that we can switch in a single place between libc++ and stlport. Change-Id: Ie61e7d054dcd049e36d5e7298c27d8a4abe6edf7
* Build changes to build multilib testsAndreas Gampe2014-04-011-0/+3
| | | | | | | | | | | | | | | | | | | | | | Test files will be emitted into directories for both first and second target architectures. Going with the naming scheme for binaries, single-architecture and 32b cases have the standard name, and 64b goes into a directory with "64" suffix. In multi-architecture setups, the default concrete test targets are extended with a "32" and "64" suffix, e.g., test-art-target-oat-JniTest64. The suffix-less form is linked to the primary architecture target (usually 64). That means running combined targets, e.g., test-art-target-oat, will only test the primary architecture right now. Fixed target run tests calling the right dalvikvm. Fixed library search path for tests derived from CommonRuntimeTest. Missing in this work-in-progress is correct handling of dex2oat for the secondary architecture. To make it work on 64b, comment out line 101 in build/Android.executable.mk Change-Id: I3d260994e6efe8b73b56c71994053cc9392943a9
* Fix dalvikvm -helpBrian Carlstrom2014-02-251-9/+9
| | | | | Bug: https://code.google.com/p/android/issues/detail?id=62149 Change-Id: I8ab11cc7c171dc4b7eee1d33aa1624aae832a393
* Inflate contended lock word by suspending owner.Ian Rogers2013-10-021-1/+1
| | | | | | | | | | | | | | | | | | | | Bug 6961405. Don't inflate monitors for Notify and NotifyAll. Tidy lock word, handle recursive lock case alongside unlocked case and move assembly out of line (except for ARM quick). Also handle null in out-of-line assembly as the test is quick and the enter/exit code is already a safepoint. To gain ownership of a monitor on behalf of another thread, monitor contenders must not hold the monitor_lock_, so they wait on a condition variable. Reduce size of per mutex contention log. Be consistent in calling thin lock thread ids just thread ids. Fix potential thread death races caused by the use of FindThreadByThreadId, make it invariant that returned threads are either self or suspended now. Code size reduction on ARM boot.oat 0.2%. Old nexus 7 speedup 0.25%, new nexus 7 speedup 1.4%, nexus 10 speedup 2.24%, nexus 4 speedup 2.09% on DeltaBlue. Change-Id: Id52558b914f160d9c8578fdd7fc8199a9598576a
* Add explicit dependency on algorithmKenny Root2013-09-111-0/+1
| | | | Change-Id: I3edb34b3c3a1e89a195db18ad8e6a71bc7b4a570
* Restore build-art minimal buildBrian Carlstrom2013-08-021-0/+2
| | | | Change-Id: I0f4f2e8c6d2505a339cb9a1175d30ed9b229c45d
* Clean up stlport usage.Elliott Hughes2013-07-301-3/+5
| | | | Change-Id: I133cd88f1da37f6f801a9e07a78ae23b671cf4f1
* Fix cpplint whitespace/comments issuesBrian Carlstrom2013-07-261-1/+1
| | | | Change-Id: Iae286862c85fb8fd8901eae1204cd6d271d69496
* Let dalvikvm default based on persist.sys.dalvik.vm.libBrian Carlstrom2013-07-111-1/+1
| | | | Change-Id: I0e2aa9b1227d9665c37366d6d7bdca2b6c009271
* Use libnativehelper to find JNI_CreateJavaVMBrian Carlstrom2013-06-201-18/+4
| | | | Change-Id: If5da43aee75a3ac5337a90b25264ac30129e3933
* Add missing dlcloseBrian Carlstrom2013-06-181-0/+1
| | | | Change-Id: I02c893fc59f0d3bea8a24c4c0fc39e2f34592a34
* Fix Mac build by making dalvikvm definition visibleBrian Carlstrom2013-06-181-0/+2
| | | | Change-Id: Ic8ef59f7bf9a88785b1c5e7fcc11a0942ef096a0
* Move to new art dalvikvmBrian Carlstrom2013-06-172-0/+264
Change-Id: Ib04bc9853b7084965fa0c9899c3e5f5ac42d4ce7