OSDN Git Service
Nicolas Geoffray [Mon, 28 Sep 2015 15:08:42 +0000 (16:08 +0100)]
Use make TARGET_LINKER= instead of overriding linker flags.
This solves building mips32 with gcc.
That's a temporary measure until we can set a custom target.
Change-Id: I1e8acfb0f5ca7e28d2ba3fb230b42800d5782973
David Brazdil [Mon, 28 Sep 2015 12:22:17 +0000 (12:22 +0000)]
Merge "Address HPackedSwitch issues raised after merge"
Mark Mendell [Thu, 24 Sep 2015 12:43:40 +0000 (08:43 -0400)]
Address HPackedSwitch issues raised after merge
There were some stylistic comments about the merged files. Fix those.
Add a test that PackedSwitch can be removed by DCE.
Change-Id: Idf45833956e9b58051f942a52b06a1e416606e2e
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Igor Murashkin [Mon, 28 Sep 2015 02:55:40 +0000 (02:55 +0000)]
Merge "Revert "Revert "lambda: Experimental support for capture-variable and liberate-variable"""
Igor Murashkin [Mon, 28 Sep 2015 02:19:06 +0000 (19:19 -0700)]
Revert "Revert "lambda: Experimental support for capture-variable and liberate-variable""
This reverts commit
7bbb80ab52c203e44d2ded2c947b3b03b4b31ec4.
Change-Id: If806ce5c6c5e96fdb2c3761dee096f74e7e5b001
Nicolas Geoffray [Sun, 27 Sep 2015 19:50:57 +0000 (19:50 +0000)]
Merge "Revert "lambda: Experimental support for capture-variable and liberate-variable""
Nicolas Geoffray [Sun, 27 Sep 2015 19:50:40 +0000 (19:50 +0000)]
Revert "lambda: Experimental support for capture-variable and liberate-variable"
Test fails.
This reverts commit
b72123440d8541362ebdb131436f9dbdda5fd329.
Change-Id: Ic9ed92f8c826d8465eb36b746dc44af05caf041c
Andreas Gampe [Sat, 26 Sep 2015 02:45:05 +0000 (02:45 +0000)]
Merge "MIPS64: Implement intrinsics from java.lang.Math:"
Mathieu Chartier [Sat, 26 Sep 2015 00:26:35 +0000 (00:26 +0000)]
Merge "Disable class unloading test for tracing tests"
Mathieu Chartier [Sat, 26 Sep 2015 00:12:48 +0000 (17:12 -0700)]
Disable class unloading test for tracing tests
Temporary fix.
Bug:
24414774
Change-Id: I6f04d6b3bb7eafa009391f46fe16cf2f363e0d70
Igor Murashkin [Fri, 25 Sep 2015 23:55:58 +0000 (23:55 +0000)]
Merge "lambda: Experimental support for capture-variable and liberate-variable"
Chris Larsen [Fri, 4 Sep 2015 19:54:28 +0000 (12:54 -0700)]
MIPS64: Implement intrinsics from java.lang.Math:
- abs(double) - abs(float) - abs(int)
- abs(long) - ceil(double) - floor(double)
- max(double, double) - max(float, float) - max(int, int)
- max(long, long) - min(double, double) - min(float, float)
- min(int, int) - min(long, long) - rint(double)
- sqrt(double)
The math intrinsics:
- round(double) - round(float)
aren't implemented because there is no simple mapping from these Java
functions into MIPS assembly code.
Change-Id: I37ee5224d3d64f7162ed98521ba566fbc58d7905
Igor Murashkin [Fri, 25 Sep 2015 21:22:08 +0000 (14:22 -0700)]
lambda: Experimental support for capture-variable and liberate-variable
Supports capturing/liberating any primitive variables.
No support for capturing objects/lambdas yet since they would both
need GC changes to track roots through closures.
Change-Id: Ibfb68bfe4c579dbf93823aac4c0e6ac8f6360c5d
Mathieu Chartier [Fri, 25 Sep 2015 22:48:01 +0000 (22:48 +0000)]
Merge "Fix tests 116 and 118 for no-prebuild"
Mathieu Chartier [Fri, 25 Sep 2015 22:40:30 +0000 (15:40 -0700)]
Fix tests 116 and 118 for no-prebuild
Added missing "JNI_OnLoad called" in the expected output.
Change-Id: I619aae215c767bd75494933fd3480ec7e91b0570
Andreas Gampe [Fri, 25 Sep 2015 22:14:19 +0000 (22:14 +0000)]
Merge "MIPS64: Implement intrinsics from libcore.io.Memory:"
Mathieu Chartier [Fri, 25 Sep 2015 21:59:28 +0000 (21:59 +0000)]
Merge "Fix bug in WaitForCompilationToFinish"
Mathieu Chartier [Fri, 25 Sep 2015 21:39:40 +0000 (14:39 -0700)]
Fix bug in WaitForCompilationToFinish
We now pass the barrier inside of Finalize, previously we did it in
Run. This was buggy since Finalize is called after Run and there was
a race condition where WaitForCompilationToFinish would delete the
task before we called Finalize.
Change-Id: I3f624fa9cdfcf2b266775c6927c336fb987dd58c
Andreas Gampe [Fri, 25 Sep 2015 21:46:35 +0000 (21:46 +0000)]
Merge "ART: Move code from RA to T9 in Mips64 longjump"
Mathieu Chartier [Fri, 25 Sep 2015 20:20:27 +0000 (20:20 +0000)]
Merge "Fix JIT for class unloading"
Mathieu Chartier [Fri, 25 Sep 2015 18:34:45 +0000 (11:34 -0700)]
Fix JIT for class unloading
Keep declaring class of method live to prevent unloading.
Wait for JIT to finish compiling before calling Runtime.gc(), this
prevents flaky failures due to classes not being unloaded.
Bug:
22720414
Change-Id: I9fe5e5e39d681bcd22acc2d2f34b0dbc9887708d
Andreas Gampe [Fri, 25 Sep 2015 15:24:13 +0000 (08:24 -0700)]
ART: Move code from RA to T9 in Mips64 longjump
Do not use the return address. It should not be clobbered as we
may need it, e.g., for single-frame deopt.
Change-Id: I401d7b0034bc4e210bda231ec78ee31242053b36
Andreas Gampe [Fri, 25 Sep 2015 19:51:10 +0000 (19:51 +0000)]
Merge "MIPS64: Implement miscellaneous bit manipulation intrinsics"
Mathieu Chartier [Fri, 25 Sep 2015 18:34:32 +0000 (18:34 +0000)]
Merge "Call JNI_OnUnload when class loaders get collected"
Mathieu Chartier [Wed, 23 Sep 2015 21:52:39 +0000 (14:52 -0700)]
Call JNI_OnUnload when class loaders get collected
Added test case to 141-class-unload.
Bug:
22720414
Change-Id: I0575fae72521520a17587e8b0088bf8112705ad8
Chris Larsen [Fri, 4 Sep 2015 17:15:27 +0000 (10:15 -0700)]
MIPS64: Implement intrinsics from libcore.io.Memory:
- peekByte(long address)
- peekShort(long address)
- peekInt(long address)
- peekLong(long address)
- pokeByte(long address, byte value)
- pokeShort(long address, short value)
- pokeInt(long address, int value)
- pokeLong(long address, long value)
Change-Id: Ic5996ea035bf7e622b6fc85b9526ee8318cb6b1f
David Brazdil [Fri, 25 Sep 2015 16:45:09 +0000 (16:45 +0000)]
Merge "ART: Reject PackedSwitch with overflowing keys"
David Brazdil [Fri, 25 Sep 2015 15:57:53 +0000 (16:57 +0100)]
ART: Reject PackedSwitch with overflowing keys
As stated in "Dalvik bytecode" sections on switch payload format,
switch case keys must be stored in ascending order. Verifier enforced
this for sparse-switch but not for packed-switch.
Bug:
24399945
Change-Id: I0802d38e2bfae93c0dffe8ebfce2e9693a63ec02
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."
Chris Larsen [Wed, 26 Aug 2015 14:54:08 +0000 (07:54 -0700)]
MIPS64: Implement miscellaneous bit manipulation intrinsics
// java.lang.Double
- doubleToRawLongBits(double) - longBitsToDouble(long)
// java.lang.Float
- floatToRawIntBits(float) - intBitsToFloat(int)
// java.lang.Integer
- numberOfLeadingZeros(int) - reverseBytes(int)
- reverse(int)
// java.lang.Long
- numberOfLeadingZeros(long) - reverseBytes(long)
- reverse(long)
// java.lang.Short
- reverseBytes(short)
Change-Id: Ic8f8c4e7b584132e2282b4fd267453870fefbaaa
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