OSDN Git Service
Vladimir Marko [Fri, 25 Sep 2015 16:26:18 +0000 (16:26 +0000)]
Merge "Optimizing: Add comment on DCE's packed-switch value check."
Vladimir Marko [Fri, 25 Sep 2015 16:10:15 +0000 (17:10 +0100)]
Optimizing: Add comment on DCE's packed-switch value check.
Change-Id: I0c264d00b889917f88347c16c53e7647d0d8fd0f
Mathieu Chartier [Fri, 25 Sep 2015 15:50:24 +0000 (15:50 +0000)]
Merge "Enable class unloading"
Andreas Gampe [Fri, 25 Sep 2015 15:46:06 +0000 (15:46 +0000)]
Merge "ART: Show the previous failure type in init rejection"
Vladimir Marko [Fri, 25 Sep 2015 15:37:14 +0000 (15:37 +0000)]
Merge "ART: Fix misleading error message in method verifier."
Vladimir Marko [Fri, 25 Sep 2015 14:57:36 +0000 (15:57 +0100)]
ART: Fix misleading error message in method verifier.
Change-Id: I4805de0060b74168fa36e077a6a7ea59e9d72d46
Vladimir Marko [Fri, 25 Sep 2015 13:59:08 +0000 (13:59 +0000)]
Merge "Optimizing: Tag more arena allocations."
Vladimir Marko [Fri, 25 Sep 2015 13:58:00 +0000 (13:58 +0000)]
Merge "Optimizing: Rewrite DCE's MarkReachableBlocks()."
Vladimir Marko [Thu, 24 Sep 2015 15:52:33 +0000 (16:52 +0100)]
Optimizing: Rewrite DCE's MarkReachableBlocks().
Replace a recursive implementation with a loop using a work
list to avoid stack overflow that we would presumably hit
for 702-LargeBranchOffset in host debug build with -O0, once
the DCE block elimination is enabled for methods containing
try-catch.
Bug:
24133462
Change-Id: I41288ba368722bcb5d68259c7c147552c8928099
Vladimir Marko [Thu, 17 Sep 2015 16:03:26 +0000 (17:03 +0100)]
Optimizing: Tag more arena allocations.
Replace GrowableArray with ArenaVector and tag arena
allocations with new allocation types.
As part of this, make the register allocator a bit more
efficient, doing bulk insert/erase. Some loops are now
O(n) instead of O(n^2).
Change-Id: Ifac0871ffb34b121cc0447801a2d07eefd308c14
David Brazdil [Fri, 25 Sep 2015 10:59:35 +0000 (10:59 +0000)]
Merge "ART: SsaBuilder clean up"
David Brazdil [Tue, 22 Sep 2015 13:39:58 +0000 (14:39 +0100)]
ART: SsaBuilder clean up
Adds DCHECKs which verify assumptions about catch blocks. Uses HPhi::
IsVRegEquivalentOf instead of a local function.
Change-Id: I1b6db5ff2da5263d61261963308b6d65453a6d56
David Brazdil [Fri, 25 Sep 2015 09:50:18 +0000 (09:50 +0000)]
Merge "ART: Preserve loop headers with try/catch"
David Brazdil [Tue, 22 Sep 2015 12:04:14 +0000 (13:04 +0100)]
ART: Preserve loop headers with try/catch
Algorithm for inserting HTryBoundary instructions would generate a
non-natural loop when a loop header block was covered by a TryItem.
This patch changes the approach to fix the issue.
Bug:
23895756
Change-Id: I0e1ee6cf135cea326a96c97954907d202c9793cc
Mathieu Chartier [Sat, 19 Sep 2015 19:44:38 +0000 (12:44 -0700)]
Enable class unloading
Also added class unloading test. Added a missing write barrier in
the class linker to fix a heap corruption error.
Bug:
22720414
Change-Id: Iff615d69b574a4438e91d4c844279d202f4f2736
Elliott Hughes [Thu, 24 Sep 2015 23:26:30 +0000 (23:26 +0000)]
Merge "dexdump2 won't be optional when it replaces dexdump."
Elliott Hughes [Thu, 24 Sep 2015 06:01:31 +0000 (23:01 -0700)]
dexdump2 won't be optional when it replaces dexdump.
So it should just be in /system/bin, not sad and lonely in /system/xbin.
Change-Id: I2edda827d36486f46fdcfd77f0ee6eec1345974c
Vladimir Marko [Thu, 24 Sep 2015 17:13:16 +0000 (17:13 +0000)]
Merge "Optimizing: Rewrite HGraph::FindBackEdges()."
Vladimir Marko [Thu, 24 Sep 2015 17:04:38 +0000 (17:04 +0000)]
Merge "Optimizing: Rewrite HGraph::ComputeDominanceInformation()."
Vladimir Marko [Thu, 24 Sep 2015 12:11:31 +0000 (13:11 +0100)]
Optimizing: Rewrite HGraph::FindBackEdges().
Replace a recursive implementation with a loop using a work
list to avoid stack overflow for 702-LargeBranchOffset in
host debug build with -O0, 512KiB thread pool worker stack.
Change-Id: Iaa91f006fa1099913aeffc9c764879bd004d56de
Vladimir Marko [Wed, 23 Sep 2015 15:07:14 +0000 (16:07 +0100)]
Optimizing: Rewrite HGraph::ComputeDominanceInformation().
Replace a recursive implementation with a loop using a work
list to avoid stack overflow for 702-LargeBranchOffset in
host debug build with -O0.
Bug:
24133462
Change-Id: I444cc85733a9212403a071ea98b9ddfb52bfc402
Vladimir Marko [Thu, 24 Sep 2015 12:19:32 +0000 (12:19 +0000)]
Merge "ART: mprotect() bottom page of ThreadPoolWorker stacks."
David Brazdil [Thu, 24 Sep 2015 11:16:17 +0000 (11:16 +0000)]
Merge "ART: Refactor run-test 482-loop-back-edge-use"
Vladimir Marko [Thu, 24 Sep 2015 09:41:33 +0000 (10:41 +0100)]
ART: mprotect() bottom page of ThreadPoolWorker stacks.
This will catch stack overflows instead of creating hard
to find issues later on.
Bug:
24133462
Change-Id: I3ae5d5da70b8167867936b2561830f3ff47f14fc
Aart Bik [Thu, 24 Sep 2015 01:44:04 +0000 (01:44 +0000)]
Merge "Minor cleanup in range analysis."
Aart Bik [Thu, 24 Sep 2015 00:50:50 +0000 (17:50 -0700)]
Minor cleanup in range analysis.
(1) replaced min/max macro as previously required.
(2) removed some redundant code by merging min/max into one.
Change-Id: I610879a06d550346bfac7e6e12ec0299ba226a37
Aart Bik [Wed, 23 Sep 2015 23:34:54 +0000 (23:34 +0000)]
Merge "Various improvements in finding induction variables."
Aart Bik [Wed, 16 Sep 2015 19:50:25 +0000 (12:50 -0700)]
Various improvements in finding induction variables.
Rationale:
(1) Analyze multi-way phis (requested by Nicolas, Igor, and Mingyao).
(2) Analyze trip count for restricted != loops
(3) Added unit test for public API of range analysis (static methods
were already well-tested).
Change-Id: I9285d22d3bb927f141204cc4697ea6fe5120994d
Aart Bik [Wed, 23 Sep 2015 18:43:56 +0000 (18:43 +0000)]
Merge "Replaced INT_MIN/MAX with modern-day limits."
Mathieu Chartier [Wed, 23 Sep 2015 18:35:57 +0000 (18:35 +0000)]
Merge "Add benchmark for jobject functions"
Aart Bik [Wed, 23 Sep 2015 18:18:57 +0000 (11:18 -0700)]
Replaced INT_MIN/MAX with modern-day limits.
Change-Id: Ia6a0df1e8c6a543c338db0acd75437e1d19701e3
Alex Light [Wed, 23 Sep 2015 16:41:24 +0000 (16:41 +0000)]
Merge "Fix falkiness in 117-nopatchoat"
Alex Light [Sat, 19 Sep 2015 00:09:43 +0000 (17:09 -0700)]
Fix falkiness in 117-nopatchoat
Previously if the image chose a relocation delta of 0 this test would
fail. Now we check for this state directly.
Bug:
24192015
Change-Id: Ie818701edc5605fed590547f0e8b1e97d1d994e3
David Brazdil [Wed, 23 Sep 2015 10:24:56 +0000 (11:24 +0100)]
ART: Refactor run-test 482-loop-back-edge-use
The test used to rely on absolute liveness positions of instructions.
This was painful but worked on all architectures because all passes
were platform agnostic. This does not apply any more and the test
needed to be rewritten.
Change-Id: I423e61ba64a9522361f8e20c27b1975656419f67
Nicolas Geoffray [Wed, 23 Sep 2015 11:04:28 +0000 (11:04 +0000)]
Merge "Don't use ninja to build targets."
Nicolas Geoffray [Wed, 23 Sep 2015 11:02:56 +0000 (12:02 +0100)]
Don't use ninja to build targets.
Ninja does not preserve the -e option given to make.
Change-Id: I3b540aa420a57369b67565477a31c6ff2c17afaf
Mathieu Chartier [Wed, 23 Sep 2015 01:14:29 +0000 (18:14 -0700)]
Add benchmark for jobject functions
Measures performance of:
Add/RemoveLocalRef
Add/RemoveGlobalRef
Add/RemoveWeakGlobalRef
Decoding local, weak, global, handle scope jobjects.
N5 results:
benchmark ns linear runtime
AddRemoveGlobal 476.7 ===========================
AddRemoveLocal 42.0 ==
AddRemoveWeakGlobal 519.7 ==============================
DecodeGlobal 69.9 ====
DecodeHandleScopeRef 38.9 ==
DecodeLocal 70.7 ====
DecodeWeakGlobal 119.7 ======
Change-Id: Iba014a9993909ee45fd52ae48d6dea8428a86bf2
Andreas Gampe [Tue, 22 Sep 2015 23:19:35 +0000 (23:19 +0000)]
Merge "ART: PathClassLoader test"
Andreas Gampe [Mon, 21 Sep 2015 18:25:10 +0000 (11:25 -0700)]
ART: PathClassLoader test
Add a test checking that subclassing PathClassLoader works as
expected.
Change-Id: Ic6bb733b748df5e29b21df021f302ed4237b0f99
Mathieu Chartier [Tue, 22 Sep 2015 23:05:14 +0000 (23:05 +0000)]
Merge "Some clean up for mark sweep files"
Andreas Gampe [Tue, 22 Sep 2015 23:05:00 +0000 (23:05 +0000)]
Merge "[optimizing] Add basic PackedSwitch support"
Mathieu Chartier [Tue, 22 Sep 2015 23:04:55 +0000 (23:04 +0000)]
Merge "Clear allocator in image writer"
Mathieu Chartier [Tue, 22 Sep 2015 22:18:04 +0000 (15:18 -0700)]
Clear allocator in image writer
Doesn't fix any active bugs, just precautionary.
Change-Id: I32a89e00b1d5964ad77fb53eded55263fea5df00
Mathieu Chartier [Tue, 22 Sep 2015 21:53:32 +0000 (14:53 -0700)]
Some clean up for mark sweep files
Bug:
19534862
Change-Id: Ib619e8c4b9d902269d123baa18be56c94114e070
Yabin Cui [Tue, 22 Sep 2015 21:18:55 +0000 (21:18 +0000)]
Merge "Fix static build when libbacktrace links llvm libraries."
Mathieu Chartier [Tue, 22 Sep 2015 18:23:19 +0000 (18:23 +0000)]
Merge "Fix CreateLinearAlloc bug"
Aart Bik [Tue, 22 Sep 2015 18:05:39 +0000 (18:05 +0000)]
Merge "Various improvements in range analysis."
Mathieu Chartier [Tue, 22 Sep 2015 18:04:26 +0000 (11:04 -0700)]
Fix CreateLinearAlloc bug
Should have been using IsAotCompiler since the JIT has IsCompiler
as true but no low 4 GB arena pool.
Fixes 64 bit JIT tests.
Change-Id: Idc4d3e66c573eacd31ae85c66f8493b418d221d7
Mathieu Chartier [Tue, 22 Sep 2015 16:28:12 +0000 (16:28 +0000)]
Merge "Revert "Revert "Add one LinearAlloc per ClassLoader"""
Mathieu Chartier [Tue, 22 Sep 2015 15:50:05 +0000 (08:50 -0700)]
Revert "Revert "Add one LinearAlloc per ClassLoader""
Issue was fixed by:
https://android-review.googlesource.com/#/c/171945/
Bug:
22720414
This reverts commit
7de5dfe37f3cf24e1166412b589f6f67dcd1f1c0.
Aart Bik [Mon, 21 Sep 2015 21:45:05 +0000 (14:45 -0700)]
Various improvements in range analysis.
Rationale:
Using min/max values for "unknowns" is a bit wasteful,
since it eliminates two useful values. Replaced this
with additional boolean to make cases more accurate.
Added few cases to handle examples found in real-life.
Change-Id: I211f8d9a28b1ae79abdb55fb4569716f21d8043b
Vladimir Marko [Tue, 22 Sep 2015 14:23:04 +0000 (14:23 +0000)]
Merge "ART: Fix destruction order in Runtime."
Vladimir Marko [Tue, 22 Sep 2015 10:43:46 +0000 (11:43 +0100)]
ART: Fix destruction order in Runtime.
Destroy arena allocators as late as possible.
With https://android-review.googlesource.com/172057 , the
ArenaPool was indirectly used by ClassLinker's destructor
(via ~LinearAlloc) after it has already been destroyed.
These allocators were being destroyed way too early anyway,
they should be orderly destroyed when the unique_ptr<>
members of Runtime have their destructors executed. However,
due to the potential dependence on MemMap, we destroy them
just before the MemMap::ShutDown().
Change-Id: Ifc3e5a24a29536d5767c82353901e2d22b13d643
Nicolas Geoffray [Tue, 22 Sep 2015 09:53:20 +0000 (09:53 +0000)]
Merge "Further refinements to checkcast/instanceof."
Nicolas Geoffray [Tue, 22 Sep 2015 09:48:28 +0000 (09:48 +0000)]
Merge "Revert "Add one LinearAlloc per ClassLoader""
Nicolas Geoffray [Tue, 22 Sep 2015 09:48:02 +0000 (09:48 +0000)]
Revert "Add one LinearAlloc per ClassLoader"
Times out on 32bit target/host for 132-daemon-locks-shutdown test.
Bug:
22720414
This reverts commit
356412e2b7ba3fde164bc08a44fee0ddc19c54e1.
Change-Id: I5ab3a09e88a5ad8c306a27d2606ecbecc80b9326
Nicolas Geoffray [Mon, 21 Sep 2015 17:41:21 +0000 (18:41 +0100)]
Further refinements to checkcast/instanceof.
- Use setcc when possible.
- Do an exact check in the Object[] case before checking the
component type.
Change-Id: Ic11c60643af9b41fe4ef2beb59dfe7769bef388f
Yabin Cui [Tue, 22 Sep 2015 03:28:36 +0000 (20:28 -0700)]
Fix static build when libbacktrace links llvm libraries.
Bug:
22229391
Change-Id: I8a2f3471cc1915e1e4e1eea0898219614e289ef3
Mathieu Chartier [Mon, 21 Sep 2015 23:29:32 +0000 (23:29 +0000)]
Merge "Add one LinearAlloc per ClassLoader"
Andreas Gampe [Mon, 21 Sep 2015 23:07:57 +0000 (23:07 +0000)]
Merge "ART: Use JIT image for JIT run tests"
Andreas Gampe [Mon, 21 Sep 2015 22:14:38 +0000 (15:14 -0700)]
ART: Use JIT image for JIT run tests
Don't use interpreter image anymore. That was a stop-gap measure.
Change-Id: If4b43bc20026b1ed89e59690fe35771746e354e6
Andreas Gampe [Mon, 21 Sep 2015 20:07:50 +0000 (20:07 +0000)]
Merge "Revert "ART: Skip image visitor in OatWriter for VerifyAtRuntime""
Mathieu Chartier [Mon, 21 Sep 2015 16:07:37 +0000 (09:07 -0700)]
Add one LinearAlloc per ClassLoader
Also added freeing linear alloc and class table when the
corresponding class loader is no longer reachable.
Bug:
22720414
Change-Id: Icb32c3a4c865f240e147bc87ed080a6b1d8a5795
Andreas Gampe [Mon, 21 Sep 2015 18:46:52 +0000 (11:46 -0700)]
Revert "ART: Skip image visitor in OatWriter for VerifyAtRuntime"
This reverts commit
d5ce6a80d6795ada9f47600287706135481cbb4b.
This has an unexpected side effect of not correctly including
reference classes in the boot image. Needs more investigation.
Bug:
24103765
Bug:
24213543
Change-Id: I2a7649f07ec73c59a8cb543f12b6496ac74f7a11
Vladimir Marko [Mon, 21 Sep 2015 18:52:46 +0000 (18:52 +0000)]
Merge "Fix locking on string init map (again)."
David Brazdil [Mon, 21 Sep 2015 17:43:03 +0000 (17:43 +0000)]
Merge "MIPS64: No call if ArraySet does not need a type check"
David Brazdil [Mon, 21 Sep 2015 17:39:16 +0000 (18:39 +0100)]
MIPS64: No call if ArraySet does not need a type check
The MIPS64 back-end did not use the ArraySet::NeedsTypeCheck query to
decide whether to invoke runtime or not like the other back-ends do.
Change-Id: Ie4ef9ee3ca97947256cd59983a2c1c3e3af58c83
David Brazdil [Mon, 21 Sep 2015 17:34:58 +0000 (17:34 +0000)]
Merge "ART: Print short register names with MIPS64"
David Brazdil [Mon, 21 Sep 2015 17:20:26 +0000 (18:20 +0100)]
ART: Print short register names with MIPS64
MIPS64 back-end would print register names as "GpuRegister: X" or
"FpuRegister: X". Space separates Checker attributes and therefore
caused a test to fail. This patch changes it to print "aX" and "fX"
respectively.
Change-Id: Iffae989f25563ef074dd7ef0b09cdfe438119cee
David Brazdil [Mon, 21 Sep 2015 15:44:52 +0000 (15:44 +0000)]
Merge "ART: Fix bug in DeadPhiHandling"
David Brazdil [Thu, 17 Sep 2015 15:47:21 +0000 (16:47 +0100)]
ART: Fix bug in DeadPhiHandling
When reviving dead phis for --debuggable, the DeadPhiHandling algorithm
could produce two phis of the same type, which causes the SSAChecker
graph verifier to fail. This patch fixes the bug.
Note that the code is currently not exercised because compilation is
delegated to Quick for --debuggable.
Bug:
24129675
Change-Id: I26b6dcf3071b325cc7871b989a36c505279ae681
Andreas Gampe [Mon, 21 Sep 2015 15:35:52 +0000 (08:35 -0700)]
ART: Show the previous failure type in init rejection
Print the descriptor of the failure type when we reject re-init
on a previously failed class.
Bug:
24213543
Change-Id: Ied0f101b81e386951313edd09865a8b0142b9d16
David Brazdil [Mon, 21 Sep 2015 14:30:38 +0000 (14:30 +0000)]
Merge "ART: Optimize catch phi creation to save memory."
Vladimir Marko [Mon, 21 Sep 2015 11:00:16 +0000 (12:00 +0100)]
Fix locking on string init map (again).
Follow-up to
https://android-review.googlesource.com/172036 ,
https://android-review.googlesource.com/171621 .
Don't overwrite existing values, only insert new ones.
(Also improve performance by using move semantics.)
This prevents the following race: Thread 1 looks for string
init map for a method but doesn't find it, so it starts to
construct a new map. Thread 2 is doing the same but it's
faster and actually inserts the new map and keeps a pointer
to it. After Thread 2 releases the lock, Thread 1 acquires
it and starts to Overwrite() the element that the Thread 2
is currently using, so Thread 2 ends up looking at a map
that's being actively modified.
Change-Id: I135571af644363ea7bb282969a1bc7287b34f9b2
Mark Mendell [Fri, 18 Sep 2015 13:26:15 +0000 (09:26 -0400)]
[optimizing] Add basic PackedSwitch support
Add HPackedSwitch, and generate it from the builder. Code generators
convert this to a series of compare/branch tests. Better implementation
in the code generators as a real jump table will follow as separate CLs.
Change-Id: If14736fa4d62809b6ae95280148c55682e856911
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Nicolas Geoffray [Mon, 21 Sep 2015 10:35:24 +0000 (10:35 +0000)]
Merge "Fix braino in new build targets."
Nicolas Geoffray [Mon, 21 Sep 2015 10:20:20 +0000 (11:20 +0100)]
Fix braino in new build targets.
adb should be added to target build, not host build.
Change-Id: I91308f20cee66603441c08ba3dd57c107bf6317c
Nicolas Geoffray [Mon, 21 Sep 2015 10:13:40 +0000 (10:13 +0000)]
Merge "Remove adb from host build in buildbot."
Nicolas Geoffray [Mon, 21 Sep 2015 10:11:40 +0000 (11:11 +0100)]
Remove adb from host build in buildbot.
HOST_PREFER_32_BIT is for ART use only.
Change-Id: I080de289d22ed9ad9ab6befbd0605ef4043e8b15
Jeff Hao [Fri, 18 Sep 2015 22:58:22 +0000 (22:58 +0000)]
Merge "Fix locking on string init map."
Jeff Hao [Fri, 18 Sep 2015 21:44:32 +0000 (14:44 -0700)]
Fix locking on string init map.
Related to: https://android-review.googlesource.com/#/c/171621
Change-Id: Ib6dcf9914f490f1d744c0abe1f520e5b307c7acd
Mathieu Chartier [Fri, 18 Sep 2015 19:13:26 +0000 (19:13 +0000)]
Merge "Handle OOME during threadstress finishing message"
Andreas Gampe [Fri, 18 Sep 2015 18:07:49 +0000 (18:07 +0000)]
Merge "ART: Decrease dex2oat watchdog timeout"
Mathieu Chartier [Fri, 18 Sep 2015 03:46:56 +0000 (20:46 -0700)]
Handle OOME during threadstress finishing message
If there is an OOME that occurs after the "Finishing workers" it
caused the test to fail.
Also guard worker thread creation by try catch for OOME.
Bug:
18577101
Change-Id: I69367be0aad3f60093c02c7f63ae3c20757fb89b
Andreas Gampe [Fri, 18 Sep 2015 17:55:28 +0000 (17:55 +0000)]
Merge "ART: Clean up less in dex2oat"
Andreas Gampe [Thu, 17 Sep 2015 21:03:21 +0000 (14:03 -0700)]
ART: Clean up less in dex2oat
In non-debug builds, clean up even less. We already did not shut
down the runtime. Also skipping the compiler driver and the
verification results removes all major points of destructor
performance.
Tested with a common large app on Nexus 9. Time between dex2oat timing
message and executable exit (log from immediately-after log echo)
[w/o swap, w/ swap].
Before: 2.409s / 48.774s
After: 0.132s / 0.188s
Bug:
24199200
Change-Id: I5d8c17f8e28796545cfbb3887c07c92905f9b48d
Alex Light [Fri, 18 Sep 2015 17:37:17 +0000 (17:37 +0000)]
Merge "Make run-{libcore,jdwp}-tests work with OUT_DIR set."
Nicolas Geoffray [Fri, 18 Sep 2015 14:20:39 +0000 (14:20 +0000)]
Merge "Revert "Revert "Optimize code generation of check-cast and instance-of."""
Nicolas Geoffray [Fri, 18 Sep 2015 13:40:46 +0000 (13:40 +0000)]
Revert "Revert "Optimize code generation of check-cast and instance-of.""
This reverts commit
7537437c6a2f89249a48e30effcc27d4e7c5a04f.
Change-Id: If759cb08646e47b62829bebc3c5b1e2f2969cf84
David Brazdil [Fri, 18 Sep 2015 13:58:57 +0000 (14:58 +0100)]
ART: Optimize catch phi creation to save memory.
Catch phis are eagerly created for all vregs and then removed as
throwing instructions with undefined locals are encountered. This can
be optimized since rougly one third of vregs is already undefined with
the first throwing instruction.
Change-Id: Ia4e66f19ea03f9a129b4b64d4193d262fff45224
Nicolas Geoffray [Fri, 18 Sep 2015 13:51:30 +0000 (13:51 +0000)]
Merge "Fix x64's cmpw."
Nicolas Geoffray [Fri, 18 Sep 2015 13:36:49 +0000 (14:36 +0100)]
Fix x64's cmpw.
Change-Id: If700f2994990864c8b34aa52eb7a767153a1f917
David Brazdil [Fri, 18 Sep 2015 13:16:03 +0000 (13:16 +0000)]
Merge "ART: Delete catch phis for undefined vregs."
David Brazdil [Fri, 18 Sep 2015 09:58:32 +0000 (10:58 +0100)]
ART: Delete catch phis for undefined vregs.
SSA builder assumed that (eagerly created) catch phis for undefined
vregs must be dead and will be deleted by dead phi elimination. This,
however, does not hold for --debuggable because the catch phis might
be revived for their environment uses. This patch modifies the builder
to delete the phis itself.
Bug:
24054676
Change-Id: Iaa5f2487ff1c38353b44cb89c709bbff1ecd73cc
Vladimir Marko [Fri, 18 Sep 2015 08:31:16 +0000 (08:31 +0000)]
Merge "ART: Fix two allocation/deallocation mismatches."
Sebastien Hertz [Fri, 18 Sep 2015 07:07:01 +0000 (07:07 +0000)]
Merge "Deoptimization support in optimizing compiler for setting local values"
Andreas Gampe [Mon, 14 Sep 2015 22:34:38 +0000 (15:34 -0700)]
ART: Decrease dex2oat watchdog timeout
Keep the dex2oat watchdog timeout lower than the package manager
timeout, so that dex2oat kills itself before the system server
watchdog kills the system because of the long installation.
Bug:
23629410
Change-Id: I5faa23a1715736a1c2ba3f302a6ee41130d3fbae
Jeff Hao [Fri, 18 Sep 2015 01:58:23 +0000 (01:58 +0000)]
Merge "Add lock around interpreter string init reg map."
Alex Light [Thu, 17 Sep 2015 23:59:09 +0000 (16:59 -0700)]
Make run-{libcore,jdwp}-tests work with OUT_DIR set.
Change the two scripts to use the value of the OUT_DIR environment
variable if it is set to find the build directory. If OUT_DIR is not
set just fall back to the default 'out/'.
Change-Id: I19824d792d5dcbed32846912fb36654894fcc0ac
Jeff Hao [Fri, 18 Sep 2015 00:29:01 +0000 (17:29 -0700)]
Add lock around interpreter string init reg map.
Fixes intermittent test failures. Note that locks can't be held
while the verifier is generating the map.
Change-Id: Ie38d6bf0d9c5e81d66b8c167fde0e75a0565cea5