OSDN Git Service
Ian Rogers [Tue, 26 Aug 2014 22:55:27 +0000 (22:55 +0000)]
Merge "ART: Add non-temporal store support"
Jean Christophe Beyler [Fri, 25 Jul 2014 19:32:18 +0000 (12:32 -0700)]
ART: Add non-temporal store support
Added non-temporal store support as a hint from the ME.
Added the implementation of the memory barrier
extended instruction that supports non-temporal stores
by explicitly serializing all previous store-to-memory instructions.
Change-Id: I8205a92083f9725253d8ce893671a133a0b6849d
Signed-off-by: Jean Christophe Beyler <jean.christophe.beyler@intel.com>
Signed-off-by: Chao-ying Fu <chao-ying.fu@intel.com>
Mathieu Chartier [Tue, 26 Aug 2014 18:03:03 +0000 (18:03 +0000)]
Merge "Fix race condition in TransitionCollector."
Mathieu Chartier [Sat, 23 Aug 2014 20:56:03 +0000 (13:56 -0700)]
Fix race condition in TransitionCollector.
There was a minor race condition that could happen if multiple
threads called TransitionCollector at the same time. Starting out
in CMS:
Thread 1: TransitionCollector(SS).
Thread 2: TransitionCollector(CMS) sees that it is already CMS so
has copying_transition == false. But then thread 2 changes to SS.
Thread 1 resumes but incorrectly doesn't check the
disable_moving_gc_count_ possibly resulting in errors if
disable_moving_gc_count_ != 0 due to JNI since we are going from
SS -> CMS and are goign to move objects.
(cherry picked from commit
de2233bbf64c7dde96513a729f6a97aebc2f0424)
Change-Id: I2fdda85f7cb7cbb0df3d1466a3c74853c5304c1b
Andreas Gampe [Tue, 26 Aug 2014 17:55:56 +0000 (17:55 +0000)]
Merge "ART: Improve error message on oat writer failure"
Andreas Gampe [Tue, 22 Jul 2014 05:56:08 +0000 (22:56 -0700)]
ART: Improve error message on oat writer failure
Try to log the pending exception to help resolve issues.
Bug:
16406811
Change-Id: I035ae9e59a5ee02b9e90c35c0644ec088d3c7d12
Ian Rogers [Tue, 26 Aug 2014 17:36:09 +0000 (17:36 +0000)]
Merge "Fix usage of literals within a macro."
Ian Rogers [Tue, 26 Aug 2014 17:34:09 +0000 (10:34 -0700)]
Fix usage of literals within a macro.
Macs handle arguments in macros as $num meaning literals must be $$num.
Change-Id: Ia30c7ef4e089561e9f23f353d7080e800b117d70
Mathieu Chartier [Tue, 26 Aug 2014 17:17:09 +0000 (17:17 +0000)]
Merge "Map heap maps at a lower address."
Mathieu Chartier [Mon, 25 Aug 2014 23:32:41 +0000 (16:32 -0700)]
Map heap maps at a lower address.
We now map the heap mmaps at a lower address in case the app needs
larger continuous address space.
Bug:
16502380
(cherry picked from commit
18bacb60e09fa8aa20ae0a1d7a4a8968d4913fb0)
Change-Id: I66447f853e439448c72923e2d1c657c94c5f1543
Andreas Gampe [Tue, 26 Aug 2014 17:11:38 +0000 (17:11 +0000)]
Merge "ART: kSuper also has IncompatibleClassChangeError"
Andreas Gampe [Tue, 26 Aug 2014 03:55:01 +0000 (20:55 -0700)]
ART: kSuper also has IncompatibleClassChangeError
When resolving methods, kSuper can also have
IncompatibleClassChangeError.
Bug:
17266767
(cherry picked from commit
9cb8d7a9a5013dd1e6734d9643573a4750d869e2)
Change-Id: I5fafe03ad578f605825a3d0c89f1254a4a385b76
Andreas Gampe [Tue, 26 Aug 2014 17:09:59 +0000 (17:09 +0000)]
Merge "ART: Fix IncompatibleClassChange check for ArtMethod"
Andreas Gampe [Tue, 26 Aug 2014 03:46:31 +0000 (20:46 -0700)]
ART: Fix IncompatibleClassChange check for ArtMethod
In case of kSuper we should complain sometimes.
Bug:
17265201
(cherry picked from commit
249907fe09afd9243c9675a67b157b98378fa3cf)
Change-Id: Ifad903a750495963c7128296713fbd7c4add71cd
buzbee [Tue, 26 Aug 2014 14:42:32 +0000 (14:42 +0000)]
Merge "Quick compiler: fix DCHECK"
buzbee [Mon, 25 Aug 2014 16:34:03 +0000 (09:34 -0700)]
Quick compiler: fix DCHECK
Cherry-pick from internal 532582
A DCHECK intended to verify the soundness of the mapping between
a wide Dalvik value and a pair of temp registers incorrectly fired
when the temp register pair was associated with a wide temporary
(i.e. - when (SReg() == INVALID_SREG)).
In this particular situation, the wideness flag is meaningful only when
there is an associated valid vreg. Code rearranged to only perform
the DCHECK and reset the partner's wideness bit when we're dealing with
a live wide value.
b/
16484538
Change-Id: I3b8a7bebc5d918c65ea56ae8db0a8a5cd8003386
Brian Carlstrom [Tue, 26 Aug 2014 06:40:32 +0000 (06:40 +0000)]
Merge "CheckAndClearResolveException should allow LinkageError"
Brian Carlstrom [Tue, 26 Aug 2014 06:07:30 +0000 (23:07 -0700)]
CheckAndClearResolveException should allow LinkageError
Bug:
16565964
(cherry picked from commit
118785c6f82ac1ec7074b5efe367b3dafd904940)
Change-Id: I7bc170e7a9ee9bd19defdd20187ee36a2381bf5d
Mathieu Chartier [Tue, 26 Aug 2014 03:31:59 +0000 (03:31 +0000)]
Merge "Reduce GC log spam."
Mathieu Chartier [Tue, 26 Aug 2014 02:46:57 +0000 (19:46 -0700)]
Reduce GC log spam.
Homogeneous compaction and collector transitions now print to
VLOG(gc) instead of LOG(INFO).
Bug:
17166556
(cherry picked from commit
0ab56e95e203806dae347056d3331a3e6037457d)
Change-Id: I33157ca27da86cbb741759bb0bda6d38d1f5bfcd
Mathieu Chartier [Tue, 26 Aug 2014 01:30:04 +0000 (01:30 +0000)]
Merge "Fixed typo in entrypoint stub."
Fred Shih [Tue, 26 Aug 2014 01:19:50 +0000 (18:19 -0700)]
Fixed typo in entrypoint stub.
Fixed typo for x86 stub causing mac build failure.
Change-Id: I5e063fb87c598c2d9beb22f6d5b97b7fd4df9b84
Hiroshi Yamauchi [Tue, 26 Aug 2014 00:27:55 +0000 (00:27 +0000)]
Merge "Remove an intermediate field array in ClassLinker::InitializeClass."
Hiroshi Yamauchi [Fri, 22 Aug 2014 19:12:56 +0000 (12:12 -0700)]
Remove an intermediate field array in ClassLinker::InitializeClass.
This improves on CL 105090 by removing the need for the intermediate
field array by iterating two iterators in parallel.
Bug:
12687968
Change-Id: I32d4570948a9d39ccb1c20a02e18b48f15ed0738
Ian Rogers [Mon, 25 Aug 2014 22:52:34 +0000 (22:52 +0000)]
Merge "ART: Extending FlagsOf"
Mathieu Chartier [Mon, 25 Aug 2014 21:23:50 +0000 (21:23 +0000)]
Merge "Reduced memory usage of primitive fields smaller than 4-bytes"
Jean Christophe Beyler [Tue, 29 Jul 2014 20:20:42 +0000 (13:20 -0700)]
ART: Extending FlagsOf
Modified FlagsOf to handle extended flags.
Change-Id: I9e47e0c42816136b2b53512c914200dd9dd11376
Signed-off-by: Jean Christophe Beyler <jean.christophe.beyler@intel.com>
Fred Shih [Thu, 17 Jul 2014 01:38:08 +0000 (18:38 -0700)]
Reduced memory usage of primitive fields smaller than 4-bytes
Reduced memory used by byte and boolean fields from 4 bytes down to a
single byte and shorts and chars down to two bytes. Fields are now
arranged as Reference followed by decreasing component sizes, with
fields shuffled forward as needed.
Bug:
8135266
Change-Id: I65eaf31ed27e5bd5ba0c7d4606454b720b074752
Brian Carlstrom [Mon, 25 Aug 2014 18:12:06 +0000 (18:12 +0000)]
Merge "Reduce log spam by changing a LOG(INFO) to VLOG(startup)"
Alex Light [Thu, 21 Aug 2014 16:45:00 +0000 (09:45 -0700)]
Reduce log spam by changing a LOG(INFO) to VLOG(startup)
Bug:
17166556
Change-Id: I9975ba07ad8f119a6e367e2770a60040a462149b
Brian Carlstrom [Mon, 25 Aug 2014 17:51:38 +0000 (17:51 +0000)]
Merge "Support running without a boot image."
Mathieu Chartier [Mon, 25 Aug 2014 17:47:37 +0000 (17:47 +0000)]
Merge "Fix GC memory overhead accounting."
Mathieu Chartier [Thu, 21 Aug 2014 19:21:48 +0000 (12:21 -0700)]
Fix GC memory overhead accounting.
There was some missing null checks.
Bug:
16238192
(cherry picked from commit
2e290fb35ba1959e5a0ac85e87591ab9623808c1)
Change-Id: I4220272ac9c194e30fc307fca9918a4bb725e261
Alex Light [Tue, 19 Aug 2014 21:23:13 +0000 (14:23 -0700)]
Support running without a boot image.
Bug:
17000769
Change-Id: I6404d5050c8a2f4ee6e70d58532eb25ee9de248e
Mathieu Chartier [Mon, 25 Aug 2014 16:50:39 +0000 (16:50 +0000)]
Merge "Clean up Handle usage."
Mathieu Chartier [Sat, 23 Aug 2014 23:37:27 +0000 (16:37 -0700)]
Clean up Handle usage.
Prefer using ConstHandle instead of Handle as function arguments
since you can't assign new references to ConstHandle which helps
prevent bugs.
Changed NullHandle to be a ConstHandle so that you can never modify
it to be a non null reference.
Change-Id: I81cb979f6f8d5b49e5614966a2caf28c3701dd4f
Andreas Gampe [Sat, 23 Aug 2014 05:47:17 +0000 (05:47 +0000)]
Merge "ART: Clean up compiler"
Andreas Gampe [Wed, 13 Aug 2014 06:19:23 +0000 (23:19 -0700)]
ART: Clean up compiler
Clean up the compiler: less extern functions, dis-entangle
compilers, hide some compiler specifics, lower global includes.
Change-Id: Ibaf88d02505d86994d7845cf0075be5041cc8438
Mathieu Chartier [Sat, 23 Aug 2014 01:09:34 +0000 (01:09 +0000)]
Merge "Add fallback for non moving space being full."
Mathieu Chartier [Fri, 22 Aug 2014 21:53:04 +0000 (14:53 -0700)]
Add fallback for non moving space being full.
When the non moving space becomes full, we disable moving GC and
make the main space the new non moving space.
Also added a runtime option for changing the non moving space size:
-XX:NonMovingSpaceCapacity.
Bug:
17189964
(cherry picked from commit
4c5a469683e433f126c9863cd393747d2e7c4a29)
Change-Id: If82e3c6f8a0f389e37e14a0b1e6d5126d571fd7a
Ian Rogers [Fri, 22 Aug 2014 23:14:27 +0000 (23:14 +0000)]
Merge "ART: Support MIRGraph constant interface"
Razvan A Lupusoru [Mon, 4 Aug 2014 19:30:20 +0000 (12:30 -0700)]
ART: Support MIRGraph constant interface
-Adds a helper to be able to ask for a wide constant.
-Allows MIRGraph to provide interface to set constants.
Change-Id: Id282ee1604a0bd0bce6f495176d6bca35dcd5a00
Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
Ian Rogers [Fri, 22 Aug 2014 21:59:25 +0000 (21:59 +0000)]
Merge "Using the correct time for wait_start_ms when lock contention logging is enabled"
Xin Guan [Fri, 22 Aug 2014 16:55:37 +0000 (11:55 -0500)]
Using the correct time for wait_start_ms when lock contention logging is enabled
Bug:
17208457
Change-Id: I35555e0acf3b37bb3776a62c64d59ae93403b237
(cherry picked from commit
b894a19dfd668b6779de939cf5265b7e409d8809)
Andreas Gampe [Fri, 22 Aug 2014 20:34:16 +0000 (20:34 +0000)]
Merge "ART: Reject field accesses to non-reference vregs."
Stephen Kyle [Fri, 22 Aug 2014 14:03:07 +0000 (15:03 +0100)]
ART: Reject field accesses to non-reference vregs.
The verifier will now reject any iget/iput insts
that do not have a reference object in vB.
Bug:
17207857
Change-Id: I2826f0f7abfc88561f4da9486588592f4b296d14
Signed-off-by: Stuart Monteith <stuart.monteith@arm.com>
Hiroshi Yamauchi [Fri, 22 Aug 2014 18:43:16 +0000 (18:43 +0000)]
Merge "Handlerize MethodVerifier::mirror_method_."
Hiroshi Yamauchi [Fri, 22 Aug 2014 18:13:12 +0000 (11:13 -0700)]
Handlerize MethodVerifier::mirror_method_.
The method (mirror_method_) wasn't handlerized across some
allocation/GC points such as the ResolveType() call in
ScanTryCatchBlocks() and the GetReturnType() calls in
CodeFlowVerifyInstruction().
Bug:
12687968
Change-Id: I95323de14459eb5a7c4abfcf44f882f86d59be64
Mathieu Chartier [Fri, 22 Aug 2014 17:30:28 +0000 (17:30 +0000)]
Merge "Fix testing wrong variable for non zygote."
Mathieu Chartier [Fri, 22 Aug 2014 01:28:20 +0000 (18:28 -0700)]
Fix testing wrong variable for non zygote.
For non zygote we want to only have a single non moving space to
let dex2oat use RosAlloc for all allocations.
Fixed stale low memory logic in parsed options.
Bug:
17189964
(cherry picked from commit
a12c2a945fe3f10d3ed31aa5db3e422cc1ad7f98)
Change-Id: I4fc00b277db6780ed410eab4cd969e8f004d5348
Calin Juravle [Fri, 22 Aug 2014 17:12:00 +0000 (17:12 +0000)]
Merge "Always setup the native bridge library"
Calin Juravle [Fri, 22 Aug 2014 11:53:59 +0000 (12:53 +0100)]
Always setup the native bridge library
... even if the string is empty. This will initialize the native bridge
library but mark it as unavailable.
- also, rename native_bridge_library_path to
native_bridge_library_filename to be closer to the actual meaning (it's
just the filename without any path).
Bug:
16404669
(cherry picked from commit I94628639691459d48d1fbf0841f36b68d51818e7)
Change-Id: I94628639691459d48d1fbf0841f36b68d51818e7
Ian Rogers [Fri, 22 Aug 2014 16:27:44 +0000 (16:27 +0000)]
Merge "GetDalvikDisassembly should work even without SSA info"
Ian Rogers [Fri, 22 Aug 2014 16:19:17 +0000 (16:19 +0000)]
Merge "ART: Fix frontend to allow possibility of multiple code units"
Ian Rogers [Fri, 22 Aug 2014 14:48:40 +0000 (14:48 +0000)]
Merge "ARM64: Avoid the duplication of condition codes."
Ian Rogers [Fri, 22 Aug 2014 14:33:14 +0000 (14:33 +0000)]
Merge "AArch64: Improve MIR to LIR translation for abs"
Alexandre Rames [Fri, 22 Aug 2014 13:08:36 +0000 (14:08 +0100)]
ARM64: Avoid the duplication of condition codes.
Andreas Gampe [Fri, 22 Aug 2014 04:44:19 +0000 (04:44 +0000)]
Merge "ART: Add dex dependency for gtest"
Dave Allison [Fri, 22 Aug 2014 01:16:56 +0000 (01:16 +0000)]
Merge "Fix signal test build"
Dave Allison [Fri, 22 Aug 2014 00:22:38 +0000 (17:22 -0700)]
Fix signal test build
Bug:
17188805
(cherry picked from commit
b9d6a55eb4eb5872739ed26ac535f0c6342e813b)
Change-Id: I0a271aa214eebe11a8442ebf68811e0d8f077d36
Dave Allison [Fri, 22 Aug 2014 01:12:53 +0000 (01:12 +0000)]
Merge "Add supported architectures to signal test."
Dave Allison [Fri, 22 Aug 2014 01:12:30 +0000 (01:12 +0000)]
Merge "Fix fault handler to unregister on shutdown"
Dave Allison [Fri, 22 Aug 2014 01:12:03 +0000 (01:12 +0000)]
Merge "Remove profiler log line"
Andreas Gampe [Fri, 22 Aug 2014 01:04:38 +0000 (18:04 -0700)]
ART: Add dex dependency for gtest
Change-Id: I22d5e9b69e40585c6ee57381ee758b4b32e07f96
Ian Rogers [Thu, 21 Aug 2014 23:44:23 +0000 (23:44 +0000)]
Merge "ART: Remove a BasicBlock's fall_through pointer in Hide()"
Hiroshi Yamauchi [Thu, 21 Aug 2014 23:34:51 +0000 (23:34 +0000)]
Merge "Avoid handle-less fields in ClassLinker::InitializeClass()"
Ian Rogers [Thu, 21 Aug 2014 23:34:14 +0000 (23:34 +0000)]
Merge "ART: Implement kMirOpNullCheck"
Hiroshi Yamauchi [Thu, 21 Aug 2014 22:59:43 +0000 (15:59 -0700)]
Avoid handle-less fields in ClassLinker::InitializeClass()
There were some handle-less fields in a SafeMap across GC points.
Bug:
12687968
Change-Id: Ib8c6527d4e23031f1d0074fa11d8f85499b68340
Brian Carlstrom [Thu, 21 Aug 2014 22:58:24 +0000 (22:58 +0000)]
Merge "Make a couple of map checks debug only."
Andreas Gampe [Thu, 21 Aug 2014 22:18:06 +0000 (22:18 +0000)]
Merge "Fix host 64-bit ISA string"
Alex Light [Thu, 21 Aug 2014 17:00:27 +0000 (10:00 -0700)]
Fix host 64-bit ISA string
Bug:
17185619,
15358152
Change-Id: I5b80e36890abf659634c38ec7dd6fa336bf8a75a
Narayan Kamath [Thu, 21 Aug 2014 16:38:09 +0000 (17:38 +0100)]
Make a couple of map checks debug only.
This cost us close to 80ms in app startup times.
The checks that a reused region was within an already
existent map has been demoted to a debug check.
A couple of other negative checks have been removed
outright because one of them was superflous and the other
wasn't guaranteed to be correct.
bug:
16828525
(cherry picked from commit
bddaea2b88b0a19d9cc7a4dea772af8e829323b3)
Change-Id: Ia6f3e69692bb9cb5b4ff6f47946ea38a56d4cdb6
Andreas Gampe [Thu, 21 Aug 2014 20:24:24 +0000 (20:24 +0000)]
Merge "ART: Remove GOT setup from x86 assembly where not needed"
Andreas Gampe [Thu, 21 Aug 2014 01:21:45 +0000 (18:21 -0700)]
ART: Remove GOT setup from x86 assembly where not needed
Change-Id: Id839d6d6427da7b7faa4340e04085cdab388e9a5
Dave Allison [Thu, 21 Aug 2014 00:38:41 +0000 (17:38 -0700)]
Fix fault handler to unregister on shutdown
This fixes a problem with the fault handler where it wasn't
unregistering itself during shutdown of the runtime.
Bug:
17133266
(cherry picked from commit
e8b9afcd0cd86b8808af29a97332038aab70c604)
Change-Id: I1a4ec4292ec049046dda30769265680201729efb
Ian Rogers [Thu, 21 Aug 2014 18:49:06 +0000 (18:49 +0000)]
Merge "ART: A couple of checks were missed in class LockWord"
Dave Allison [Wed, 20 Aug 2014 21:29:39 +0000 (14:29 -0700)]
Add supported architectures to signal test.
This adds ARM, AARCH64, i386 and x86_64 to the supported architectures
in 004-SignalTest
Bug:
16948053
(cherry picked from commit
d4af31aa69fe8786a291c566c375bbac04da9ced)
Change-Id: I17a992b2cf47f8744f867b8e3f1c360aa345093d
Dave Allison [Thu, 21 Aug 2014 16:45:04 +0000 (09:45 -0700)]
Remove profiler log line
This removes a LOG(INFO) saying that the profile is disabled.
Bug:
17166556
(cherry picked from commit
b9c3888380666a7b44718f04f787693787cd57c6)
Change-Id: I9c9c470f554605a1183bcf84c5d864f9c4f24f72
Ian Rogers [Thu, 21 Aug 2014 18:38:48 +0000 (18:38 +0000)]
Merge "x86: A couple of minor changes for String.indexOf() inlining"
Ian Rogers [Thu, 21 Aug 2014 18:30:14 +0000 (18:30 +0000)]
Merge "ART: Fix verifier fail message."
Ian Rogers [Thu, 21 Aug 2014 17:52:05 +0000 (17:52 +0000)]
Merge "Fix OOM test case to handle more optimizations"
Mathieu Chartier [Thu, 21 Aug 2014 16:45:17 +0000 (16:45 +0000)]
Merge "Check pending exception result in AllocObjectWithAllocator."
Mathieu Chartier [Thu, 21 Aug 2014 01:19:23 +0000 (18:19 -0700)]
Check pending exception result in AllocObjectWithAllocator.
Possible previous bug:
Allocation fails due to OOM and the collector transitions.
This caused us to incorrectly retry the allocation with a pending
exception. We now return null if there is a pending exception.
Bug:
17164348
(cherry picked from commit
27f5ae830c5418fa92094608a6e9f693ea88bb69)
Change-Id: I8e7ecafbade7f0b955812df3dd7c94fdc696c856
Sebastien Hertz [Thu, 21 Aug 2014 14:52:34 +0000 (14:52 +0000)]
Merge "Fixed wrong field usage in Instrumentation::RemoveListener"
Daniel Mihalyi [Thu, 21 Aug 2014 13:57:25 +0000 (15:57 +0200)]
Fixed wrong field usage in Instrumentation::RemoveListener
Change-Id: I574fcacf754c1da1dc03459d5859b04bcebeac11
Signed-off-by: Daniel Mihalyi <daniel.mihalyi@mattakis.com>
Serguei Katkov [Thu, 21 Aug 2014 09:43:54 +0000 (16:43 +0700)]
GetDalvikDisassembly should work even without SSA info
It is good if GetDalvikDisassembly can dump MIR even if
SSA register info is not available. Without this patch it
crashes.
Change-Id: I704c28c891cd2580a7819f7fd972167c3bf67ddc
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Elliott Hughes [Thu, 21 Aug 2014 04:13:56 +0000 (04:13 +0000)]
Merge "Kill HAVE_ANDROID_PTHREAD_SETNAME_NP."
Elliott Hughes [Thu, 21 Aug 2014 03:18:18 +0000 (20:18 -0700)]
Kill HAVE_ANDROID_PTHREAD_SETNAME_NP.
All it means is __BIONIC__ anyway.
Change-Id: I3ef4ef1a14d0a77c75539f2ab533ee2f3964e1a5
Andreas Gampe [Thu, 21 Aug 2014 00:59:30 +0000 (00:59 +0000)]
Merge "ART: Relax GetInstructionSetFromString"
Jean Christophe Beyler [Wed, 18 Jun 2014 21:14:15 +0000 (14:14 -0700)]
ART: Remove a BasicBlock's fall_through pointer in Hide()
Remove the fall_through link that a BasicBlock has to its child when
calling its Hide function. Useful for removing the visible link that is
there when we dump the CFG.
Change-Id: Ie82c48b195d1d62e2984d284dcc29ed7d7444db2
Signed-off-by: Jean Christophe Beyler <jean.christophe.beyler@intel.com>
Andreas Gampe [Wed, 20 Aug 2014 00:28:06 +0000 (17:28 -0700)]
ART: Relax GetInstructionSetFromString
Do not abort on an unknown instruction set string. Instead return
kNone and let the caller handle this.
Also simplify the patchoat tool to use this.
Bug:
17136416
(cherry picked from commit
aabbb2066a715b3fd8e752291f74c6d77b970450)
Change-Id: I24131914bcf91c04ae93179bf809a2907f1f2b7a
Ian Rogers [Wed, 20 Aug 2014 23:22:57 +0000 (23:22 +0000)]
Merge "Make common BitVector operations inline-able."
Ian Rogers [Wed, 20 Aug 2014 22:08:45 +0000 (15:08 -0700)]
Make common BitVector operations inline-able.
Change-Id: Ie25de4fae56c6712539f04172c42e3eff57df7ca
Elliott Hughes [Wed, 20 Aug 2014 22:48:19 +0000 (22:48 +0000)]
Merge "bionic has always had gettid."
Elliott Hughes [Wed, 20 Aug 2014 22:00:04 +0000 (15:00 -0700)]
bionic has always had gettid.
dex2oat calls GetTid for every line it outputs via Message, which is why
this showed up so much in strace.
Bug:
17049821
Change-Id: Ib51c7f88410b291692874023902cf43f4b9a9d1c
Razvan A Lupusoru [Mon, 7 Jul 2014 23:29:37 +0000 (16:29 -0700)]
ART: Fix frontend to allow possibility of multiple code units
This patch addresses a potential problem in frontend which refers
to the CompilationUnit's code unit. However, a MIRGraph may have
multiple code units and thus it makes sense to refer to the current
one being handled.
Change-Id: I69ca7b6056652109c969e7c583fc223e45315c96
Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
Razvan A Lupusoru [Mon, 4 Aug 2014 16:38:46 +0000 (09:38 -0700)]
ART: Implement kMirOpNullCheck
The semantics of kMirOpNullCheck is to check object for null and
throw exception in that case. However, the implementation for it
is empty. This has been changed and appropriate dataflow have been
added to correctly reflect behavior.
In order to allow testing of implementation, the SpecialMethodInliner
has been updated to get rid of invoke and use this instead. This helps
all optimizations which do not check the MIR_INLINED flag because
when invoke is left in, they believe that invoke will still be done.
Change-Id: I62e425e42bdbc6357246fb949db5f79de73cf358
Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
Martyn Capewell [Thu, 7 Aug 2014 10:31:48 +0000 (11:31 +0100)]
AArch64: Improve MIR to LIR translation for abs
Improve translation by using a shorter and more efficient sequence for integer
abs, and replacing UBFM with AND for FP abs in integer registers.
Change-Id: Ifc39cd7806ed637d5cfc3284c435b5d501047eb5
Signed-off-by: Alexandre Rames <alexandre.rames@arm.com>
Mathieu Chartier [Wed, 20 Aug 2014 17:00:48 +0000 (17:00 +0000)]
Merge "Enable large object space for zygote."
Mathieu Chartier [Wed, 20 Aug 2014 01:24:04 +0000 (18:24 -0700)]
Enable large object space for zygote.
We now enable the large object space before the zygote fork.
This reduces the size of the zygote and removes the need for
excessive explicit GCs during phone booting.
Changed the card set mod union table to support forgetting cards.
If a card has no non null references which are in another space
then it is removed from the set.
Added logging of the zygote size when you do a SIGQUIT.
Dalvik PSS is the same or slightly lower (1-3%).
Zygote space size:
Before: 15MB
After: 8MB (+ some large objects).
TODO: Combine remembered sets and mod union tables into a single
interface.
Bug:
16398684
Change-Id: Ie48cdf35004a0a37eedb1ccc1bf214b1fa9e0cca