OSDN Git Service
Roland Levillain [Thu, 16 Jul 2015 10:26:13 +0000 (10:26 +0000)]
am
5fe0050e: am
00b5c617: Merge "Use art::MemoryRegion::{Load,Store}Bits more in art::CodeInfo."
* commit '
5fe0050ef89e746d0248c5c9a6143a38cd472de5':
Use art::MemoryRegion::{Load,Store}Bits more in art::CodeInfo.
Roland Levillain [Thu, 16 Jul 2015 10:10:29 +0000 (10:10 +0000)]
am
00b5c617: Merge "Use art::MemoryRegion::{Load,Store}Bits more in art::CodeInfo."
* commit '
00b5c6175210e3372920086818a9d2aa15216eda':
Use art::MemoryRegion::{Load,Store}Bits more in art::CodeInfo.
Roland Levillain [Thu, 16 Jul 2015 08:56:28 +0000 (08:56 +0000)]
Merge "Use art::MemoryRegion::{Load,Store}Bits more in art::CodeInfo."
Mathieu Chartier [Thu, 16 Jul 2015 03:23:37 +0000 (03:23 +0000)]
am
8dfcb627: am
a14e2e78: Merge "Move MarkObject to mark_sweep.cc"
* commit '
8dfcb627f32064210480f327333812ece0ca51ad':
Move MarkObject to mark_sweep.cc
Evgenii Stepanov [Thu, 16 Jul 2015 03:23:36 +0000 (03:23 +0000)]
am
2ecfacf5: am
2e7ccf9a: Merge "Enable ASan annotations in ART based on macro setting."
* commit '
2ecfacf547267a2549952c7ebcdc556eafcf6bae':
Enable ASan annotations in ART based on macro setting.
Mathieu Chartier [Thu, 16 Jul 2015 03:09:40 +0000 (03:09 +0000)]
am
a14e2e78: Merge "Move MarkObject to mark_sweep.cc"
* commit '
a14e2e780230b0c2f8e94445a4c8d21f19d447cf':
Move MarkObject to mark_sweep.cc
Evgenii Stepanov [Thu, 16 Jul 2015 03:09:38 +0000 (03:09 +0000)]
am
2e7ccf9a: Merge "Enable ASan annotations in ART based on macro setting."
* commit '
2e7ccf9aeb7212c96e2081b66f85b67856b8825a':
Enable ASan annotations in ART based on macro setting.
Mathieu Chartier [Thu, 16 Jul 2015 03:01:24 +0000 (03:01 +0000)]
Merge "Move MarkObject to mark_sweep.cc"
Mathieu Chartier [Thu, 16 Jul 2015 02:58:45 +0000 (19:58 -0700)]
Move MarkObject to mark_sweep.cc
Maybe fixes mac build.
Change-Id: I7c018922be8e159001498d30682435643bed1dfd
Evgenii Stepanov [Thu, 16 Jul 2015 02:54:54 +0000 (02:54 +0000)]
Merge "Enable ASan annotations in ART based on macro setting."
Evgenii Stepanov [Thu, 16 Jul 2015 00:40:14 +0000 (17:40 -0700)]
Enable ASan annotations in ART based on macro setting.
This is a quick hack to remove ASan annotations from SANITIZE_TARGET
build, because they are breaking everything - it looks like we forget
to clean redzones from a page before releasing it to the system, and
some unrelated code runs into them later.
We will add some way to control this from the build system later,
or just fix the underlying issue and re-enable by default.
Bug:
21785137
Change-Id: If79e2455e246dc39355f2758323b249ac20b6144
Mathieu Chartier [Wed, 15 Jul 2015 23:21:44 +0000 (23:21 +0000)]
am
d8c534a7: am
34ac23dc: Merge "Address some GC comments"
* commit '
d8c534a75b53b371d59a86c8c4c323716e9c9cbe':
Address some GC comments
Mathieu Chartier [Wed, 15 Jul 2015 23:03:41 +0000 (23:03 +0000)]
am
34ac23dc: Merge "Address some GC comments"
* commit '
34ac23dc965bf6ca24dd2e9bb115f66ff1fc191e':
Address some GC comments
Mathieu Chartier [Wed, 15 Jul 2015 22:51:55 +0000 (22:51 +0000)]
Merge "Address some GC comments"
Mathieu Chartier [Wed, 15 Jul 2015 21:24:07 +0000 (14:24 -0700)]
Address some GC comments
Follow-up from:
https://android-review.googlesource.com/#/c/159650/
Change-Id: Id14f29b4ce5b70b63fcb3e74f8503ae60a3ae444
Mathieu Chartier [Wed, 15 Jul 2015 18:19:04 +0000 (18:19 +0000)]
am
a390a9f4: am
e5abf070: Merge "Use SuspendAllInternal for FlipThreadRoots"
* commit '
a390a9f4425048ae5d1b85f0eeb621abca0a35be':
Use SuspendAllInternal for FlipThreadRoots
Mathieu Chartier [Wed, 15 Jul 2015 18:04:00 +0000 (18:04 +0000)]
am
e5abf070: Merge "Use SuspendAllInternal for FlipThreadRoots"
* commit '
e5abf0702555f9f4284a96e923f5c331561974e4':
Use SuspendAllInternal for FlipThreadRoots
Mathieu Chartier [Wed, 15 Jul 2015 17:52:46 +0000 (17:52 +0000)]
Merge "Use SuspendAllInternal for FlipThreadRoots"
Mathieu Chartier [Wed, 15 Jul 2015 17:24:16 +0000 (10:24 -0700)]
Use SuspendAllInternal for FlipThreadRoots
Fix FlipThreadRoots to wait until all the threads are suspended by
using SuspendAllInternal. Since running threads no longer hold the
mutator lock as shared held, doing an exclusive lock will not block
if the threads are not suspended. Also implemented MarkHeapReference
which is used to preserve soft references.
Fixes CC tests.
Change-Id: I4b059238f4249cf297e21ae918becd029fe26527
Vladimir Marko [Wed, 15 Jul 2015 17:36:10 +0000 (17:36 +0000)]
am
8282e05e: am
12cfc600: Merge "Clean up after verifier changes wrt. conflict/undefined reg."
* commit '
8282e05e45e828df3f2d760a7cfbc3c352f5f5da':
Clean up after verifier changes wrt. conflict/undefined reg.
Vladimir Marko [Wed, 15 Jul 2015 17:19:13 +0000 (17:19 +0000)]
am
12cfc600: Merge "Clean up after verifier changes wrt. conflict/undefined reg."
* commit '
12cfc600d21ebf97373be59f1bd538b68687b5bf':
Clean up after verifier changes wrt. conflict/undefined reg.
Vladimir Marko [Wed, 15 Jul 2015 17:06:39 +0000 (17:06 +0000)]
Merge "Clean up after verifier changes wrt. conflict/undefined reg."
Vladimir Marko [Wed, 15 Jul 2015 09:55:17 +0000 (10:55 +0100)]
Clean up after verifier changes wrt. conflict/undefined reg.
Remove unused path in RegType::Merge() and compare undefined
type as pointers. Reduce the number of edges to merge in
b_22331663.smali to just those that we really want to test.
Bug:
22331663
Change-Id: I16b83c4c97fd40be9dd246ef13ccda6e924eef60
Roland Levillain [Wed, 15 Jul 2015 13:30:26 +0000 (14:30 +0100)]
Use art::MemoryRegion::{Load,Store}Bits more in art::CodeInfo.
Change-Id: Id50fc029e83bf2c16bd991ea82acd3b355c29127
David Brazdil [Wed, 15 Jul 2015 16:26:12 +0000 (16:26 +0000)]
am
be58ecaa: am
5c03f369: Merge "ART: Build SSA form when try/catch is present"
* commit '
be58ecaa146379ca2ff5fd54a3a9dbd626b89741':
ART: Build SSA form when try/catch is present
Nicolas Geoffray [Wed, 15 Jul 2015 16:25:56 +0000 (16:25 +0000)]
am
e152c8a0: am
045da88b: Merge "Revert "Revert "Revert "Revert "Make dex2dex return a CompiledMethod after quickening."""""
* commit '
e152c8a00bf168eac63e768e56def15fecd79f48':
Revert "Revert "Revert "Revert "Make dex2dex return a CompiledMethod after quickening.""""
Vladimir Marko [Wed, 15 Jul 2015 16:25:55 +0000 (16:25 +0000)]
am
0513cf81: am
172c8f71: Merge "Avoid unexpected conversions to ArrayRef."
* commit '
0513cf810d9d9644b5e68abadf504100ce549421':
Avoid unexpected conversions to ArrayRef.
David Brazdil [Wed, 15 Jul 2015 15:36:31 +0000 (15:36 +0000)]
am
5c03f369: Merge "ART: Build SSA form when try/catch is present"
* commit '
5c03f3698f5e2e0d762e2e15ec00310b6cdab4fe':
ART: Build SSA form when try/catch is present
David Brazdil [Wed, 15 Jul 2015 15:22:01 +0000 (15:22 +0000)]
Merge "ART: Build SSA form when try/catch is present"
David Brazdil [Mon, 6 Jul 2015 10:48:53 +0000 (11:48 +0100)]
ART: Build SSA form when try/catch is present
This patch implements support for try/catch in the SsaBuilder.
Values of locals are propagated from throwing sites inside try
blocks to their respective catch blocks and phis ("catch phis")
are created when necessary.
Change-Id: I0736565c2c4ff3f9f0924b6e3a785a50023f875a
Nicolas Geoffray [Wed, 15 Jul 2015 10:17:40 +0000 (10:17 +0000)]
am
045da88b: Merge "Revert "Revert "Revert "Revert "Make dex2dex return a CompiledMethod after quickening."""""
* commit '
045da88bd0230ddf48aaf037b3d6c16fbb97ba65':
Revert "Revert "Revert "Revert "Make dex2dex return a CompiledMethod after quickening.""""
Vladimir Marko [Wed, 15 Jul 2015 10:17:38 +0000 (10:17 +0000)]
am
172c8f71: Merge "Avoid unexpected conversions to ArrayRef."
* commit '
172c8f71a866931728c389a46ae9e69bc4c04a13':
Avoid unexpected conversions to ArrayRef.
Nicolas Geoffray [Wed, 15 Jul 2015 09:47:00 +0000 (09:47 +0000)]
Merge "Revert "Revert "Revert "Revert "Make dex2dex return a CompiledMethod after quickening."""""
Nicolas Geoffray [Tue, 14 Jul 2015 10:37:54 +0000 (11:37 +0100)]
Revert "Revert "Revert "Revert "Make dex2dex return a CompiledMethod after quickening.""""
This reverts commit
ed6195a514e3253576af27ea9ba13038509d29ac.
Change-Id: Icb58854301e8982147cdebe3edf2e0d9e0a63a56
Vladimir Marko [Wed, 15 Jul 2015 08:59:43 +0000 (08:59 +0000)]
Merge "Avoid unexpected conversions to ArrayRef."
Andreas Gampe [Wed, 15 Jul 2015 06:16:30 +0000 (06:16 +0000)]
am
ac8c5b21: am
76ca8206: Merge "ART: Fix mac build"
* commit '
ac8c5b21ba938c61c40f963f05d9d71dba9e56df':
ART: Fix mac build
Andreas Gampe [Wed, 15 Jul 2015 06:02:41 +0000 (06:02 +0000)]
am
76ca8206: Merge "ART: Fix mac build"
* commit '
76ca82063ac62488fefb0b12d40026f4ebb2e198':
ART: Fix mac build
Andreas Gampe [Wed, 15 Jul 2015 05:53:03 +0000 (05:53 +0000)]
Merge "ART: Fix mac build"
Mathieu Chartier [Wed, 15 Jul 2015 01:29:48 +0000 (01:29 +0000)]
am
126643e7: am
19315c12: Merge "Clean up GC callbacks to be virtual methods"
* commit '
126643e7f2d7f104067abf0d3e120e163775a60b':
Clean up GC callbacks to be virtual methods
Mathieu Chartier [Wed, 15 Jul 2015 01:13:26 +0000 (01:13 +0000)]
am
19315c12: Merge "Clean up GC callbacks to be virtual methods"
* commit '
19315c121047edcedf2828fea50f3208d799eca2':
Clean up GC callbacks to be virtual methods
Andreas Gampe [Wed, 15 Jul 2015 00:57:43 +0000 (17:57 -0700)]
ART: Fix mac build
Fix Clang assembler bugs introduced in commit
3031c8da0c5009183f770b005c245f9bf2a4d01b.
Change-Id: I460c7c1b8f4380244925d248b90c88239540527a
Mathieu Chartier [Wed, 15 Jul 2015 01:02:08 +0000 (01:02 +0000)]
Merge "Clean up GC callbacks to be virtual methods"
Mathieu Chartier [Wed, 15 Jul 2015 00:45:32 +0000 (00:45 +0000)]
am
65f5d929: am
70451aea: Merge "Change phony targets to set dalvik.vm.usejit properly"
* commit '
65f5d929bc457b96ba3b6077d5846d23548c162f':
Change phony targets to set dalvik.vm.usejit properly
Mathieu Chartier [Wed, 15 Jul 2015 00:32:47 +0000 (00:32 +0000)]
am
70451aea: Merge "Change phony targets to set dalvik.vm.usejit properly"
* commit '
70451aea314de4743d2d15a48d33201a897c190d':
Change phony targets to set dalvik.vm.usejit properly
Mathieu Chartier [Wed, 15 Jul 2015 00:20:15 +0000 (00:20 +0000)]
Merge "Change phony targets to set dalvik.vm.usejit properly"
Mathieu Chartier [Tue, 14 Jul 2015 23:59:23 +0000 (16:59 -0700)]
Change phony targets to set dalvik.vm.usejit properly
Bug:
22408082
Change-Id: I87d75902fef9d695c034c27ea4e25448c23a6924
Mathieu Chartier [Mon, 13 Jul 2015 21:35:43 +0000 (14:35 -0700)]
Clean up GC callbacks to be virtual methods
Change-Id: Ia08034a4e5931c4fcb329c3bd3c4b1f301135735
Hiroshi Yamauchi [Tue, 14 Jul 2015 23:07:16 +0000 (23:07 +0000)]
am
b6a730af: am
8ae35889: Merge "Add ART_TEST_DEBUG_GC to help with debugging gc."
* commit '
b6a730af202584b509c42269329126cbfac204d8':
Add ART_TEST_DEBUG_GC to help with debugging gc.
Andreas Gampe [Tue, 14 Jul 2015 23:06:58 +0000 (23:06 +0000)]
am
c95d94d0: am
34fcff08: Merge "ART: Remove art_quick_invoke_interface_trampoline"
* commit '
c95d94d039087f65342216a3b04c8a26376939be':
ART: Remove art_quick_invoke_interface_trampoline
Mathieu Chartier [Tue, 14 Jul 2015 22:53:31 +0000 (22:53 +0000)]
am
4abb81b8: am
01c2b053: Merge "Fix mac build"
* commit '
4abb81b894d97e9924aa47bcc101d8721cfb59d0':
Fix mac build
Hiroshi Yamauchi [Tue, 14 Jul 2015 22:53:29 +0000 (22:53 +0000)]
am
01cbb586: am
68953ebf: Merge "Add an option to run art tests with strace."
* commit '
01cbb586987e975f1dcc742cd501d06e86dcc7a7':
Add an option to run art tests with strace.
Roland Levillain [Tue, 14 Jul 2015 22:52:57 +0000 (22:52 +0000)]
am
047272ea: am
d1665b7a: Merge "Revert "Revert "Fuse long and FP compare & condition on ARM64 in Optimizing."""
* commit '
047272ea5bcde215ce0e6ef6bf9f00b3329e1822':
Revert "Revert "Fuse long and FP compare & condition on ARM64 in Optimizing.""
Mathieu Chartier [Tue, 14 Jul 2015 22:52:42 +0000 (22:52 +0000)]
am
3caab920: am
c6f3439b: Merge "ART: JNI thread state transition optimization"
* commit '
3caab920473b09243ee98dc400191f5d0d20412e':
ART: JNI thread state transition optimization
Evgenii Stepanov [Tue, 14 Jul 2015 22:52:39 +0000 (22:52 +0000)]
am
83527e77: am
e978aba2: Merge "Disable ASan on Thread::InstallImplicitProtection."
* commit '
83527e77f3c587d14f332be563e048cac7ade848':
Disable ASan on Thread::InstallImplicitProtection.
Evgenii Stepanov [Tue, 14 Jul 2015 22:28:08 +0000 (22:28 +0000)]
am
37fdd2cd: am
0541502e: Merge "Generalize Valgrind annotations in ART to support ASan."
* commit '
37fdd2cdddd49caa95025607645e46a6dc0ebc7e':
Generalize Valgrind annotations in ART to support ASan.
Hiroshi Yamauchi [Tue, 14 Jul 2015 21:52:33 +0000 (21:52 +0000)]
am
f8202a9d: am
5b1eea0a: Merge "Thread-local mark stacks for the CC collector."
* commit '
f8202a9d05fec171204b1d00f5668a5a81f2d7b9':
Thread-local mark stacks for the CC collector.
Christopher Ferris [Tue, 14 Jul 2015 21:30:13 +0000 (21:30 +0000)]
am
16364599: am
24db1bc5: Merge "Fix cfi information for x86."
* commit '
16364599e07e0c45eaf3ef65bf7de0c363de2519':
Fix cfi information for x86.
Hiroshi Yamauchi [Tue, 14 Jul 2015 20:49:32 +0000 (20:49 +0000)]
am
8ae35889: Merge "Add ART_TEST_DEBUG_GC to help with debugging gc."
* commit '
8ae3588989ea99d8c60f885e3d830e6e0c87ff5f':
Add ART_TEST_DEBUG_GC to help with debugging gc.
Hiroshi Yamauchi [Tue, 14 Jul 2015 20:37:17 +0000 (20:37 +0000)]
Merge "Add ART_TEST_DEBUG_GC to help with debugging gc."
Hiroshi Yamauchi [Tue, 14 Jul 2015 19:20:30 +0000 (12:20 -0700)]
Add ART_TEST_DEBUG_GC to help with debugging gc.
ART_TEST_DEBUG_GC is meant to be used to easily set the GC
configuration to the one that currently needs debugging in a
continuous test.
Bug:
19894268
Change-Id: I566e44360fc4cd47b3448e194cc8c16c9f498b7f
Andreas Gampe [Tue, 14 Jul 2015 18:39:08 +0000 (18:39 +0000)]
am
34fcff08: Merge "ART: Remove art_quick_invoke_interface_trampoline"
* commit '
34fcff08a9ecc981f5967b9cc8111a5fac555282':
ART: Remove art_quick_invoke_interface_trampoline
Vladimir Marko [Tue, 14 Jul 2015 17:58:59 +0000 (18:58 +0100)]
Avoid unexpected conversions to ArrayRef.
Make single-parameter constructors explicit, except
for the default copy constructor.
Change-Id: If7c8db643b22a4c36e244830154fc699b39c9016
Andreas Gampe [Tue, 14 Jul 2015 18:26:04 +0000 (18:26 +0000)]
Merge "ART: Remove art_quick_invoke_interface_trampoline"
Andreas Gampe [Tue, 14 Jul 2015 03:11:06 +0000 (20:11 -0700)]
ART: Remove art_quick_invoke_interface_trampoline
The function has only been used by the IMT conflict resolution
trampoline for a while. Merge the two, which saves a branch.
Change-Id: I2f8c9204adf839ddc5459cc04e70d98f858110a1
Mathieu Chartier [Tue, 14 Jul 2015 17:20:45 +0000 (17:20 +0000)]
am
01c2b053: Merge "Fix mac build"
* commit '
01c2b053aa74d9bd461a29e0c252f7a8ce3f115a':
Fix mac build
Hiroshi Yamauchi [Tue, 14 Jul 2015 17:20:43 +0000 (17:20 +0000)]
am
68953ebf: Merge "Add an option to run art tests with strace."
* commit '
68953ebf53e3ef7e0fd2c5beadfa7a2437eebc60':
Add an option to run art tests with strace.
Mathieu Chartier [Tue, 14 Jul 2015 17:10:32 +0000 (17:10 +0000)]
Merge "Fix mac build"
Hiroshi Yamauchi [Tue, 14 Jul 2015 17:08:50 +0000 (17:08 +0000)]
Merge "Add an option to run art tests with strace."
Mathieu Chartier [Tue, 14 Jul 2015 17:05:45 +0000 (10:05 -0700)]
Fix mac build
Untested.
Change-Id: I1b7803f2fdcd7f509614aa9d3dce414e50a6119d
Roland Levillain [Tue, 14 Jul 2015 10:14:46 +0000 (10:14 +0000)]
am
d1665b7a: Merge "Revert "Revert "Fuse long and FP compare & condition on ARM64 in Optimizing."""
* commit '
d1665b7a689086ec5b33a69a05313c46ea1a95e4':
Revert "Revert "Fuse long and FP compare & condition on ARM64 in Optimizing.""
Roland Levillain [Tue, 14 Jul 2015 09:25:42 +0000 (09:25 +0000)]
Merge "Revert "Revert "Fuse long and FP compare & condition on ARM64 in Optimizing."""
Mathieu Chartier [Tue, 14 Jul 2015 02:02:35 +0000 (02:02 +0000)]
am
c6f3439b: Merge "ART: JNI thread state transition optimization"
* commit '
c6f3439b67962584cfb764133e192c3317f0e1fc':
ART: JNI thread state transition optimization
Mathieu Chartier [Tue, 14 Jul 2015 01:47:39 +0000 (01:47 +0000)]
Merge "ART: JNI thread state transition optimization"
Evgenii Stepanov [Tue, 14 Jul 2015 01:41:20 +0000 (01:41 +0000)]
am
e978aba2: Merge "Disable ASan on Thread::InstallImplicitProtection."
* commit '
e978aba24094cce90453ad3294b8c4536ee8e4b4':
Disable ASan on Thread::InstallImplicitProtection.
Evgenii Stepanov [Tue, 14 Jul 2015 01:28:04 +0000 (01:28 +0000)]
Merge "Disable ASan on Thread::InstallImplicitProtection."
Evgenii Stepanov [Tue, 14 Jul 2015 01:02:57 +0000 (01:02 +0000)]
am
0541502e: Merge "Generalize Valgrind annotations in ART to support ASan."
* commit '
0541502e6d9d0efa50aa333db32898a0664512c3':
Generalize Valgrind annotations in ART to support ASan.
Evgenii Stepanov [Mon, 13 Jul 2015 17:41:57 +0000 (10:41 -0700)]
Disable ASan on Thread::InstallImplicitProtection.
This function reads random stack locations and confuses ASan.
Bug:
21785137
Change-Id: Iaaee6032a651618e5275ab46e6e8f886df60a5d0
Evgenii Stepanov [Tue, 14 Jul 2015 00:47:06 +0000 (00:47 +0000)]
Merge "Generalize Valgrind annotations in ART to support ASan."
Evgenii Stepanov [Wed, 20 May 2015 19:30:59 +0000 (12:30 -0700)]
Generalize Valgrind annotations in ART to support ASan.
Also add redzones around non-fixed mem_map(s).
Also extend -Wframe-larger-than limit to enable arm64 ASan build.
Change-Id: Ie572481a25fead59fc8978d2c317a33ac418516c
Hiroshi Yamauchi [Tue, 14 Jul 2015 00:11:22 +0000 (17:11 -0700)]
Add an option to run art tests with strace.
Bug:
19894268
Change-Id: I0a315a30e4e7d6d497b21205dc2a2b18b2170328
Hiroshi Yamauchi [Mon, 13 Jul 2015 23:04:44 +0000 (23:04 +0000)]
am
5b1eea0a: Merge "Thread-local mark stacks for the CC collector."
* commit '
5b1eea0a6c90e6e82393cdb7337f0c2bb05637d9':
Thread-local mark stacks for the CC collector.
Yu Li [Mon, 29 Jun 2015 02:50:03 +0000 (10:50 +0800)]
ART: JNI thread state transition optimization
This patch improves the JNI performance by removing the explicit acquiring and
releasing the mutator lock when a thread state transits between suspended and
runnable states.
The functions responsible for changing the state were found to be the costliest
part of the JNI. Originally, a thread needs to acquire a shared mutator lock by
a CAS instruction when entering the runnable state and also needs to release
the lock by a CAS when entering the native state from runnable. This patch
removes these CAS operations when a thread state transits between suspended and
runnable. A thread in the runnable state is considered to have shared ownership
of the mutator lock and therefore transitions in and out of the runnable state
have associated implication on the mutator lock ownership. Meanwhile, a barrier
is added to control suspending all threads from running.
JNI transition overhead was reduced by 25% on IA platform and by 17% on ARM
platform by this patch, while it has little impact on GC pause time (measured
with "suspend all histogram").
Change-Id: Icee95d8ffff1bbfc95309a41cc48836536fec689
Signed-off-by: Yu, Li <yu.l.li@intel.com>
Signed-off-by: Haitao, Feng <haitao.feng@intel.com>
Signed-off-by: Lei, Li <lei.l.li@intel.com>
Hiroshi Yamauchi [Mon, 13 Jul 2015 22:51:39 +0000 (22:51 +0000)]
Merge "Thread-local mark stacks for the CC collector."
Hiroshi Yamauchi [Wed, 17 Jun 2015 01:29:23 +0000 (18:29 -0700)]
Thread-local mark stacks for the CC collector.
Thread-local mark stacks are assigned to mutators where they push
references in read barriers to reduce the (CAS) synchronization cost
in a global mark stack/queue.
We step through three mark stack modes (thread-local, shared,
GC-exclusive) and use per-thread flags to disable/enable system weak
accesses (only for the CC collector) instead of the existing global
one to safely perform the marking phase. The reasons are 1)
thread-local mark stacks for mutators need to be revoked using a
checkpoint to avoid races (incorrectly leaving a reference on mark
stacks) when terminating marking, and 2) we can’t use a checkpoint
while system weak accesses are disabled (or a deadlock would
happen). More details are described in the code comments.
Performance improvements in Ritzperf EAAC: a ~2.8% improvement
(13290->12918) in run time and a ~23% improvement (51.6s->39.8s) in
the total GC time on N5.
Bug:
12687968
Change-Id: I5d234d7e48bf115cd773d38bdb62ad24ce9116c7
Christopher Ferris [Mon, 13 Jul 2015 20:51:35 +0000 (20:51 +0000)]
am
24db1bc5: Merge "Fix cfi information for x86."
* commit '
24db1bc55bf8fb3240690436a229352453ae75e1':
Fix cfi information for x86.
Christopher Ferris [Mon, 13 Jul 2015 20:39:09 +0000 (20:39 +0000)]
Merge "Fix cfi information for x86."
Christopher Ferris [Mon, 13 Jul 2015 20:33:06 +0000 (20:33 +0000)]
am
22ee0902: Merge "Fix cfi information for x86." into mnc-dev
* commit '
22ee090292e9f2ab0326600a467294ecb8b0e2ad':
Fix cfi information for x86.
Christopher Ferris [Mon, 13 Jul 2015 19:21:00 +0000 (12:21 -0700)]
Fix cfi information for x86.
With this change, I can now enable debug malloc fully.
Bug:
19071092
(cherry picked from commit
9f66589f3ca6055501c99333a19b69349b8f8568)
Change-Id: I04d477d0294d67c5e3a9d9147889bdffb9086bd4
Christopher Ferris [Mon, 13 Jul 2015 20:19:56 +0000 (20:19 +0000)]
Merge "Fix cfi information for x86." into mnc-dev
Andreas Gampe [Mon, 13 Jul 2015 19:42:51 +0000 (19:42 +0000)]
am
2a1bcdd3: am
cc22d7cd: Merge "ART: Fix DexFileVerifier try_items OoO validation"
* commit '
2a1bcdd3179c9d2985a5877b9c439cb3ffb7b716':
ART: Fix DexFileVerifier try_items OoO validation
Andreas Gampe [Mon, 13 Jul 2015 19:28:32 +0000 (19:28 +0000)]
am
cc22d7cd: Merge "ART: Fix DexFileVerifier try_items OoO validation"
* commit '
cc22d7cde1062126aed90d314dcf675bd78e306e':
ART: Fix DexFileVerifier try_items OoO validation
Christopher Ferris [Mon, 13 Jul 2015 19:21:00 +0000 (12:21 -0700)]
Fix cfi information for x86.
With this change, I can now enable debug malloc fully.
Bug:
19071092
Change-Id: Iabfb18505feffb480504a8bbfbac60dd219ed48a
Andreas Gampe [Mon, 13 Jul 2015 19:16:46 +0000 (19:16 +0000)]
Merge "ART: Fix DexFileVerifier try_items OoO validation"
Nicolas Geoffray [Mon, 13 Jul 2015 17:45:49 +0000 (17:45 +0000)]
am
3df677fe: am
f68c8545: Merge "Revert "Revert "Revert "Make dex2dex return a CompiledMethod after quickening.""""
* commit '
3df677fe387ea2a769f54695b5ed076dae61c94d':
Revert "Revert "Revert "Make dex2dex return a CompiledMethod after quickening."""
Nicolas Geoffray [Mon, 13 Jul 2015 17:31:09 +0000 (17:31 +0000)]
am
f68c8545: Merge "Revert "Revert "Revert "Make dex2dex return a CompiledMethod after quickening.""""
* commit '
f68c8545382925062da2b87169ca2b5314f0b431':
Revert "Revert "Revert "Make dex2dex return a CompiledMethod after quickening."""
Nicolas Geoffray [Mon, 13 Jul 2015 17:02:42 +0000 (17:02 +0000)]
Merge "Revert "Revert "Revert "Make dex2dex return a CompiledMethod after quickening.""""
Nicolas Geoffray [Mon, 13 Jul 2015 17:02:30 +0000 (17:02 +0000)]
Revert "Revert "Revert "Make dex2dex return a CompiledMethod after quickening."""
Breaks again in some configurations I don't fully understand yet.
This reverts commit
f075879649686e59b7a9065c5a061dbfdcdfbecc.
Change-Id: I0ac5533825e40b06462ee69b2740e4a96fb5c582
Nicolas Geoffray [Mon, 13 Jul 2015 16:13:59 +0000 (16:13 +0000)]
am
fc36c603: am
6fb5b1bd: Merge "Fix baseline for arm64."
* commit '
fc36c603a43540fe4d51b80b20678ea2b147c17b':
Fix baseline for arm64.
Anestis Bechtsoudis [Sun, 12 Jul 2015 17:51:35 +0000 (12:51 -0500)]
ART: Fix DexFileVerifier try_items OoO validation
DexFileVerifier::CheckIntraCodeItem() implements an out of order
validation for CodeItem try_items. try_items_size is validated for
sanity via CheckListSize() at dex_file_verifier.cc:800, although
handlers_size ULEB128 read (offset calculated from tries_size_) occurs
before at lines 797-798.
An out of bounds (wild) read will occur for invalid try_items_size at
parsed DEX file.
handlers_size read has been moved after try_items validation to resolve
this OoO issue.
Bug:
21307613
Bug: https://code.google.com/p/android/issues/detail?id=178592
Change-Id: I94d00819ee9a465f57ba9a1fdfdd356979e35ed7
Vladimir Marko [Mon, 13 Jul 2015 16:05:05 +0000 (16:05 +0000)]
am
b70f697d: am
f32521b1: Merge "ART: Don\'t nest indenters in oatdump."
* commit '
b70f697df0fc3f9cb842d58a2353a4a6c5e9deb0':
ART: Don't nest indenters in oatdump.