OSDN Git Service
Vladimir Marko [Thu, 1 Sep 2016 09:50:44 +0000 (09:50 +0000)]
Merge "Avoid decrementing iterator to std::set<>::begin() in RosAlloc."
Vladimir Marko [Wed, 31 Aug 2016 17:56:04 +0000 (18:56 +0100)]
Avoid decrementing iterator to std::set<>::begin() in RosAlloc.
Avoid undefined behavior in the expression
free_page_runs_.erase(it--);
when it == free_page_runs_.begin().
Also avoid the similar expression
free_page_runs_.erase(it++)
even though it's always well-defined.
In practice, the undefined behavior has no observable
side effects with the std::set<> implementation we use.
Therefore a regression test is not feasible.
Test: m test-art-host
Change-Id: I4bdeb6cdd068fe5da416b0e66953d5620ad5e999
Treehugger Robot [Thu, 1 Sep 2016 03:21:22 +0000 (03:21 +0000)]
Merge "Disable dexlayout_test on target."
Treehugger Robot [Thu, 1 Sep 2016 02:43:38 +0000 (02:43 +0000)]
Merge "Revert "Remove auto-generated executable list""
Jeff Hao [Thu, 1 Sep 2016 00:56:13 +0000 (17:56 -0700)]
Disable dexlayout_test on target.
Target doesn't have diff to compare output files.
Bug:
29921113
Test: mm test-art-target-gtest-dexlayout_test
Change-Id: I244c0c74214b780676283de1b309978667ff58e3
Colin Cross [Thu, 1 Sep 2016 01:09:57 +0000 (01:09 +0000)]
Revert "Remove auto-generated executable list"
This reverts commit
6cb44d986fc4a5b12c50f8ae8bafe4d58ae81a36.
Change-Id: Ic9b5413069585d8cda6746307c604ecba8515716
Colin Cross [Wed, 31 Aug 2016 21:16:22 +0000 (21:16 +0000)]
Merge "Remove auto-generated executable list"
Jeff Hao [Wed, 31 Aug 2016 20:09:58 +0000 (20:09 +0000)]
Merge changes Idfd8ac9f,I3dacb78f
* changes:
Finish dexlayout dumping of dex files and added test.
Add dex file intermediate representation
Treehugger Robot [Wed, 31 Aug 2016 19:59:39 +0000 (19:59 +0000)]
Merge "Fix a check failure in the CC background transition."
Mathieu Chartier [Wed, 31 Aug 2016 19:41:03 +0000 (19:41 +0000)]
Merge "Fix unnecessary read barrier for resolved/initialized allocations"
Treehugger Robot [Wed, 31 Aug 2016 19:37:50 +0000 (19:37 +0000)]
Merge "ART: Use libbase"
Vladimir Marko [Wed, 31 Aug 2016 18:30:22 +0000 (18:30 +0000)]
Merge "Remove workarounds for [D]CHECK()s in constexpr functions."
Jeff Hao [Mon, 29 Aug 2016 21:18:26 +0000 (14:18 -0700)]
Finish dexlayout dumping of dex files and added test.
The test runs dexdump and dexlayout over the first core library jar file
and diffs the output, checking that they're the same. More dex files
will be added later for better coverage.
Bug:
29921113
Test: mm test-art-host-gtest-dexlayout_test
(cherry-picked from commit
a378e88db648cf19e771714dd1059cf3d41d4753)
Change-Id: Idfd8ac9f069885b675a4a2f0c70aef2cbef5a9b8
Andreas Gampe [Wed, 31 Aug 2016 17:49:55 +0000 (17:49 +0000)]
Merge "ART: SHARED_REQUIRES to REQUIRES_SHARED"
David Sehr [Sun, 7 Aug 2016 23:01:51 +0000 (16:01 -0700)]
Add dex file intermediate representation
Add an intermediate representation, constructed from the DexFile
utilities, that can be used to optimize the layout and re-emit dex
files.
BUG:
29921113
TEST: TODO: Add dex files to compare output with dexdump
(cherry-picked from commit
af14d9f551e6169c201dc7981d9cfbcb53c7d2c7)
Change-Id: I3dacb78fad5228e43d77f20b110bd40e0e116cdb
Vladimir Marko [Wed, 31 Aug 2016 14:25:25 +0000 (15:25 +0100)]
Remove workarounds for [D]CHECK()s in constexpr functions.
We're now using C++14, so we can use [D]CHECK()s directly
in constexpr functions. Remove the C++11 workaround macros
([D]CHECK_CONSTEXPR) and C++ version checks. Also remove the
'static' qualifier from inline functions in affected files.
Test: m test-art-host
Change-Id: I0f962ad75e4efe9b65325d022cd272b229574222
Vladimir Marko [Wed, 31 Aug 2016 13:17:44 +0000 (13:17 +0000)]
Merge "MIPS32: Fill branch delay slots"
Vladimir Marko [Wed, 31 Aug 2016 13:16:57 +0000 (13:16 +0000)]
Merge "Re-enable boot image string sharpening."
Roland Levillain [Wed, 31 Aug 2016 09:41:23 +0000 (09:41 +0000)]
Merge "Add entrypoint type information."
Hiroshi Yamauchi [Wed, 31 Aug 2016 00:44:41 +0000 (17:44 -0700)]
Fix a check failure in the CC background transition.
If there's a process state update from jank perceptible to jank
in-perceptible and a reverse update right after it, there's a chance
that the heap task daemon sees desired_collector_type ==
kCollectorTypeCC rather than kCollectorTypeCCBackground in
DoPendingCollectorTransition() which leads to a !kUseReadBarrier check
failure in TransitionCollector(). The fix is to move this check after
the early return case where collector_type == collector_type_ in
TransitionCollector() like the CMS/Hspace case.
Bug:
31039431
Bug:
12687968
Test: test-art-host, aosp boot with CC, master boot with CC.
Change-Id: I5fe34cb41eaa01c6d8bf80a185253fde6778e852
Colin Cross [Tue, 30 Aug 2016 23:18:42 +0000 (16:18 -0700)]
Remove auto-generated executable list
Keep a list of the useful executables, and use the -host and -target
phony targets to depend on them for build-art-host and build-art-target.
Change-Id: I8ff4da32a03c219924be7990963e0c3ba90ef316
Andreas Gampe [Tue, 30 Aug 2016 23:38:47 +0000 (16:38 -0700)]
ART: SHARED_REQUIRES to REQUIRES_SHARED
This coincides with the actual attribute name and upstream usage.
Preparation for deferring to libbase.
Test: m
Test: m test-art-host
Change-Id: Ia8986b5dfd926ba772bf00b0a35eaf83596d8518
Alexey Frunze [Sat, 30 Jul 2016 05:04:46 +0000 (22:04 -0700)]
MIPS32: Fill branch delay slots
Test: booted MIPS32 in QEMU
Test: test-art-host-gtest
Test: test-art-target-gtest
Test: test-art-target-run-test-optimizing on CI20
Change-Id: I727e80753395ab99fff004cb5d2e0a06409150d7
Mathieu Chartier [Tue, 30 Aug 2016 22:06:54 +0000 (15:06 -0700)]
Fix unnecessary read barrier for resolved/initialized allocations
The caller is responsible for the read barrier for these entrypoints.
No measured change in benchmarks, tested MemAllocTest.
Bug:
12687968
Test: test-art-host CC baker, N6P booting with CC
Change-Id: If6b00fa2c31ff51b943dbbe6caea2ef0a3fa1ae0
Vladimir Marko [Tue, 30 Aug 2016 16:36:24 +0000 (17:36 +0100)]
Re-enable boot image string sharpening.
Test: Run ART test suite with ART_TEST_PIC_IMAGE=true on host and Nexus 9.
Bug:
20323084
Change-Id: Ifc10e4b6f5078f599711bd84be0cec53494af3af
Treehugger Robot [Tue, 30 Aug 2016 17:15:26 +0000 (17:15 +0000)]
Merge "Save environment snapshot and use at fork/exec"
David Sehr [Wed, 17 Aug 2016 02:22:57 +0000 (19:22 -0700)]
Save environment snapshot and use at fork/exec
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
Chih-hung Hsieh [Tue, 30 Aug 2016 16:20:55 +0000 (16:20 +0000)]
Merge "Fix clang-tidy warnings in art."
Neil Fuller [Tue, 30 Aug 2016 14:26:34 +0000 (14:26 +0000)]
Merge "Track addition of Class.toGenericString() method"
Neil Fuller [Tue, 23 Aug 2016 13:32:21 +0000 (14:32 +0100)]
Track addition of Class.toGenericString() method
Increasing the vtable size for class by one.
Bug:
28666126
Change-Id: I89019d5f1b65725180b409decbd5b2570e24f5fe
Test: cts ran for libcore (libcore, harmony_java_lang, org) and host art tests.
Mathieu Chartier [Tue, 30 Aug 2016 00:14:53 +0000 (00:14 +0000)]
Merge "Re-enable evacuation of recently allocated regions"
Andreas Gampe [Mon, 29 Aug 2016 16:53:48 +0000 (09:53 -0700)]
ART: Use libbase
Move to using standard macros from libbase. Required so that we
can use libbase in libart-disassembler to disconnect from libart.
Bug:
15436106
Test: m
Test: m ART_BUILD_HOST_STATIC=true
Test: m test-art-host
Change-Id: I1f1723d875d20689d73835f6ab78c27a8efcf27a
Treehugger Robot [Mon, 29 Aug 2016 19:51:04 +0000 (19:51 +0000)]
Merge "ART: Fix libnativebridgetest dependencies"
Treehugger Robot [Mon, 29 Aug 2016 18:27:39 +0000 (18:27 +0000)]
Merge "ART: Fix symbols"
Andreas Gampe [Mon, 29 Aug 2016 18:18:37 +0000 (11:18 -0700)]
ART: Fix libnativebridgetest dependencies
Fix typo.
Test: m test-art-host
Change-Id: I1a272a8aa2a114c108cc306164df78f568be20d7
Mathieu Chartier [Sat, 27 Aug 2016 20:27:06 +0000 (13:27 -0700)]
Re-enable evacuation of recently allocated regions
Reduces RAM since these regions usually have a low live % per
the generational hypothesis. Since these get collected earlier it
means the average heap size goes down.
60s after booting N6P CC before (average of 8 samples):
Dalvik .Heap PSS system wide: 28711K
After:
Dalvik .Heap PSS system wide: 18757.5K
EAAC: 1305 -> 1274 (30 samples)
Test: test-art-host CC baker and debug phone bootin
Bug:
12687968
Bug:
30124683
Change-Id: I30465be4525855ee3b78e6fafa5577a78d365bf4
Andreas Gampe [Mon, 29 Aug 2016 15:51:15 +0000 (08:51 -0700)]
ART: Fix symbols
Follow-up to
1f7f3bd26ecad4366c904b7e7d05587fc7a83ea2
Test: m test-art-host
Test: readelf -s $OUT/system/lib/libart.so
Change-Id: I70b25bf65e09eb984d0f533fa19638ffbec12b3c
Treehugger Robot [Mon, 29 Aug 2016 09:46:02 +0000 (09:46 +0000)]
Merge "Revert "Blacklist failing libcore tests.""
Narayan Kamath [Wed, 24 Aug 2016 08:16:23 +0000 (08:16 +0000)]
Revert "Blacklist failing libcore tests."
This reverts commit
fb7658b728690592938dfedc57231ade4e7bd870.
Fixed by commit
856bdfb2bd47e91950182d0c1427944e8e2ab771
Change-Id: I5977cc63f867c51c62de61dbed64cdb444d0dfbf
bug:
30917411
test: run cts -c org.apache.harmony.tests.java.math.BigIntegerTest
Mathieu Chartier [Sat, 27 Aug 2016 20:19:40 +0000 (20:19 +0000)]
Merge "WIP: ART: Clean p x86_64 string dex cache asm."
Mathieu Chartier [Sat, 27 Aug 2016 20:19:10 +0000 (20:19 +0000)]
Merge "ART: Add STRING_DEX_CACHE_ELEMENT_SIZE"
Chih-Hung Hsieh [Fri, 26 Aug 2016 22:06:11 +0000 (15:06 -0700)]
Fix clang-tidy warnings in art.
* Add parentheses around macro parameters, or
use NOLINT to suppress warning.
Bug:
28705665
Test: build with WITH_TIDY=1
Change-Id: Ifc922c2e66215772042bac372754ea70074f0053
Pirama Arumuga Nainar [Fri, 26 Aug 2016 22:38:00 +0000 (22:38 +0000)]
Merge "Ignore -Wunreachable-code for ClassTable::UpdateClass"
Pirama Arumuga Nainar [Fri, 26 Aug 2016 06:42:50 +0000 (23:42 -0700)]
Ignore -Wunreachable-code for ClassTable::UpdateClass
Bug: http://b/
30421084
Bug: http://b/
31104323
Clang triggers -Wunreachable-code in runtime/class_table.cc. Disable
the one instance of this warning until we can investigate (and fix) the
Clang regression.
Change-Id: Ib292009c6d639f540d6b31e793d8aa89dd861b9e
Test: Tested build, boot and common usage for several devices images in
AOSP and internal branch.
Treehugger Robot [Fri, 26 Aug 2016 20:22:44 +0000 (20:22 +0000)]
Merge "Fix a race condition on GC timing logger data."
Hiroshi Yamauchi [Fri, 26 Aug 2016 17:39:29 +0000 (10:39 -0700)]
Fix a race condition on GC timing logger data.
The GC timing logger data is thread local to the GC thread and
shouldn't be used by a mutator. The original intention was to have a
systrace scope.
This should fix the 004-JniTest failures.
Bug:
30980189
Bug:
29517059
Bug:
12687968
Test: test-art-host
Change-Id: Ibc8cfbfdd64d85ff65bf220d3022fc8fdf1064f2
Treehugger Robot [Fri, 26 Aug 2016 18:32:23 +0000 (18:32 +0000)]
Merge "Fix ODR violation"
Colin Cross [Fri, 26 Aug 2016 16:59:03 +0000 (09:59 -0700)]
Fix ODR violation
Switch everything to libziparchive instead of libziparchive-host to
prevent ODR violations.
Change-Id: Iadbe6bd22d5560621a5119d0bcc5bb829f476f6f
Treehugger Robot [Fri, 26 Aug 2016 16:19:59 +0000 (16:19 +0000)]
Merge "ARM/MIPS: Avoid dead dex cache arrays base for intrinsics."
Serban Constantinescu [Wed, 9 Mar 2016 12:02:11 +0000 (12:02 +0000)]
Add entrypoint type information.
For some of the runtime calls we do not need to generate stack maps. For
example, the Optimizing compiler implements HRem Floating Point by
calling libm's fmod().
Since this is a leaf method that does not suspend the execution, we do
not need to treat the fmod() invoke as a possible suspend point and thus
we do not need to create a stack map for the particular PC.
For now conservatively only tag the maths runtime entrypoints with this
information.
Test: m test-art-target
Change-Id: Iab73dcf8047d2edaa7a570113ee792e46ccbc464
Treehugger Robot [Fri, 26 Aug 2016 15:03:21 +0000 (15:03 +0000)]
Merge "Tracking java.lang.reflect.Executable changes"
Roland Levillain [Fri, 26 Aug 2016 14:56:39 +0000 (14:56 +0000)]
Merge "ARM: Make runtime invokes use InvokeRuntime()."
Vladimir Marko [Fri, 26 Aug 2016 12:13:33 +0000 (13:13 +0100)]
ARM/MIPS: Avoid dead dex cache arrays base for intrinsics.
Test: Run ART test suite on host and Nexus 6.
Change-Id: Ie2ad70f1e3f125eae5dad53a6384d405e0311505
Neil Fuller [Fri, 12 Aug 2016 08:37:02 +0000 (09:37 +0100)]
Tracking java.lang.reflect.Executable changes
Added a method to Class: total vtable entries increases
by one.
Handling knock-ons of introducing Executable into the
class hierarchy above AbstractMethod.
Rearranging java_lang_reflect_*.cc code to track libcore
changes that reduce duplication between Constructor / Method
/ Executable and AbstractMethod and track the OpenJDK 8
more closely.
Bug:
28666126
Change-Id: I6b5c476a14b8ea25556c35448431de744519b6c2
Serban Constantinescu [Wed, 22 Jun 2016 16:04:45 +0000 (17:04 +0100)]
ARM: Make runtime invokes use InvokeRuntime().
This patch refactors all of the ARM Optimizing compiler runtime
invokes to use InvokeRuntime(). It also fixes some misuses of
RecordPcInfo().
Change-Id: I722bc2ba95e42ff69ca12c3edc09326e0de2881f
Roland Levillain [Fri, 26 Aug 2016 10:22:29 +0000 (10:22 +0000)]
Merge "Address missing variable definition to fix the build."
Roland Levillain [Fri, 26 Aug 2016 10:17:44 +0000 (11:17 +0100)]
Address missing variable definition to fix the build.
It was removed by another CL merged just before the
offending CL.
Test: m build-art-host
Bug:
29516974
Bug:
29506760
Bug:
12687968
Change-Id: I4457b6dafd48731eef5c8cc370d9107764d6f55c
Roland Levillain [Fri, 26 Aug 2016 09:51:01 +0000 (09:51 +0000)]
Merge "Re-enable the ArraySet fast path with Baker read barriers."
Treehugger Robot [Fri, 26 Aug 2016 02:40:55 +0000 (02:40 +0000)]
Merge "Fix mac builds"
Treehugger Robot [Fri, 26 Aug 2016 02:14:53 +0000 (02:14 +0000)]
Merge "Bisection bug search tool"
Treehugger Robot [Fri, 26 Aug 2016 02:01:06 +0000 (02:01 +0000)]
Merge "Background full compaction for CC."
Aart Bik [Fri, 26 Aug 2016 00:48:38 +0000 (00:48 +0000)]
Merge "MIPS64: Improve non-trivial 64-bit constant loading."
Hiroshi Yamauchi [Wed, 24 Aug 2016 20:53:12 +0000 (13:53 -0700)]
Background full compaction for CC.
Invoke a full compaction with the CC collector when an app goes to the
background like the HSpace compaction for the CMS collector.
Bug:
31039431
Bug:
12687968
Test: test-art, Ritz EAAC, N9 libartd.so device boot with CC
Change-Id: I119aa26c1d3c167b12983fffcb16164929bf8f68
Colin Cross [Fri, 26 Aug 2016 00:33:47 +0000 (00:33 +0000)]
Merge "Fix arm32 build"
Colin Cross [Fri, 26 Aug 2016 00:11:43 +0000 (00:11 +0000)]
Merge "Remove libLLVM* from art"
Colin Cross [Thu, 25 Aug 2016 23:42:09 +0000 (16:42 -0700)]
Fix mac builds
Add libz-host back as a dependency to fix darwin builds.
Change-Id: I1abc9e2f336e029592a5fcc27a79f94ad235547e
Colin Cross [Thu, 25 Aug 2016 23:22:04 +0000 (16:22 -0700)]
Fix arm32 build
libvixl-arm is required for arm codegen targets.
Change-Id: I6e8dab7c406bebbb8dfd9bebdb8dbb7ce21c79b3
Wojciech Staszkiewicz [Thu, 11 Aug 2016 21:04:20 +0000 (14:04 -0700)]
Bisection bug search tool
Bisection Bug Search is a tool for finding compiler optimization
bugs. It accepts a program which exposes a bug by producing incorrect
output and expected correct output for the program. The tool will
then attempt to narrow down the issue to a single method and
optimization pass.
Given methods in order M0..Mn finds smallest i such that compiling
Mi and interpreting all other methods produces incorrect output.
Then, given ordered optimization passes P0..Pl, finds smallest j
such that compiling Mi with passes P0..Pj-1 produces expected output
and compiling Mi with passes P0..Pj produces incorrect output.
Prints Mi and Pj.
Test: unit tests ./art/tools/bisection-search/tests.py
Manual testing:
./bisection-search.py -cp classes.dex --expected-output output Test
Change-Id: Ic40a82184975d42c9a403f697995e5c9654b8e52
Colin Cross [Thu, 25 Aug 2016 22:29:25 +0000 (15:29 -0700)]
Remove libLLVM* from art
The functionality in libbacktrace that depended on libLLVM* has been
split out into libbacktrace_offline. Remove the unnecessary
dependencies from dex2oats.
Test: m -j dex2oats ART_BUILD_HOST_STATIC=true
Change-Id: I79b99c4d420caefbdf6aa81541120ddedd2149c5
Treehugger Robot [Thu, 25 Aug 2016 22:18:01 +0000 (22:18 +0000)]
Merge "Convert libart and dependencies to Android.bp"
Christina Wadsworth [Thu, 25 Aug 2016 20:38:49 +0000 (13:38 -0700)]
WIP: ART: Clean p x86_64 string dex cache asm.
Change-Id: Ic3a665f6b702ad70f8101df2f96e83c3c8903a8e
Test: test-art-host
Christina Wadsworth [Thu, 25 Aug 2016 21:45:51 +0000 (14:45 -0700)]
ART: Add STRING_DEX_CACHE_ELEMENT_SIZE
Change-Id: Ib484d959bd7eac3793ce508e1d608f2c7402927b
Colin Cross [Wed, 27 Jul 2016 17:12:38 +0000 (10:12 -0700)]
Convert libart and dependencies to Android.bp
Re-landing I73839046a5a53eb34cd28eea53149911c568e411, with fixes for mac
build (only apply -Wl,--keep-unique to device x86 builds), typo in
checking for ART_HEAP_POISONING environment variable, and removing
-Wframe-larger-than for debug builds.
Test: mma -j, m -j test-art-host
Change-Id: If88492174cbcb0d9a8758176c006163a29eaaa63
Vladimir Marko [Thu, 25 Aug 2016 19:52:01 +0000 (19:52 +0000)]
Merge "ArraySet without type check does not need read barrier."
Treehugger Robot [Thu, 25 Aug 2016 18:43:08 +0000 (18:43 +0000)]
Merge "Fix VIXL assembler test for heap-poisoning configurations."
Vladimir Marko [Thu, 25 Aug 2016 17:17:56 +0000 (18:17 +0100)]
Fix VIXL assembler test for heap-poisoning configurations.
And fix a typo in test name.
Test: ART_HEAP_POISONING=true m test-art-host-gtest-assembler_thumb_test
Change-Id: Ibc3750676aa7a7b23c93ee0babb8d9c207cb762a
Roland Levillain [Thu, 25 Aug 2016 16:54:43 +0000 (16:54 +0000)]
Merge "ARM64: Make runtime invokes use InvokeRuntime()."
Roland Levillain [Thu, 25 Aug 2016 16:27:56 +0000 (17:27 +0100)]
Re-enable the ArraySet fast path with Baker read barriers.
Benchmarks (ARM64) score variations on Nexus 5X with CPU
cores clamped at 960000 Hz (aosp_bullhead-userdebug build):
- Ritzperf - average (lower is better): -0.95% (virtually unchanged)
- CaffeineMark - average (higher is better): +2.50% (slightly better)
- DeltaBlue (lower is better): -0.55% (virtually unchanged)
- Richards - average (lower is better): +0.67% (virtually unchanged)
- SciMark2 - average (higher is better): -0.10% (virtually unchanged)
Details about Ritzperf benchmarks with meaningful variations
(lower is better):
- GenericCalcActions.MemAllocTest: -5.05% (better)
Details about CaffeineMark benchmarks with meaningful variations
(higher is better):
- Method: +16.88% (better)
Details about Richards benchmarks with meaningful variations
(lower is better):
- deutsch_acc_interface: +9.86% (worse)
Boot image code size variation on Nexus 5X
(aosp_bullhead-userdebug build):
- total ARM64 framework Oat files size change:
105933472 bytes ->
106027680 bytes (+0.09%)
- total ARM framework Oat files size change:
89157936 bytes ->
89239856 bytes (+0.09%)
Test: ART host and target (ARM, ARM64) tests.
Bug:
29516974
Bug:
29506760
Bug:
12687968
Change-Id: Ib9e9709712295e17804b8888ac10e3d518ff2e70
Vladimir Marko [Thu, 25 Aug 2016 15:42:26 +0000 (15:42 +0000)]
Merge "ARM64: Use the zero register for field and array set operations."
Serban Constantinescu [Thu, 18 Feb 2016 16:06:31 +0000 (16:06 +0000)]
ARM64: Make runtime invokes use InvokeRuntime().
This patch refactors all of the ARM64 Optimizing compiler runtime
invokes to use InvokeRuntime(). It also fixes some misuses of
RecordPcInfo().
Test: m test-art-target + Nexus 6 boot test
Change-Id: Ia3e477c42fb14c62b81e50daa5811185071bafa6
Treehugger Robot [Thu, 25 Aug 2016 15:12:37 +0000 (15:12 +0000)]
Merge "ARM: VIXL32: Update the trampoline compiler."
Treehugger Robot [Thu, 25 Aug 2016 15:12:19 +0000 (15:12 +0000)]
Merge "ARM: VIXL32: Switch JNI compiler to use VIXL Assembler."
Treehugger Robot [Thu, 25 Aug 2016 15:11:52 +0000 (15:11 +0000)]
Merge "ARM: VIXL32: Implement VIXL-based assembler."
Vladimir Marko [Thu, 25 Aug 2016 14:20:47 +0000 (15:20 +0100)]
ArraySet without type check does not need read barrier.
Test: Run ART test suite with ART_USE_READ_BARRIER=true on host and Nexus 9.
Bug:
12687968
Change-Id: Ie04a34b2149f4fc6fe995f3e43e76986a3f6330f
Alexandre Rames [Tue, 23 Aug 2016 17:33:36 +0000 (18:33 +0100)]
ARM64: Use the zero register for field and array set operations.
Test: Run ART test suite on host and Nexus 9.
Change-Id: I4e2a81570ecc57530249672df704eb0bb780acce
Roland Levillain [Thu, 25 Aug 2016 12:19:36 +0000 (12:19 +0000)]
Merge "ARM: Purge Arm32Assembler."
Vladimir Marko [Thu, 25 Aug 2016 11:18:23 +0000 (11:18 +0000)]
Merge "MIPS32: Refactor implicit null checks in array/field get/set."
Nicolas Geoffray [Thu, 25 Aug 2016 09:14:35 +0000 (09:14 +0000)]
Merge "Remove duplicate entries with libcore expectation files."
Nicolas Geoffray [Thu, 25 Aug 2016 09:11:40 +0000 (10:11 +0100)]
Remove duplicate entries with libcore expectation files.
Needed after N->AOSP drop.
test:art/tools/run-libcore-tests.sh
Change-Id: Icd7e20e8a6cff42aecf316e2a356d19bf9e5ee39
Treehugger Robot [Thu, 25 Aug 2016 05:51:36 +0000 (05:51 +0000)]
Merge "Revert "Revert "Fix debugger calling new String()."""
Jeff Hao [Thu, 25 Aug 2016 03:52:40 +0000 (03:52 +0000)]
Revert "Revert "Fix debugger calling new String().""
Bug:
30951794
Test: mm -j24 run-jdwp-tests-host
This reverts commit
6f48d4c72e7b4011a6d9652734bd1cb0c389790b.
This also includes the reversion of commit
528954f55e3173b02df2822c1fc680873d6a91c8.
Change-Id: If0b2ae39cb2a9db80b567bb8d5761d504433632d
Colin Cross [Thu, 25 Aug 2016 01:05:27 +0000 (01:05 +0000)]
Merge "Revert "Convert libart and dependencies to Android.bp""
Colin Cross [Thu, 25 Aug 2016 01:03:42 +0000 (01:03 +0000)]
Revert "Convert libart and dependencies to Android.bp"
This reverts commit
4ea3a22f0ccfb0f746c63c274b2655545e759e1f.
Change-Id: I3ac4397b4d6be038e5b863b7a24231c0736e84f3
Treehugger Robot [Thu, 25 Aug 2016 00:31:20 +0000 (00:31 +0000)]
Merge "Convert libart and dependencies to Android.bp"
Alexey Frunze [Sat, 20 Aug 2016 08:55:47 +0000 (01:55 -0700)]
MIPS32: Refactor implicit null checks in array/field get/set.
Rationale: on MIPS32 64-bit loads and stores may be performed
as pairs of 32-bit loads/stores. Implicit null checks must be
associated with the first 32-bit load/store in a pair and not
the last. This change ensures proper association of said checks
(a few were done after the last 32-bit load/store in a pair)
and lays ground for further improvements in array/field get/set.
Test: booted MIPS32 in QEMU
Test: test-art-host-gtest
Test: test-art-target-run-test-optimizing in QEMU
Change-Id: I3674947c00bb17930790a7a47c9b7aadc0c030b8
Colin Cross [Wed, 27 Jul 2016 17:12:38 +0000 (10:12 -0700)]
Convert libart and dependencies to Android.bp
Test: mma -j, m -j test-art-host
Change-Id: I73839046a5a53eb34cd28eea53149911c568e411
Treehugger Robot [Wed, 24 Aug 2016 21:53:50 +0000 (21:53 +0000)]
Merge "Avoid CAS for marking region space bitmap for baker"
Chris Larsen [Fri, 13 May 2016 23:11:47 +0000 (16:11 -0700)]
MIPS64: Improve non-trivial 64-bit constant loading.
- Add special case where the upper 32 bits of the constant are equal to
the lower 32 bits of the constant. Use the "dinsu" instruction to
replicate the bottom 32 bits into the top 32 bits.
- Test output of LoadConst32()/LoadConst64() against various test
constants.
o Make the implementation of LoadConst64() into a template.
o Using the template code for LoadConst64() implement test
cases which simulate the computation of the value which the
generated code sequence is actually supposed to load.
o Add conditionally compiled code to verify that all of the
various data paths through the LoadConst64() function
actually get exercised.
Test: Booted MIPS64 in QEMU, and ran assembler tests.
Change-Id: Ie1ec050e65c666168a9ea582bae9fda97e4cf36a
Mathieu Chartier [Tue, 23 Aug 2016 20:27:53 +0000 (13:27 -0700)]
Avoid CAS for marking region space bitmap for baker
Only have the GC thread mark it. This occurs when popping from the
mark stack. The race where an object may be pushed to the mark
stack twice is handled by not scanning if it is already marked.
Also avoid checking is_active when marking from the GC.
EAAC: 1263 -> 1253 (average of 30 runs)
GC time: 7.21s -> 6.83s (average of 18 runs)
Timings on 960 mhz N6P.
Bug:
12687968
Change-Id: I47e98c3e258829d2ba0babd803a219c82a36168c
Test: test-art-host, debug N6P booting with baker CC.
Andreas Gampe [Wed, 24 Aug 2016 17:21:18 +0000 (17:21 +0000)]
Merge "ART: Remove vestiges of GCC"
am:
8aea8dbca6
Change-Id: I6bf7a971949ccbc0aa2d008a1264c7f3c880b9fb