| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Also fixed some lines that were too long, and a few other minor
details.
Change-Id: I6efba5fb6e03eb5d0a300fddb2a75bf8e2f175cb
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
This is on by default now. No need to leave it in the makefiles.
Change-Id: I20eab7426da4bbbf8b70ffc5b9af7b97487d885d
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
The code checks that curr_opt > option_count
but error message says that curr_opt >= option_count.
Change-Id: I19cd077e2383ad9a368e324a1e35cc98170a40a4
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
and dalvikvm64 as needed
Change-Id: Ica949eb73c081f10d28cc2fcfeb8e968eb1d52bb
|
|
|
|
| |
Change-Id: I6cf331141a118d7248fd4eff68cce302dcd7bcca
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: Ia51a4fdfdbae7377130a43c401c2d8d241671d1e
|
|
|
|
|
|
|
| |
Also remove the Android.libcxx.mk and other bits of stlport compatibility
mechanics.
Change-Id: Icdf7188ba3c79cdf5617672c1cfd0a68ae596a61
|
|
|
|
| |
Change-Id: I0fe951f681415cf40b3e3f606feffd5bd6bd14c8
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|/
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Bug: https://code.google.com/p/android/issues/detail?id=62149
Change-Id: I8ab11cc7c171dc4b7eee1d33aa1624aae832a393
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I3edb34b3c3a1e89a195db18ad8e6a71bc7b4a570
|
|
|
|
| |
Change-Id: I0f4f2e8c6d2505a339cb9a1175d30ed9b229c45d
|
|
|
|
| |
Change-Id: I133cd88f1da37f6f801a9e07a78ae23b671cf4f1
|
|
|
|
| |
Change-Id: Iae286862c85fb8fd8901eae1204cd6d271d69496
|
|
|
|
| |
Change-Id: I0e2aa9b1227d9665c37366d6d7bdca2b6c009271
|
|
|
|
| |
Change-Id: If5da43aee75a3ac5337a90b25264ac30129e3933
|
|
|
|
| |
Change-Id: I02c893fc59f0d3bea8a24c4c0fc39e2f34592a34
|
|
|
|
| |
Change-Id: Ic8ef59f7bf9a88785b1c5e7fcc11a0942ef096a0
|
|
Change-Id: Ib04bc9853b7084965fa0c9899c3e5f5ac42d4ce7
|