OSDN Git Service
David Brazdil [Thu, 29 Oct 2015 22:53:53 +0000 (22:53 +0000)]
Merge "Revert "ART: Enable more passes under try/catch""
am:
d13f2b3554
* commit '
d13f2b35546d421f570c64654ad8479caf1165d6':
Revert "ART: Enable more passes under try/catch"
David Brazdil [Thu, 29 Oct 2015 22:47:59 +0000 (22:47 +0000)]
Merge "Revert "ART: Enable more passes under try/catch""
David Brazdil [Thu, 29 Oct 2015 22:47:39 +0000 (22:47 +0000)]
Revert "ART: Enable more passes under try/catch"
BCE does not set TryCatchInformation when creating new blocks.
Will be fixed with DynamicBCE CL.
This reverts commit
39fabd6bb6fcf7a712b370d3b6fd0ada83e2e5d8.
Change-Id: I76ae707ac132bb1a4a9f64f4916ffcd786ef730c
Mathieu Chartier [Thu, 29 Oct 2015 22:33:20 +0000 (22:33 +0000)]
Merge "Change a few places to use string version of GetTypeId"
am:
8cb0bc28b1
* commit '
8cb0bc28b1161dad0d2c2c1e75318b7e504faa46':
Change a few places to use string version of GetTypeId
Mathieu Chartier [Thu, 29 Oct 2015 22:30:46 +0000 (22:30 +0000)]
Merge "Change a few places to use string version of GetTypeId"
Mathieu Chartier [Thu, 29 Oct 2015 22:08:57 +0000 (15:08 -0700)]
Change a few places to use string version of GetTypeId
GetTypeId is about 20% faster than GetStringId + integer GetTypeID
since it does less binary searches.
Change-Id: I876c4ac89ab206acca217b2287b0197ef2e408c2
Aart Bik [Thu, 29 Oct 2015 21:06:17 +0000 (21:06 +0000)]
Merge "Move loop invariant utility to more general place."
am:
c65d1f3d26
* commit '
c65d1f3d26a47e2fce3c3f8872e7942fec23f9b9':
Move loop invariant utility to more general place.
Aart Bik [Thu, 29 Oct 2015 21:00:17 +0000 (21:00 +0000)]
Merge "Move loop invariant utility to more general place."
David Brazdil [Thu, 29 Oct 2015 20:33:53 +0000 (20:33 +0000)]
Merge "ART: Enable more passes under try/catch"
am:
5ad27592e2
* commit '
5ad27592e2317b4c7932885eff702099f7cbe0f1':
ART: Enable more passes under try/catch
David Brazdil [Thu, 29 Oct 2015 20:30:29 +0000 (20:30 +0000)]
Merge "ART: Enable more passes under try/catch"
Aart Bik [Wed, 28 Oct 2015 22:28:08 +0000 (15:28 -0700)]
Move loop invariant utility to more general place.
Change-Id: I15ebfbf9684f0fcce9e63d078ff8dc1381fd1ca3
Mathieu Chartier [Thu, 29 Oct 2015 20:21:59 +0000 (20:21 +0000)]
Merge "Add comment for RunCheckpoint and clean up ThreadList a bit"
am:
e22d85249e
* commit '
e22d85249e6e3985edf5e17a9c28ec26e0e6df3e':
Add comment for RunCheckpoint and clean up ThreadList a bit
Mathieu Chartier [Thu, 29 Oct 2015 20:11:35 +0000 (20:11 +0000)]
Merge "Add comment for RunCheckpoint and clean up ThreadList a bit"
Mathieu Chartier [Thu, 29 Oct 2015 17:41:51 +0000 (10:41 -0700)]
Add comment for RunCheckpoint and clean up ThreadList a bit
Change-Id: Id512bfd15fee9a7359c77f094e16d64634943619
Aart Bik [Thu, 29 Oct 2015 18:24:21 +0000 (18:24 +0000)]
Merge "Simplify unsigned comparisons against zero (with unit tests)."
am:
2118d3d673
* commit '
2118d3d673f6874a593024308facde336b3302e7':
Simplify unsigned comparisons against zero (with unit tests).
Aart Bik [Thu, 29 Oct 2015 18:17:17 +0000 (18:17 +0000)]
Merge "Simplify unsigned comparisons against zero (with unit tests)."
Aart Bik [Thu, 29 Oct 2015 00:49:07 +0000 (17:49 -0700)]
Simplify unsigned comparisons against zero (with unit tests).
Rationale: Such cases occurs a lot after dynamic
bound check optimization (where the lower bound
is test against upper bound). Removing this
unnecessary test improves quality of code.
Change-Id: I3e4dc9f9d799aad342e1c344013ac60fcc3073ac
Hiroshi Yamauchi [Thu, 29 Oct 2015 17:55:19 +0000 (17:55 +0000)]
Merge "Relax some CASes for the CC collector."
am:
0b654bce0f
* commit '
0b654bce0f8d7c596d4115848b7e4c4dbeadafd5':
Relax some CASes for the CC collector.
Hiroshi Yamauchi [Thu, 29 Oct 2015 17:46:20 +0000 (17:46 +0000)]
Merge "Relax some CASes for the CC collector."
David Brazdil [Mon, 26 Oct 2015 19:34:30 +0000 (14:34 -0500)]
ART: Enable more passes under try/catch
LICM, BCE, LSE are all safe under try/catch. Inliner and DCE
need updating and will be enabled in follow-up CLs.
Change-Id: I86db5f811257d5e765fea91666a2a2af0fb24ec3
Mathieu Chartier [Thu, 29 Oct 2015 17:02:36 +0000 (17:02 +0000)]
Merge "Implementation of fast lookup table to search class_def by descriptor"
am:
59cc4e8306
* commit '
59cc4e8306879ee7066d51dad4cba140e58c7292':
Implementation of fast lookup table to search class_def by descriptor
Mathieu Chartier [Thu, 29 Oct 2015 16:56:53 +0000 (16:56 +0000)]
Merge "Implementation of fast lookup table to search class_def by descriptor"
David Brazdil [Thu, 29 Oct 2015 16:45:37 +0000 (16:45 +0000)]
Merge "ART: Fix deopt from optimized code under inlining"
am:
a9cf6eef38
* commit '
a9cf6eef38d3debadae0398b94b07bd3493635d7':
ART: Fix deopt from optimized code under inlining
Mathieu Chartier [Thu, 29 Oct 2015 16:45:24 +0000 (16:45 +0000)]
Merge "Change Checkpoint API to return total number of checkpoints"
am:
57bee8dc22
* commit '
57bee8dc2206404164606d4f5cabde272505f5fa':
Change Checkpoint API to return total number of checkpoints
Artem Udovichenko [Wed, 14 Oct 2015 13:36:55 +0000 (16:36 +0300)]
Implementation of fast lookup table to search class_def by descriptor
Lookup table is a hash table which built at compile time and stored
into oat file. At runtime the table is restored and used in the
method DexFile::FindClassDef(const char*) to perform fast search of
the class_def_idx by class descriptor. Advantages of the lookup table
over the HashSet (runtime/base/hash_set.h) are:
1. Lookup table is built at compile time and uses read-only memory at
runtime
2. Lookup table uses less memory then DexFile::Index (less by 80% for
/system/framework/framework.jar on Nexus5)
3. Lookup table does less string comparisons compared with HashSet
(less by 70% for zygote process on Nexus5)
The disadvantage of the lookup table is it increased boot.oat size by
0.2% on Nexus5 and application .oat file by 0.3% in average on Nexus5.
mathieuc changes:
Create lookup table in dex2oat to speed up compilation. Clean up code
to follow style guide and use less static functions. Added
performance measurements.
Compile ~100 APKs 5 times with filter interpret-only:
Before:
real 1m8.989s
user 0m59.318s
sys 0m7.773s
After:
real 1m1.493s
user 0m52.055s
sys 0m7.581s
App launch (AOSP N5 maps, average of 45 runs):
Before: 966.84ms
After: 923.733ms
Launch speedup is 4.7%
Memory usage compared to HashSet index on 50 various APK:
32 bit: HashSet ~
625694b vs TypeLookupTable ~
404268b
64 bit: HashSet ~
1251390b vs TypeLookupTable ~
404268b
Bug:
10921004
Bug:
20269715
Change-Id: I7246c1d9ad9fe81fe5c5907a4bf70396d8f9242a
David Brazdil [Thu, 29 Oct 2015 16:36:54 +0000 (16:36 +0000)]
Merge "ART: Fix deopt from optimized code under inlining"
Mathieu Chartier [Thu, 29 Oct 2015 16:13:19 +0000 (16:13 +0000)]
Merge "Change Checkpoint API to return total number of checkpoints"
Andreas Gampe [Thu, 29 Oct 2015 15:53:49 +0000 (15:53 +0000)]
Merge "MIPS64: Add "Compare and Swap" intrinsic support."
am:
6f42850562
* commit '
6f42850562048169374f3bbaec5bb31441ccc062':
MIPS64: Add "Compare and Swap" intrinsic support.
Andreas Gampe [Thu, 29 Oct 2015 15:48:50 +0000 (15:48 +0000)]
Merge "MIPS64: Add "Compare and Swap" intrinsic support."
Andreas Gampe [Thu, 29 Oct 2015 04:02:22 +0000 (04:02 +0000)]
Merge "Revert "Enable store elimination for singleton objects.""
am:
594c061251
* commit '
594c0612519e96bcc1bd42ff4dcbfa2c53b09c5a':
Revert "Enable store elimination for singleton objects."
Andreas Gampe [Thu, 29 Oct 2015 03:57:27 +0000 (03:57 +0000)]
Merge "Revert "Enable store elimination for singleton objects.""
Andreas Gampe [Thu, 29 Oct 2015 02:59:50 +0000 (02:59 +0000)]
Revert "Enable store elimination for singleton objects."
This reverts commit
7f43a3d48fc29045875d50e10bbc5d6ffc25d61e.
Fails booting.
Bug:
25357772
Change-Id: Ied19536f3ce8d81e76885cb6baed4853e2ed6714
Mathieu Chartier [Thu, 29 Oct 2015 01:36:09 +0000 (18:36 -0700)]
Change Checkpoint API to return total number of checkpoints
Fixes a race condition with SetStateUnsafe that caused some
warnings in the Barrier::~Barrier.
The race was:
RunCheckpoint sees suspended thread, runs the checkpoint. Inside the
checkpoint, the thread state had changed to runnable by
SetStateUnsafe. This occasionally caused more Barrier::Pass than
expected.
The fix is to return the total number of checkpoints instead of just
the runnable ones.
Bug:
24191051
Change-Id: If15a933ed4c8efa66a5f27cd5feaa2e5957ae804
David Brazdil [Wed, 28 Oct 2015 17:19:06 +0000 (12:19 -0500)]
ART: Fix deopt from optimized code under inlining
Deoptimization of inlined frames would use the outer method's
vreg map, thus starting interpreter in bogus state.
Bug:
25331616
Change-Id: I1d4aefc731bb1386f3e6186a89b59981836480b3
Mathieu Chartier [Wed, 28 Oct 2015 22:58:08 +0000 (22:58 +0000)]
Merge "Store method as ArtMethod* instead of jmethodId in Breakpoint"
am:
5f2e628b28
* commit '
5f2e628b280dfc5f8385e489d44cc0960fcea484':
Store method as ArtMethod* instead of jmethodId in Breakpoint
Mathieu Chartier [Wed, 28 Oct 2015 22:54:12 +0000 (22:54 +0000)]
Merge "Store method as ArtMethod* instead of jmethodId in Breakpoint"
Mathieu Chartier [Wed, 28 Oct 2015 18:10:46 +0000 (11:10 -0700)]
Store method as ArtMethod* instead of jmethodId in Breakpoint
Previously we needed a ScopedObjectAccess for Dbg::VisitRoots,
this could cause deadlocks in the following scenario:
GC:
Goes to runnable state while holding mutator lock as shared held.
This occurred in Dbg::VisitRoots when calling Breakpoint::Method.
Other thread:
Calls SuspendAll and suspends the GC thread before it can go back
to suspended thread state. This thread then attempts to exclusive
lock mutator lock, but the GC is suspended while holding it in a
shared state.
Bug:
25336094
Change-Id: Idcb8d34c314b1d6951abe533a0cfa586cc07d7d6
Aart Bik [Wed, 28 Oct 2015 21:24:14 +0000 (21:24 +0000)]
Merge "Generate taken-test during trip-count analysis."
am:
f7b7f9984d
* commit '
f7b7f9984da66149e5fe05713845961d7b069a23':
Generate taken-test during trip-count analysis.
Aart Bik [Wed, 28 Oct 2015 21:19:21 +0000 (21:19 +0000)]
Merge "Generate taken-test during trip-count analysis."
Mingyao Yang [Wed, 28 Oct 2015 21:08:20 +0000 (21:08 +0000)]
Merge "Enable store elimination for singleton objects."
am:
d2b29d69a2
* commit '
d2b29d69a2c301da31a9875c36a599f4bf817816':
Enable store elimination for singleton objects.
Mingyao Yang [Wed, 28 Oct 2015 21:01:33 +0000 (21:01 +0000)]
Merge "Enable store elimination for singleton objects."
Aart Bik [Tue, 27 Oct 2015 22:56:28 +0000 (15:56 -0700)]
Generate taken-test during trip-count analysis.
Rationale: for loops that may not be taken, this taken-test
can be used by clients of the induction variable
analysis to ensure trip-count evaluation is valid.
Change-Id: Ia64749e2389b7224e69d6a49bb604b1964c11068
Hiroshi Yamauchi [Wed, 28 Oct 2015 19:26:09 +0000 (19:26 +0000)]
Merge "Rosalloc fast path in assembly for arm64."
am:
b058de905d
* commit '
b058de905d73f489c5d24b2833f7d5d4401f513c':
Rosalloc fast path in assembly for arm64.
Hiroshi Yamauchi [Wed, 28 Oct 2015 19:21:55 +0000 (19:21 +0000)]
Merge "Rosalloc fast path in assembly for arm64."
Alex Light [Wed, 28 Oct 2015 18:37:27 +0000 (18:37 +0000)]
Merge "Fix up run-test."
am:
9b4571cadc
* commit '
9b4571cadcc36f2cae09a60f3f45db30ab7b1478':
Fix up run-test.
Alex Light [Wed, 28 Oct 2015 18:30:42 +0000 (18:30 +0000)]
Merge "Fix up run-test."
Alex Light [Wed, 28 Oct 2015 16:40:10 +0000 (09:40 -0700)]
Fix up run-test.
Made its help message actually list all of its options. Made
run-all-tests take more of the run-test options.
Change-Id: I213995eeea9052392f722897021e74c2a89d41f8
Nicolas Geoffray [Wed, 28 Oct 2015 18:28:33 +0000 (18:28 +0000)]
Merge "Tune heuristics a bit."
am:
e35764f1f8
* commit '
e35764f1f8e8b9b8ad1365967783532182fc61f5':
Tune heuristics a bit.
Nicolas Geoffray [Wed, 28 Oct 2015 18:22:43 +0000 (18:22 +0000)]
Merge "Tune heuristics a bit."
Nicolas Geoffray [Wed, 28 Oct 2015 18:05:48 +0000 (18:05 +0000)]
Merge "Adjust jit code cache on ThreadStress to avoid timeouts."
am:
13f6af0f9c
* commit '
13f6af0f9c8af1fce34e9610ad9d30d4d0434478':
Adjust jit code cache on ThreadStress to avoid timeouts.
Nicolas Geoffray [Wed, 28 Oct 2015 17:59:35 +0000 (17:59 +0000)]
Merge "Adjust jit code cache on ThreadStress to avoid timeouts."
Nicolas Geoffray [Wed, 28 Oct 2015 17:39:47 +0000 (17:39 +0000)]
Tune heuristics a bit.
First version. Seems to be more in line with what we're seeing.
Change-Id: I5117352c13cb2e95d16f0c9b05b1faf37c05d710
Nicolas Geoffray [Wed, 28 Oct 2015 17:41:37 +0000 (17:41 +0000)]
Adjust jit code cache on ThreadStress to avoid timeouts.
Change-Id: I00da947ba45be66bb24825af4fbe95b6fbe8fbc4
Nicolas Geoffray [Wed, 28 Oct 2015 17:06:41 +0000 (17:06 +0000)]
Merge "We still need to provide an image."
am:
28b48026f0
* commit '
28b48026f0686f93b31b9cad47671c18837acc56':
We still need to provide an image.
Alex Light [Wed, 28 Oct 2015 17:03:51 +0000 (17:03 +0000)]
Merge "Fix test failure due to wrong runtime arguments."
am:
01d5cced1d
* commit '
01d5cced1d70ab20bc43354d920ed4264e8fb456':
Fix test failure due to wrong runtime arguments.
Nicolas Geoffray [Wed, 28 Oct 2015 17:03:34 +0000 (17:03 +0000)]
Merge "We still need to provide an image."
Nicolas Geoffray [Wed, 28 Oct 2015 17:01:04 +0000 (17:01 +0000)]
We still need to provide an image.
Otherwise, dalvikvm does not have enough resources to
create it at runtime.
Change-Id: Ifb064e5c1e7b4f452c9562cd856231e8776950c7
Alex Light [Wed, 28 Oct 2015 16:58:14 +0000 (16:58 +0000)]
Merge "Fix test failure due to wrong runtime arguments."
Nicolas Geoffray [Wed, 28 Oct 2015 16:40:18 +0000 (16:40 +0000)]
Merge "A native method may be running and have the resolution stub."
am:
8fa2ae3900
* commit '
8fa2ae390010351d055037e0843f908597c7f2bf':
A native method may be running and have the resolution stub.
Nicolas Geoffray [Wed, 28 Oct 2015 16:36:27 +0000 (16:36 +0000)]
Merge "A native method may be running and have the resolution stub."
Nicolas Geoffray [Wed, 28 Oct 2015 16:16:16 +0000 (16:16 +0000)]
A native method may be running and have the resolution stub.
Fixes 119-noimage-patchoat in interpreter mode.
Change-Id: Ie8af557f7de21963441520b9d9caea8223378acc
Alex Light [Wed, 28 Oct 2015 16:13:20 +0000 (09:13 -0700)]
Fix test failure due to wrong runtime arguments.
Change-Id: Idf8888aaef1d01123e1097c8108cb23fb1fdb945
Nicolas Geoffray [Wed, 28 Oct 2015 15:14:06 +0000 (15:14 +0000)]
Merge "Add support for collection ProfilingInfo objects."
am:
c1fc2b01a5
* commit '
c1fc2b01a557b64ff28069ccfed0c72d7d37af20':
Add support for collection ProfilingInfo objects.
Nicolas Geoffray [Wed, 28 Oct 2015 15:08:59 +0000 (15:08 +0000)]
Merge "Add support for collection ProfilingInfo objects."
Nicolas Geoffray [Wed, 28 Oct 2015 12:50:11 +0000 (12:50 +0000)]
Add support for collection ProfilingInfo objects.
Change-Id: I8bb6069530253a7372acdf2b5aee71e1de644822
Nicolas Geoffray [Wed, 28 Oct 2015 13:45:17 +0000 (13:45 +0000)]
Merge "Do not assume the dex cache is already populated."
am:
7b829f6b83
* commit '
7b829f6b8390535172bba3496b8bf6275d3c26a6':
Do not assume the dex cache is already populated.
Nicolas Geoffray [Wed, 28 Oct 2015 13:40:41 +0000 (13:40 +0000)]
Merge "Do not assume the dex cache is already populated."
Nicolas Geoffray [Wed, 28 Oct 2015 13:14:23 +0000 (13:14 +0000)]
Merge "Fix script after image changes."
am:
a0d26f6428
* commit '
a0d26f64287cf71e68eacd67d236f8805c01248f':
Fix script after image changes.
Nicolas Geoffray [Wed, 28 Oct 2015 13:07:27 +0000 (13:07 +0000)]
Merge "Fix script after image changes."
Nicolas Geoffray [Wed, 28 Oct 2015 13:06:21 +0000 (13:06 +0000)]
Fix script after image changes.
Change-Id: I617265e1500e47551708ca3975240ed7d14b1dd5
Nicolas Geoffray [Wed, 28 Oct 2015 13:01:35 +0000 (13:01 +0000)]
Merge "Remove obsolete comment and option."
am:
26af653a84
* commit '
26af653a84c83632d23dd2a06d1f31a7c6d5f84e':
Remove obsolete comment and option.
Nicolas Geoffray [Wed, 28 Oct 2015 12:58:48 +0000 (12:58 +0000)]
Merge "Remove obsolete comment and option."
Nicolas Geoffray [Wed, 28 Oct 2015 12:54:58 +0000 (12:54 +0000)]
Merge "MIPS32: added support for unresolved classes"
am:
9490043806
* commit '
9490043806c605b998688db4a19b2da0274bc7d3':
MIPS32: added support for unresolved classes
Nicolas Geoffray [Wed, 28 Oct 2015 12:49:35 +0000 (12:49 +0000)]
Merge "MIPS32: added support for unresolved classes"
Nicolas Geoffray [Wed, 28 Oct 2015 12:06:25 +0000 (12:06 +0000)]
Do not assume the dex cache is already populated.
In JIT mode, it isn't.
Change-Id: I665cab8142db64996b6ae3d7d7c1e68deba8dfb9
Pavle Batuta [Wed, 28 Oct 2015 12:10:42 +0000 (13:10 +0100)]
MIPS32: added support for unresolved classes
Refer to change: https://android-review.googlesource.com/#/c/173570
This will fix the following test fails:
024-illegal-access
536-checker-needs-access-check
Change-Id: I07ecb0ab90700f0ca7da28601c6e3755ba1658c0
Nicolas Geoffray [Wed, 28 Oct 2015 12:11:27 +0000 (12:11 +0000)]
Remove obsolete comment and option.
Boot image from optimizing handles debuggable now.
As a side effect reduces the adb command line vogar needs to do.
Change-Id: Ib516163dee19d05de22be5a3228f51c8700411cf
Vladimir Marko [Wed, 28 Oct 2015 10:34:30 +0000 (10:34 +0000)]
Merge "Revert "Remove DCHECK that does not work for gtests.""
am:
6fcb8b95e2
* commit '
6fcb8b95e2ba60efde91e3558cb5a71e052919f7':
Revert "Remove DCHECK that does not work for gtests."
Vladimir Marko [Wed, 28 Oct 2015 10:31:13 +0000 (10:31 +0000)]
Merge "Revert "Remove DCHECK that does not work for gtests.""
Mingyao Yang [Tue, 27 Oct 2015 23:38:33 +0000 (16:38 -0700)]
Enable store elimination for singleton objects.
Enable store elimination for singleton objects. However for finalizable object,
don't eliminate stores. Also added a testcase.
Change-Id: Icf991e7ded5b490f55f580ef928ece5c45e89902
Mathieu Chartier [Tue, 27 Oct 2015 21:20:18 +0000 (21:20 +0000)]
Merge "Use HashMap for DexFileVerifier"
am:
3dca4c0417
* commit '
3dca4c04170bb4c7b26609e55f3f4966d46b681a':
Use HashMap for DexFileVerifier
Mathieu Chartier [Tue, 27 Oct 2015 21:10:08 +0000 (21:10 +0000)]
Merge "Use HashMap for DexFileVerifier"
Hiroshi Yamauchi [Tue, 27 Oct 2015 19:31:14 +0000 (19:31 +0000)]
Merge "Make the mark stack expandable for the CC collector."
am:
9e1b56f0e7
* commit '
9e1b56f0e77aa5b6c72374b86d0cef58484ddcaa':
Make the mark stack expandable for the CC collector.
Hiroshi Yamauchi [Tue, 27 Oct 2015 19:24:04 +0000 (19:24 +0000)]
Merge "Make the mark stack expandable for the CC collector."
Vladimir Marko [Tue, 27 Oct 2015 18:51:20 +0000 (18:51 +0000)]
Revert "Remove DCHECK that does not work for gtests."
And fix the code alignment in gtests.
This reverts commit
7d32dbc02beac2cb0217d52b61f2b3ef9974ffa6.
Change-Id: I68813c36d1493f2746ceb129b30a649350d6bc13
Nicolas Geoffray [Tue, 27 Oct 2015 18:33:07 +0000 (18:33 +0000)]
Merge "Remove DCHECK that does not work for gtests."
am:
3aa2895fe9
* commit '
3aa2895fe9d2cb8c7fb04154463d296c5eab4fee':
Remove DCHECK that does not work for gtests.
Nicolas Geoffray [Tue, 27 Oct 2015 18:22:58 +0000 (18:22 +0000)]
Merge "Remove DCHECK that does not work for gtests."
Nicolas Geoffray [Tue, 27 Oct 2015 18:18:39 +0000 (18:18 +0000)]
Remove DCHECK that does not work for gtests.
Change-Id: I12e11fd2faffa2e53771a0dd988447f9d72b554b
Aart Bik [Tue, 27 Oct 2015 16:50:15 +0000 (16:50 +0000)]
Merge "Added format 25x to dexdump(2)."
am:
903ef50ed0
* commit '
903ef50ed03444b28899088f977d5c2d0ff67d49':
Added format 25x to dexdump(2).
Aart Bik [Tue, 27 Oct 2015 16:36:49 +0000 (16:36 +0000)]
Merge "Added format 25x to dexdump(2)."
Aart Bik [Tue, 27 Oct 2015 00:24:09 +0000 (17:24 -0700)]
Added format 25x to dexdump(2).
Rationale: Igor introduced a new format for invoke-lambda which
was not recognized by dexdump(2) yet.
Sample output:
Change-Id: I2d9cd4b740452bb8380de2234819bcd4ad49345a
0002ac: |[0002ac] Hello.doit:()V
0002bc: f600 0200 |0000: create-lambda v0, LHello;.-void_doit__LambdaImpl0:(J)V // method@0002
0002c0: f300 0000 |0002: invoke-lambda v0, {}
0002c4: f600 0300 |0004: create-lambda v0, LHello;.-void_doit__LambdaImpl1:(JI)V // method@0003
0002c8: 1212 |0006: const/4 v2, #int 1 // #1
0002ca: f310 2000 |0007: invoke-lambda v0, {v2}
0002ce: 0e00 |0009: return-void
Vladimir Marko [Tue, 27 Oct 2015 16:10:57 +0000 (16:10 +0000)]
Merge "Reduce memory used by CompiledMethods."
am:
7a16bdbcce
* commit '
7a16bdbcce562a39a6a7defde5e191ca74327f3b':
Reduce memory used by CompiledMethods.
Vladimir Marko [Tue, 27 Oct 2015 16:08:44 +0000 (16:08 +0000)]
Merge "Reduce memory used by CompiledMethods."
Nicolas Geoffray [Tue, 27 Oct 2015 16:04:41 +0000 (16:04 +0000)]
Merge "Support garbage collection of JITted code."
am:
1a7b133947
* commit '
1a7b13394775c363d8f8facf748d188d1c225aac':
Support garbage collection of JITted code.
Nicolas Geoffray [Tue, 27 Oct 2015 16:00:58 +0000 (16:00 +0000)]
Merge "Support garbage collection of JITted code."
Vladimir Marko [Fri, 11 Sep 2015 10:59:18 +0000 (11:59 +0100)]
Reduce memory used by CompiledMethods.
Use LengthPrefixedArray<>s instead of SwapVector<>s to store
CompiledMethod data and get rid of the unnecessary members
of CompiledMethod to reduce dex2oat memory usage. Refactor
the deduplication from CompilerDriver to a new class.
Use HashSet<> instead of std::set<> for the DedupeSet<> to
further decrease the memory usage and improve performance.
This reduces the dex2oat memory usage when compiling boot
image on Nexus 5 (with Optimizing, -j1) by ~6.75MiB (5%).
This also reduces the compile time by ~2.2% (~1.6% dex2oat
time; with Optimizing, without -j).
Change-Id: I974f1f5e58350de2bf487a2bca3907fa05fb80ea
Nicolas Geoffray [Tue, 27 Oct 2015 15:05:40 +0000 (15:05 +0000)]
Merge "Remove stalled DCHECK."
am:
9c6ad8e5da
* commit '
9c6ad8e5da8b3423dc6183f1d6650eda1486bcd0':
Remove stalled DCHECK.
Vladimir Marko [Tue, 27 Oct 2015 15:05:32 +0000 (15:05 +0000)]
Merge "Optimizing: Determine invoke-static/-direct dispatch early."
am:
cbf3c0f4e8
* commit '
cbf3c0f4e8335b460ce2faba3877d4b24fe492a1':
Optimizing: Determine invoke-static/-direct dispatch early.
Nicolas Geoffray [Tue, 27 Oct 2015 15:03:38 +0000 (15:03 +0000)]
Merge "Remove stalled DCHECK."
Vladimir Marko [Tue, 27 Oct 2015 15:02:06 +0000 (15:02 +0000)]
Merge "Optimizing: Determine invoke-static/-direct dispatch early."