OSDN Git Service
Calin Juravle [Thu, 13 Nov 2014 17:31:59 +0000 (17:31 +0000)]
[optimizing compiler] Add 014-math3 to the list of arm64 broken tests
Change-Id: I71f48c55eaf86113c1b19c490939bb1518f8dd9e
Calin Juravle [Thu, 13 Nov 2014 16:46:39 +0000 (16:46 +0000)]
[optimizing compiler] Rename dex_offset to dex_pc in the builder
The term dex offset comes from Dalvik where these were addresses in
memory. Currently these should be dex PCs, namely offsets from the start
of code items. Quick lacks this clean up but there's no need to bring
over the convention to optimizing.
(thanks to irogers for the commit message text)
Change-Id: If86c0cf021a06f04a21462053e9d5f31bba7f65d
Calin Juravle [Thu, 13 Nov 2014 15:53:04 +0000 (15:53 +0000)]
[optimizing compiler] Fix Move for instruction with constant output
Change-Id: I15d89292dc62f8dd8643530f95ace2e8be034411
Calin Juravle [Tue, 11 Nov 2014 19:07:44 +0000 (19:07 +0000)]
[optimizing compiler] Add DIV_LONG
- for backends: arm, x86, x86_64
- added cqo, idivq, testq assembly for x64_64
- small cleanups
Change-Id: I762ef37880749038ed25d6014370be9a61795200
Calin Juravle [Tue, 11 Nov 2014 15:38:19 +0000 (15:38 +0000)]
[optimizing compiler] add HTemporary support for long and doubles
Change-Id: I5247ecd71d0193050484b7632c804c9bfd20f924
Nicolas Geoffray [Wed, 12 Nov 2014 17:53:18 +0000 (17:53 +0000)]
Merge "Implement and/or/xor in optimizing."
Vladimir Marko [Wed, 12 Nov 2014 17:29:28 +0000 (17:29 +0000)]
Merge "Fix bad OOM check in Thread::CreatePeer()."
Vladimir Marko [Wed, 12 Nov 2014 15:41:57 +0000 (15:41 +0000)]
Fix bad OOM check in Thread::CreatePeer().
Bug:
18342629
(cherry picked from commit
7bcea103af7cd130254835a30b45d5277a478074)
Change-Id: I5d5c7511bbc705d040095f4934d98d326d54d39e
Nicolas Geoffray [Wed, 12 Nov 2014 13:19:37 +0000 (13:19 +0000)]
Implement and/or/xor in optimizing.
Change-Id: I7cf6da1fd334a7177a5580931b8f174dd40b7cec
Nicolas Geoffray [Wed, 12 Nov 2014 12:21:43 +0000 (12:21 +0000)]
Merge "More armv8/optimizing test failures."
Nicolas Geoffray [Wed, 12 Nov 2014 12:19:58 +0000 (12:19 +0000)]
More armv8/optimizing test failures.
Change-Id: Ic2472e4339f96789086f4397f4a4c53529a3fe49
Nicolas Geoffray [Wed, 12 Nov 2014 11:43:01 +0000 (11:43 +0000)]
Merge "Implement monitorenter/monitorexit."
Nicolas Geoffray [Tue, 11 Nov 2014 16:29:44 +0000 (16:29 +0000)]
Implement monitorenter/monitorexit.
Pretty simple as they just invoke the runtime.
Change-Id: I5fcb2c783deac27e55e28d8b3da3e68ea4b77363
Roland Levillain [Wed, 12 Nov 2014 11:33:41 +0000 (11:33 +0000)]
Merge "Revert "Revert "Add support for long-to-int in the optimizing compiler."""
Nicolas Geoffray [Wed, 12 Nov 2014 10:48:29 +0000 (10:48 +0000)]
Merge "Update list of armv8/optimizing failing tests."
Nicolas Geoffray [Wed, 12 Nov 2014 10:47:41 +0000 (10:47 +0000)]
Update list of armv8/optimizing failing tests.
Change-Id: I9db077b1c8bd687f665574ab64445161dbf0771b
Nicolas Geoffray [Wed, 12 Nov 2014 10:24:10 +0000 (10:24 +0000)]
Merge "Remove HTemporary when building the SSA graph."
Nicolas Geoffray [Wed, 12 Nov 2014 10:22:11 +0000 (10:22 +0000)]
Merge "Implement invokesuper in optimizing."
Nicolas Geoffray [Tue, 11 Nov 2014 14:40:10 +0000 (14:40 +0000)]
Implement invokesuper in optimizing.
- Ensure dex2oat is in PIC mode, as this will drive the decisions
made in the compiler driver, and optimizing only suppots PIC
anyway.
- Since invokesuper is sharpened into invoke-direct, also support
sharpening of invokeinterface and invokevirtual.
Change-Id: I0a1bd79a13dc1c9e67e3cb11d38f0cd4459968ae
Nicolas Geoffray [Wed, 12 Nov 2014 09:19:35 +0000 (09:19 +0000)]
Merge "Implement checkcast for optimizing."
Nicolas Geoffray [Mon, 10 Nov 2014 15:09:21 +0000 (15:09 +0000)]
Implement checkcast for optimizing.
- Ended up not using HTypeCheck because of how
instanceof and checkcast end up having different logic
for code generation.
- Fix a x86_64 assembler bug triggered by now enabling
more methods to be compiled. Difficult to test today
without b/
18117217.
Change-Id: I3022e7ae03befb1d10bea9637ad21fadc430abe0
Ian Rogers [Wed, 12 Nov 2014 01:42:44 +0000 (01:42 +0000)]
Merge "Don't try to handle nested SIGSEGV inside fault handler."
Ian Rogers [Wed, 12 Nov 2014 00:55:11 +0000 (16:55 -0800)]
Don't try to handle nested SIGSEGV inside fault handler.
Trying to handle nested SIGSEGV in the fault handler leads to infinite signals
and retrying if the cause of the SIGSEGV was a lack of stack space. This can
lead to applications not chaining through to debuggerd and dying.
Bug:
18330119
Change-Id: Iadcffe0fa0e55d783b84a06504bbd9d181e641e4
Ian Rogers [Wed, 12 Nov 2014 00:15:58 +0000 (00:15 +0000)]
Merge "Allow JNI AttachCurrentThread to fail if not enough stack."
Ian Rogers [Wed, 12 Nov 2014 00:10:33 +0000 (16:10 -0800)]
Allow JNI AttachCurrentThread to fail if not enough stack.
Add unit tests and move JavaVM JNI tests into there own set of gtests.
Bug:
18330119
Change-Id: I0e93dff783b1f5d787b3084d24122883e14951a1
Nicolas Geoffray [Tue, 11 Nov 2014 18:21:53 +0000 (18:21 +0000)]
Remove HTemporary when building the SSA graph.
- They are useless afterwards. If we keep them around, they can
crash the dump of the graph, where they always assume a previous
instruction.
- In the call to HTemporary::GetType, check that the previous
instruction exists.
Change-Id: Ie7bf44d05cb61e3654a69725c1980925580dd3a6
Mathieu Chartier [Tue, 11 Nov 2014 17:46:36 +0000 (17:46 +0000)]
Merge "Add null check for thread name creation"
Mathieu Chartier [Tue, 11 Nov 2014 00:58:19 +0000 (16:58 -0800)]
Add null check for thread name creation
Previously we didn't check for null which could result in check jni
failures if we tried to throw another OOM in the next allocation.
Bug:
18297817
(cherry picked from commit
a7ade888ab99b1453571d14c41d4a0322c400fcd)
Change-Id: Ideef46f4900e546e81fbd9a5225c06698f36e9ac
Roland Levillain [Tue, 11 Nov 2014 17:35:19 +0000 (17:35 +0000)]
Revert "Revert "Add support for long-to-int in the optimizing compiler.""
This reverts commit
3adfd1b4fb20ac2b0217b5d2737bfe30ad90257a.
Change-Id: Iacf0c6492d49267e24f1b727dbf6379b21fd02db
Ian Rogers [Tue, 11 Nov 2014 16:49:46 +0000 (16:49 +0000)]
Merge "Add jni_internal_test for GetArrayLength(NULL)."
Ian Rogers [Tue, 11 Nov 2014 16:43:05 +0000 (08:43 -0800)]
Add jni_internal_test for GetArrayLength(NULL).
Change-Id: I6c6ad38de3b60d58e6bcf734714f5fad29e73c30
Roland Levillain [Tue, 11 Nov 2014 14:49:25 +0000 (14:49 +0000)]
Merge "Revert "Add support for long-to-int in the optimizing compiler.""
Roland Levillain [Tue, 11 Nov 2014 14:48:08 +0000 (14:48 +0000)]
Revert "Add support for long-to-int in the optimizing compiler."
This reverts commit
647b96f29cb81832e698f863884fdba06674c9de.
Change-Id: I552f23585463c676acbd547521b4d3ee5c0342eb
Calin Juravle [Tue, 11 Nov 2014 14:14:54 +0000 (14:14 +0000)]
Merge "Fix lint error."
Calin Juravle [Tue, 11 Nov 2014 14:13:15 +0000 (14:13 +0000)]
Fix lint error.
Change-Id: Ief9b9fe6982e7e76aae74d6c909bd9f4b3f82673
Vladimir Marko [Tue, 11 Nov 2014 12:31:28 +0000 (12:31 +0000)]
Merge "Revert "Use correct register class for refs""
Vladimir Marko [Tue, 11 Nov 2014 12:30:29 +0000 (12:30 +0000)]
Revert "Use correct register class for refs"
This reverts commit
5c2555407d823356fb55ea3ffdf281aac00a583e.
Change-Id: I0490e9b1a9470e429f31911c9a4f28f71df78cc1
Roland Levillain [Tue, 11 Nov 2014 12:29:57 +0000 (12:29 +0000)]
Merge "Add support for long-to-int in the optimizing compiler."
Roland Levillain [Tue, 11 Nov 2014 12:26:26 +0000 (12:26 +0000)]
Add support for long-to-int in the optimizing compiler.
- Add support for the long-to-int Dex instruction in the
optimizing compiler.
- Generate x86, x86-64 and ARM (but not ARM64) code for
long-to-int HTypeConversion nodes.
- Add related tests to test/422-type-conversion.
- Also fix comments in test/415-optimizing-arith-neg and
in test/416-optimizing-arith-not.
Change-Id: I3084af30f2a495d178362ae1154dc7ceb7bf3a58
Vladimir Marko [Tue, 11 Nov 2014 12:10:56 +0000 (12:10 +0000)]
Merge "Use correct register class for refs"
Nicolas Geoffray [Tue, 11 Nov 2014 10:04:25 +0000 (10:04 +0000)]
Merge "Opt compiler: Add arm64 support for a few more IRs."
Nicolas Geoffray [Tue, 11 Nov 2014 09:58:34 +0000 (09:58 +0000)]
Merge "Opt compiler: Add arm64 support for floating-point."
Serguei Katkov [Thu, 6 Nov 2014 08:45:44 +0000 (14:45 +0600)]
Use correct register class for refs
LoadValue requires thar ref location should reguest kRefReg
register class. The patch fixes GenFilledNewArray to specify
the register class correctly.
This is a fix for the crash of dex2oat on 412-new-array unit test.
Change-Id: I58d969ddac0d84d4024bf686b5b0c12337ca9a37
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Ian Rogers [Tue, 11 Nov 2014 08:47:57 +0000 (08:47 +0000)]
Merge "Fix CombineBlocks optimization"
Ian Rogers [Tue, 11 Nov 2014 08:44:56 +0000 (08:44 +0000)]
Merge "Fix x86 art_quick_set64_instance quick entrypoint"
Serguei Katkov [Thu, 6 Nov 2014 07:56:13 +0000 (13:56 +0600)]
Fix CombineBlocks optimization
(df_attributes & DF_DA) means Get not Put.
The patch fixes the condition to eliminate catch block for
get/put operations.
Change-Id: I48036f3614de5116e27c0d6e9a7a342432c9a828
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Serguei Katkov [Wed, 5 Nov 2014 10:13:18 +0000 (16:13 +0600)]
Fix x86 art_quick_set64_instance quick entrypoint
art_quick_set64_instance accept ebx as a 4-th parameter.
At the same time it is used as a temporary for SETUP_REFS_ONLY_CALLEE_SAVE_FRAME.
We should preserve it and restore to pass the right value to artSet64InstanceFromCode.
Change-Id: Iac0a32583be1015e502ae0f8ff57c4b9c0301730
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Ian Rogers [Tue, 11 Nov 2014 04:55:01 +0000 (04:55 +0000)]
Merge "Fix parentheses, tidy code."
Ian Rogers [Tue, 11 Nov 2014 00:34:29 +0000 (16:34 -0800)]
Fix parentheses, tidy code.
Change-Id: I1ce671fa8a402aed3552102cadc96f277346f443
Nicolas Geoffray [Mon, 10 Nov 2014 22:09:09 +0000 (22:09 +0000)]
Merge "Update dependency after libgtest_libc++_host renaming."
Nicolas Geoffray [Mon, 10 Nov 2014 21:38:15 +0000 (21:38 +0000)]
Update dependency after libgtest_libc++_host renaming.
Change-Id: Ic494c4859d1dd2dd573524777ba9afe0119788e1
Andreas Gampe [Mon, 10 Nov 2014 19:14:31 +0000 (19:14 +0000)]
Merge "ART: Prune links in the dalvik cache"
Mathieu Chartier [Mon, 10 Nov 2014 19:10:52 +0000 (19:10 +0000)]
Merge "Delete unused imtable field"
Andreas Gampe [Mon, 10 Nov 2014 02:14:30 +0000 (18:14 -0800)]
ART: Prune links in the dalvik cache
When pruning the isa-specific directory of the cache, also remove
symbolic links.
Bug:
18035729
Bug:
18153744
Change-Id: I40347ee77e95ff9fc8e6107ba661338f5c7b1db9
(cherry picked from commit
de5ed50940452f06b00514af0667972542ee5d59)
Mathieu Chartier [Sat, 8 Nov 2014 02:38:47 +0000 (18:38 -0800)]
Delete unused imtable field
Bug:
17643507
Change-Id: I1fc7ca2d3bdf1810bcc3b46f867b68a4a6d28ed3
(cherry picked from commit
f2d556401ec1d82fec31c0b29d712de18d838282
Alexandre Rames [Fri, 7 Nov 2014 17:13:31 +0000 (17:13 +0000)]
Opt compiler: Add arm64 support for a few more IRs.
Change-Id: I781ddcbc61eb2b04ae80b1c7697e1ed5694bd5b9
Alexandre Rames [Fri, 7 Nov 2014 17:13:25 +0000 (17:13 +0000)]
Opt compiler: Add arm64 support for floating-point.
Change-Id: I0d97ab0f5ab770fee62c819505743febbce8835e
Roland Levillain [Mon, 10 Nov 2014 14:43:26 +0000 (14:43 +0000)]
Merge "Support Java conversions from char to long in opt. compiler."
Roland Levillain [Mon, 10 Nov 2014 13:39:43 +0000 (13:39 +0000)]
Support Java conversions from char to long in opt. compiler.
These char to long conversions generate int-to-long Dex
instructions.
Change-Id: I6a8e71b57870cf5e8d5bc638fabce0fc7593f0b2
Nicolas Geoffray [Mon, 10 Nov 2014 11:04:16 +0000 (11:04 +0000)]
Merge "Failing test on armv8/optimizing after interface support."
Nicolas Geoffray [Mon, 10 Nov 2014 11:03:16 +0000 (11:03 +0000)]
Failing test on armv8/optimizing after interface support.
Change-Id: I5423196a5bb37cf20fae4aa6df229790486cad95
Nicolas Geoffray [Mon, 10 Nov 2014 10:36:59 +0000 (10:36 +0000)]
Merge "Support invoke-interface in optimizing."
Nicolas Geoffray [Fri, 7 Nov 2014 17:47:25 +0000 (17:47 +0000)]
Support invoke-interface in optimizing.
Change-Id: Ic18d7c3d2810557231caf0571956e0c431f5d384
Nicolas Geoffray [Mon, 10 Nov 2014 08:36:16 +0000 (08:36 +0000)]
Merge "Fix ld_library_path now that a target can be 64bits only."
Nicolas Geoffray [Mon, 10 Nov 2014 08:33:52 +0000 (08:33 +0000)]
Fix ld_library_path now that a target can be 64bits only.
Change-Id: I7cf3429bb460a784433429da19b201cb2947bc48
Andreas Gampe [Sun, 9 Nov 2014 20:45:03 +0000 (20:45 +0000)]
Merge "ART: Fix possible soft+hard failure in verifier"
Andreas Gampe [Tue, 21 Oct 2014 05:25:29 +0000 (22:25 -0700)]
ART: Fix possible soft+hard failure in verifier
It was possible to generate a hard failure and a subsequent soft
failure, which violates a CHECKed invariant.
Refactor code slightly to share common code.
Bug:
17625962
(cherry picked from commit
f08663b47ccd3aa083972d62937a328ad80d080e)
Change-Id: Iccd9e30f1087363b19b2faedc10243a2290202c0
Mathieu Chartier [Sun, 9 Nov 2014 20:37:44 +0000 (20:37 +0000)]
Merge "Fix thread pool test valgrind flakiness"
Mathieu Chartier [Sun, 9 Nov 2014 20:30:50 +0000 (12:30 -0800)]
Fix thread pool test valgrind flakiness
The test used to use the counters to see when the tasks were done
but since the counter is incremented before finalize was called, the
test would sometimes finish before the objects were freed. This
resulted in valgrind leaks.
Change-Id: I6dc3cf6a155cde3af5d06b1416773a6ae6f2a6e6
Ian Rogers [Sun, 9 Nov 2014 01:12:16 +0000 (01:12 +0000)]
Merge "Tidy RegStorage for X86."
Ian Rogers [Sat, 8 Nov 2014 20:19:51 +0000 (20:19 +0000)]
Merge "Tidy some uses of IsCompilationEnabled."
Ian Rogers [Sat, 8 Nov 2014 19:21:21 +0000 (11:21 -0800)]
Tidy RegStorage for X86.
Don't use global variables initialized in constructors to hold onto constant
values, instead use the TargetReg32 helper. Improve this helper with the use
of lookup tables. Elsewhere prefer to use constexpr values as they will have
less runtime cost.
Add an ostream operator to RegStorage for CHECK_EQ and use.
Change-Id: Ib8d092d46c10dac5909ecdff3cc1e18b7e9b1633
Ian Rogers [Sat, 8 Nov 2014 17:36:36 +0000 (17:36 +0000)]
Merge "Fix dump-oat-core-*"
Ian Rogers [Sat, 8 Nov 2014 01:40:16 +0000 (01:40 +0000)]
Merge "Tidy x86 disassembler"
Ian Rogers [Sat, 8 Nov 2014 01:05:19 +0000 (17:05 -0800)]
Tidy some uses of IsCompilationEnabled.
We should be checking IsCompilationEnabled in the compiler, we wouldn't be in
the compiler were compilation disabled.
Change-Id: Ib498fb6d610e4ed517494df01efa4b64a8c12528
Ian Rogers [Sat, 8 Nov 2014 00:58:38 +0000 (16:58 -0800)]
Tidy x86 disassembler
Change-Id: I2f0a2851a15f5a099a5bc0249e3ea0616cdcd94e
Ian Rogers [Sat, 8 Nov 2014 00:55:45 +0000 (16:55 -0800)]
Fix dump-oat-core-*
Change-Id: I53a3bfffb834284c5c3d2297305c7cdc241f8963
Mathieu Chartier [Fri, 7 Nov 2014 19:45:41 +0000 (19:45 +0000)]
Merge "Add hash map, reduce excessive hashing"
Mathieu Chartier [Fri, 7 Nov 2014 00:35:45 +0000 (16:35 -0800)]
Add hash map, reduce excessive hashing
Changed the class def index to use a HashMap instead of unordered_map
so that we can use FindWithHash to reduce how often we need to compute
hashes.
Fixed a bug in ClassLinker::UpdateClass where we didn't properly
handle classes with the same descriptor but different class loaders.
Introduced by previous CL.
Before (fb launch):
1.74% art::ComputeModifiedUtf8Hash(char const*)
After:
0.95% art::ComputeModifiedUtf8Hash(char const*)
Bug:
18054905
Bug:
16828525
Change-Id: Iba2ee37c9837289e0ea187800ba4af322225a994
(cherry picked from commit
564ff985184737977aa26c485d0c1a413e530705)
Andreas Gampe [Fri, 7 Nov 2014 18:40:27 +0000 (18:40 +0000)]
Merge "ART: Use std::vector in GraphChecker"
Andreas Gampe [Fri, 7 Nov 2014 18:34:36 +0000 (10:34 -0800)]
ART: Use std::vector in GraphChecker
(Temporarily) move GraphChecker to use std::vector for errors, as
std::strings need to be destructed.
Bug:
18120045
Change-Id: I7d38001e6b1f3cee14299194d4515b985541d656
Nicolas Geoffray [Fri, 7 Nov 2014 16:36:51 +0000 (16:36 +0000)]
Merge "Silent cpplint on dex instruction switch."
Nicolas Geoffray [Fri, 7 Nov 2014 16:36:02 +0000 (16:36 +0000)]
Silent cpplint on dex instruction switch.
Change-Id: I57a2307c80d38ba29a16cac729bcf3a491549c30
Andreas Gampe [Fri, 7 Nov 2014 16:21:12 +0000 (16:21 +0000)]
Merge "ART: Fix valgrind"
Andreas Gampe [Fri, 7 Nov 2014 16:20:54 +0000 (16:20 +0000)]
Merge "ART: Refactor dex2oat"
Nicolas Geoffray [Fri, 7 Nov 2014 15:59:41 +0000 (15:59 +0000)]
Merge "Opt compiler: Fix HNot on ARM64."
Nicolas Geoffray [Fri, 7 Nov 2014 15:57:49 +0000 (15:57 +0000)]
Merge "Implement instanceof in optimizing."
Alexandre Rames [Fri, 7 Nov 2014 15:56:50 +0000 (15:56 +0000)]
Opt compiler: Fix HNot on ARM64.
Nicolas Geoffray [Fri, 7 Nov 2014 15:37:39 +0000 (15:37 +0000)]
Merge "Fix codegen_test: HNot has only one input."
Nicolas Geoffray [Fri, 7 Nov 2014 15:36:32 +0000 (15:36 +0000)]
Fix codegen_test: HNot has only one input.
Change-Id: I13e54d39dfbf80593f2e9592dbd286c54938e95a
Nicolas Geoffray [Thu, 6 Nov 2014 08:59:20 +0000 (08:59 +0000)]
Implement instanceof in optimizing.
- Only fast-path for now: null or same class.
- Use pQuickInstanceofNonTrivial for slow path.
Change-Id: Ic5196b94bef792f081f3cb4d15157058e1381e6b
Nicolas Geoffray [Fri, 7 Nov 2014 15:19:09 +0000 (15:19 +0000)]
Merge "Opt compiler: specify that inputs and outputs don't overlap on arm64."
Alexandre Rames [Thu, 6 Nov 2014 12:41:16 +0000 (12:41 +0000)]
Opt compiler: specify that inputs and outputs don't overlap on arm64.
Change-Id: I062b70c6534c0d203674dccddbf11f94da72cdb4
Nicolas Geoffray [Fri, 7 Nov 2014 14:43:52 +0000 (14:43 +0000)]
Merge "Do not update Out after it has a valid location."
Nicolas Geoffray [Fri, 7 Nov 2014 10:48:10 +0000 (10:48 +0000)]
Do not update Out after it has a valid location.
Slow paths use LocationSummary to know where to move
things around, and they are executed at the end of the
code generation.
This fix is needed for https://android-review.googlesource.com/#/c/113345/.
Change-Id: Id336c6409479b1de6dc839b736a7234d08a7774a
Nicolas Geoffray [Fri, 7 Nov 2014 14:37:28 +0000 (14:37 +0000)]
Merge "The test now uses libarttest.so, so fails in ndebug mode."
Nicolas Geoffray [Fri, 7 Nov 2014 14:32:42 +0000 (14:32 +0000)]
The test now uses libarttest.so, so fails in ndebug mode.
libarttest.so is linked against libartd.so, so running the
test with libart.so will fail.
Change-Id: I395d03b4b4e6b37d81c5066950afe521801410e4
Nicolas Geoffray [Fri, 7 Nov 2014 13:57:03 +0000 (13:57 +0000)]
Merge "Support floats and doubles in fields."
Nicolas Geoffray [Thu, 6 Nov 2014 15:15:31 +0000 (15:15 +0000)]
Support floats and doubles in fields.
Change-Id: I19832106633405403f0461b3fe13b268abe39db3
Narayan Kamath [Fri, 7 Nov 2014 13:13:36 +0000 (13:13 +0000)]
Merge "Fix build."