OSDN Git Service
Nicolas Geoffray [Fri, 27 Mar 2015 09:53:16 +0000 (09:53 +0000)]
Intrinsify String.compareTo.
Change-Id: Ia540df98755ac493fe61bd63f0bd94f6d97fbb57
Nicolas Geoffray [Fri, 27 Mar 2015 09:29:06 +0000 (09:29 +0000)]
Merge "[optimizing] Implement X86 intrinsic support"
Mark Mendell [Wed, 25 Mar 2015 12:30:06 +0000 (08:30 -0400)]
[optimizing] Implement X86 intrinsic support
Implement the supported intrinsics for X86.
Enhance the graph visualizer to print <U> for unallocated locations, to
allow calling the graph dumper from within register allocation for
debugging purposes.
Change-Id: I3b0319eb70a9a4ea228f67065b4c52d13a1ae775
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Andreas Gampe [Thu, 26 Mar 2015 22:44:03 +0000 (22:44 +0000)]
Merge "ART: Change RETURN_OBJECT verification for arrays"
Mathieu Chartier [Thu, 26 Mar 2015 22:34:57 +0000 (22:34 +0000)]
Merge "Fix ClassLinker::MayBeCalledWithDirectCodePointer for JIT"
Andreas Gampe [Mon, 23 Mar 2015 17:10:20 +0000 (10:10 -0700)]
ART: Change RETURN_OBJECT verification for arrays
Arrays appear to be valid (as according to spec), even if their
components are erroneous. If a component is erroneous, it may not
have loaded superclass or interface information, and so fail a
direct check for assignability.
Add a cutout that checks whether the declared return-type or the
actual return-type are arrays with erroneous components (and if so,
have the same 'depth'). In that case, generate a soft instead of a
hard error.
Also includes a fix to DumpClass.
Bug:
19683465
Change-Id: Ie73de03adeb0af7e939370d7363684fe125d7994
Mathieu Chartier [Thu, 26 Mar 2015 16:41:50 +0000 (09:41 -0700)]
Fix ClassLinker::MayBeCalledWithDirectCodePointer for JIT
Currently, we don't know if another method has a direct code
pointer or not. This should fix the case where breakpoints
occasionally don't work with JIT.
The JIT now also checks that a method doesn't have any breakpoints
before starting to compile it.
Bug:
17950037
Change-Id: I17cfe874fe4825beba23903a5053d5cb27e106cb
Nicolas Geoffray [Thu, 26 Mar 2015 18:12:55 +0000 (18:12 +0000)]
Merge "New localhost failures...."
Nicolas Geoffray [Thu, 26 Mar 2015 18:08:59 +0000 (18:08 +0000)]
New localhost failures....
Change-Id: Id3992f3c04dfa8fad130073ee9ea4f4d715c8432
Nicolas Geoffray [Thu, 26 Mar 2015 18:03:00 +0000 (18:03 +0000)]
Merge "Add a script to run jdwp tests on the chrome buildbot."
Nicolas Geoffray [Thu, 26 Mar 2015 16:48:29 +0000 (16:48 +0000)]
Add a script to run jdwp tests on the chrome buildbot.
Change-Id: Ia702fd884f10abcb0887f4964c7df3c04a508984
David Brazdil [Thu, 26 Mar 2015 15:18:57 +0000 (15:18 +0000)]
Merge "ART: Define IsInt when N==kBitsPerIntPtrT"
David Brazdil [Thu, 26 Mar 2015 15:11:45 +0000 (15:11 +0000)]
ART: Define IsInt when N==kBitsPerIntPtrT
'utils.h' contains two implementations of the IsInt query, one of
which is defined for bit sizes <= kBitsPerIntPtrT, while the other
only for sizes < kBitsPerIntPtrT. This patch unifies the behaviour
and fixes the breakage caused by it.
Change-Id: I4f5589b1a36b6c24926e50574fbca528c33d701f
Richard Uhler [Thu, 26 Mar 2015 14:57:37 +0000 (14:57 +0000)]
Merge "Store odex files in oat/<isa>/ directory."
David Brazdil [Thu, 26 Mar 2015 14:11:53 +0000 (14:11 +0000)]
Merge "ART: Force constants into the entry block"
David Brazdil [Tue, 24 Mar 2015 10:51:52 +0000 (10:51 +0000)]
ART: Force constants into the entry block
Optimizations such as GVN and BCE make the assumption that all
constants are located in the entry block of the CFG, but not all
passes adhere to this rule.
This patch makes constructors of constants private and only accessible
to friend classes - HGraph for int/long constants and SsaBuilder for
float/double - which ensure that they are placed correctly and not
duplicated.
Note that the ArenaAllocatorAdapter was modified to not increment
the ArenaAllocator's internal reference counter in order to allow
for use of ArenaSafeMap inside an arena-allocated objects. Because
their destructor is not called, the counter does not get decremented.
Change-Id: I36a4fa29ae34fb905cdefd482ccbf386cff14166
Nicolas Geoffray [Thu, 26 Mar 2015 10:45:51 +0000 (10:45 +0000)]
Merge "Use the original invoke type when inlining."
Nicolas Geoffray [Thu, 26 Mar 2015 10:05:54 +0000 (10:05 +0000)]
Use the original invoke type when inlining.
When resolving a method through the compiler driver, the code makes
sure the call in the DEX bytecode matches the kind of method found,
to check for IncompatibleClassChangeError. Because when we sharpen
an invoke virtual, we transform the invoke kind to direct, we must not
use the new kind, but the one in DEX.
Change-Id: Iaf77b27b529c659ea48ffb19f46427552c9e3654
Richard Uhler [Mon, 16 Mar 2015 21:32:16 +0000 (14:32 -0700)]
Store odex files in oat/<isa>/ directory.
Previously odex files were stored alongside the dex location as:
dex location: /foo/bar/base.apk
odex location: /foo/bar/<isa>/base.odex
This changes where odex files are stored, adding an "oat" directory:
dex location: /foo/bar/base.apk
odex location: /foo/bar/oat/<isa>/base.odex
See also the corresponding change in platform/build and
platform/frameworks/native.
Bug:
19550105
Change-Id: I4c6be4f0c41ff175904846db8e360c4af815b265
Nicolas Geoffray [Wed, 25 Mar 2015 21:14:16 +0000 (21:14 +0000)]
Merge "Mark the tests as failing for now."
Nicolas Geoffray [Wed, 25 Mar 2015 21:13:05 +0000 (21:13 +0000)]
Mark the tests as failing for now.
Need to investigate what is going on with the network on
the devices...
Change-Id: Ic308e768989bfbdbb086a4d09e31a7cc9a327d70
Nicolas Geoffray [Wed, 25 Mar 2015 17:56:53 +0000 (17:56 +0000)]
Merge "Make sure localhost is enabled on testing devices."
Nicolas Geoffray [Wed, 25 Mar 2015 17:22:34 +0000 (17:22 +0000)]
Make sure localhost is enabled on testing devices.
Change-Id: I9057dd77a8c760cc5881f3b2eaeb14a0d9910b51
Nicolas Geoffray [Wed, 25 Mar 2015 17:19:07 +0000 (17:19 +0000)]
Merge "Revert "Revert "Inline across dex files."""
Calin Juravle [Wed, 25 Mar 2015 17:15:21 +0000 (17:15 +0000)]
Merge changes I4b3b4d90,I70e0d78f,I2848636f
* changes:
Forbid the use of shifts in ShifterOperand in Thumb2
Make subs and adds alter flags when rn is an immediate
Inline long shift code
Nicolas Geoffray [Wed, 25 Mar 2015 10:08:51 +0000 (10:08 +0000)]
Revert "Revert "Inline across dex files.""
This reverts commit
6a816cf624ba56bf2872916d7b65b18fd9a411ef.
Change-Id: I36cb524108786dd7996f2aea0443675be1f1b859
Richard Uhler [Wed, 25 Mar 2015 17:10:11 +0000 (17:10 +0000)]
Merge "Support relative encoded dex locations in oat files."
Calin Juravle [Wed, 25 Mar 2015 14:10:12 +0000 (14:10 +0000)]
Merge "Share dex register maps between stack maps when possible."
Calin Juravle [Wed, 18 Mar 2015 16:31:28 +0000 (16:31 +0000)]
Share dex register maps between stack maps when possible.
If two stack maps have the same dex register map then one of them will
reference the register map from the other instead of owning an
independent copy.
This saves around 1.5% of space.
Change-Id: Ic2c2c81210c6c45a5c5f650f7ba82a46ff6f45e4
Vladimir Marko [Wed, 25 Mar 2015 12:49:56 +0000 (12:49 +0000)]
Merge "Quick: Fix "select" pattern to update data used for GC maps."
David Brazdil [Wed, 25 Mar 2015 12:31:22 +0000 (12:31 +0000)]
Merge "ART: Formatting and comments in BooleanSimplifier"
David Brazdil [Wed, 25 Mar 2015 11:17:37 +0000 (11:17 +0000)]
ART: Formatting and comments in BooleanSimplifier
Change-Id: I9a5aa3f2aa8b0a29d7b0f1e5e247397cf8e9e379
Vladimir Marko [Wed, 25 Mar 2015 11:13:39 +0000 (11:13 +0000)]
Quick: Fix "select" pattern to update data used for GC maps.
Follow-up to
https://android-review.googlesource.com/143222
Change-Id: I1c12af9a19f76e64fd209f6cc2eaec5587b3083b
Guillaume "Vermeille" Sanchez [Wed, 11 Mar 2015 14:00:30 +0000 (14:00 +0000)]
Forbid the use of shifts in ShifterOperand in Thumb2
Change-Id: I4b3b4d90f11f2dd0c9a274b724051fa98982fb19
Guillaume "Vermeille" Sanchez [Wed, 11 Mar 2015 14:30:31 +0000 (14:30 +0000)]
Make subs and adds alter flags when rn is an immediate
Change-Id: I70e0d78f155bf806222ad12a324dbd8c8fe575a1
Guillaume "Vermeille" Sanchez [Wed, 11 Mar 2015 14:57:40 +0000 (14:57 +0000)]
Inline long shift code
Change-Id: I2848636f892e276507d04f4313987b9f4c80686b
Narayan Kamath [Wed, 25 Mar 2015 08:47:02 +0000 (08:47 +0000)]
Merge "Emit 4 byte UTF-sequences in place of encoded surrogate pairs."
Narayan Kamath [Fri, 13 Feb 2015 11:49:22 +0000 (11:49 +0000)]
Emit 4 byte UTF-sequences in place of encoded surrogate pairs.
Symmetric with
a5afcfc73141e5e378d79a326d0 which converts 4 byte UTF-8
sequences to surrogate pairs.
bug:
18848397
Change-Id: I42adc275b7e0df0cbbd9d8a799e8b0447d8f5cae
Richard Uhler [Wed, 18 Mar 2015 15:21:11 +0000 (08:21 -0700)]
Support relative encoded dex locations in oat files.
Now when opening an oat file, the caller can pass an absolute dex
location used to resolve the absolute path for any relative
encoded dex locations in the oat file.
Bug:
19550105
Change-Id: I6e9559afe4d86ac12cf0b90176b5ea696a83d0e7
David Brazdil [Tue, 24 Mar 2015 19:24:09 +0000 (19:24 +0000)]
Merge "ART: Fix crash in gtests"
David Brazdil [Tue, 24 Mar 2015 18:49:14 +0000 (18:49 +0000)]
ART: Fix crash in gtests
SsaLivenessAnalysis was crashing after change of iteration order in
142377 because gtests do not always build reverse post order.
Change-Id: If5ad5b7c52040b119c4415f0b942988049fa3c16
Nicolas Geoffray [Tue, 24 Mar 2015 17:45:19 +0000 (17:45 +0000)]
Merge "Share the runtime arena for faster compile times."
David Brazdil [Tue, 24 Mar 2015 17:31:29 +0000 (17:31 +0000)]
Merge "ART: Boolean simplifier"
Nicolas Geoffray [Tue, 24 Mar 2015 17:28:38 +0000 (17:28 +0000)]
Share the runtime arena for faster compile times.
Using a shared arena has the downside of getting more contentions
when requesting memory, but saves on compilation times because
we don't free the memory it allocated util the end of dex2oat.
Change-Id: I353ced1db34539850ec639b6b228451b455a48ec
David Brazdil [Mon, 16 Mar 2015 17:31:52 +0000 (17:31 +0000)]
ART: Boolean simplifier
The optimization recognizes the negation pattern generated by 'javac'
and replaces it with a single condition. To this end, boolean values
are now consistently assumed to be represented by an integer.
This is a first optimization which deletes blocks from the HGraph and
does so by replacing the corresponding entries with null. Hence,
existing code can continue indexing the list of blocks with the block
ID, but must check for null when iterating over the list.
Change-Id: I7779da69cfa925c6521938ad0bcc11bc52335583
Roland Levillain [Tue, 24 Mar 2015 17:00:58 +0000 (17:00 +0000)]
Merge "Unify ART's various implementations of bit_cast."
Nicolas Geoffray [Tue, 24 Mar 2015 16:24:51 +0000 (16:24 +0000)]
Merge "Revert "Inline across dex files.""
Nicolas Geoffray [Tue, 24 Mar 2015 16:17:56 +0000 (16:17 +0000)]
Revert "Inline across dex files."
bug:
19904089
bug:
19903495
This reverts commit
7e4c3508e4f5512650b63c41f7872a749e99aee9.
Change-Id: I15df746b5f1882cce78eedde6c05c0d3b69bfa4a
Roland Levillain [Tue, 24 Mar 2015 14:36:11 +0000 (14:36 +0000)]
Unify ART's various implementations of bit_cast.
ART had several implementations of art::bit_cast:
1. one in runtime/base/casts.h, declared as:
template <class Dest, class Source>
inline Dest bit_cast(const Source& source);
2. another one in runtime/utils.h, declared as:
template<typename U, typename V>
static inline V bit_cast(U in);
3. and a third local version, in runtime/memory_region.h,
similar to the previous one:
template<typename Source, typename Destination>
static Destination MemoryRegion::local_bit_cast(Source in);
This CL removes versions 2. and 3. and changes their callers
to use 1. instead. That version was chosen over the others
as:
- it was the oldest one in the code base; and
- its syntax was closer to the standard C++ cast operators,
as it supports the following use:
bit_cast<Destination>(source)
since `Source' can be deduced from `source'.
Change-Id: I7334fd5d55bf0b8a0c52cb33cfbae6894ff83633
Sebastien Hertz [Tue, 24 Mar 2015 14:12:35 +0000 (14:12 +0000)]
Merge "JDWP: Optimized single step during debugging"
Daniel Mihalyi [Fri, 22 Aug 2014 15:33:31 +0000 (17:33 +0200)]
JDWP: Optimized single step during debugging
For single stepping full deoptimization and undeoptimizations were
performed with significant overhead, because every code will be
executed in interpreted mode during a single step, even if it is not
strictly required.
For example, if we have a computation heavy method call and we would
like to step over it, that method (and all the methods called from it)
will run in interpreter mode. This can take so long in some cases
(e.g. multiple minutes) that it makes debugging process unusable.
The solution for this limitation is not using full deoptimizations for
single steps and force interpreter only for those methods that we are
about to step into, and require stack deoptimization before step outs.
Bug:
17750566
Bug:
18094282
Bug: https://code.google.com/p/android/issues/detail?id=77984
Change-Id: I683c52465883146c4c84ec47bf96f8efd920527f
Signed-off-by: Daniel Mihalyi <daniel.mihalyi@mattakis.com>
Vladimir Marko [Tue, 24 Mar 2015 11:58:59 +0000 (11:58 +0000)]
Merge "Quick: Clean up Mir2Lir codegen."
Vladimir Marko [Mon, 23 Mar 2015 17:05:14 +0000 (17:05 +0000)]
Quick: Clean up Mir2Lir codegen.
Clean up WrapPointer()/UnwrapPointer() and OpPcRelLoad().
Change-Id: I1a91f01e1e779599c77f3f6efcac2a6ad34629cf
Vladimir Marko [Tue, 24 Mar 2015 11:26:17 +0000 (11:26 +0000)]
Merge "Quick: Create GC map based on compiler data."
Andreas Gampe [Tue, 24 Mar 2015 02:40:55 +0000 (02:40 +0000)]
Merge "Revert "Deoptimization-based bce.""
Andreas Gampe [Tue, 24 Mar 2015 02:39:46 +0000 (02:39 +0000)]
Revert "Deoptimization-based bce."
This breaks compiling the core image:
Error after BCE: art::SSAChecker: Instruction 219 in block 1 does not dominate use 221 in block 1.
This reverts commit
e295e6ec5beaea31be5d7d3c996cd8cfa2053129.
Change-Id: Ieeb48797d451836ed506ccb940872f1443942e4e
Mingyao Yang [Mon, 23 Mar 2015 23:56:36 +0000 (23:56 +0000)]
Merge "Deoptimization-based bce."
Mingyao Yang [Sat, 7 Mar 2015 14:37:59 +0000 (06:37 -0800)]
Deoptimization-based bce.
A mechanism is introduced that a runtime method can be called
from code compiled with optimizing compiler to deoptimize into
interpreter. This can be used to establish invariants in the managed code
If the invariant does not hold at runtime, we will deoptimize and continue
execution in the interpreter. This allows to optimize the managed code as
if the invariant was proven during compile time. However, the exception
will be thrown according to the semantics demanded by the spec.
The invariant and optimization included in this patch are based on the
length of an array. Given a set of array accesses with constant indices
{c1, ..., cn}, we can optimize away all bounds checks iff all 0 <= min(ci) and
max(ci) < array-length. The first can be proven statically. The second can be
established with a deoptimization-based invariant. This replaces n bounds
checks with one invariant check (plus slow-path code).
Change-Id: I8c6e34b56c85d25b91074832d13dba1db0a81569
Dmitriy Ivanov [Mon, 23 Mar 2015 21:52:00 +0000 (21:52 +0000)]
Merge "RTLD_LAZY is not supported, use RTLD_NOW instead."
Dmitriy Ivanov [Mon, 23 Mar 2015 20:38:20 +0000 (13:38 -0700)]
RTLD_LAZY is not supported, use RTLD_NOW instead.
Change-Id: I5f4da01778a0df90bf104d868a00f86445d93a2d
Mathieu Chartier [Mon, 23 Mar 2015 20:10:23 +0000 (20:10 +0000)]
Merge "Add code cache test"
Mathieu Chartier [Mon, 23 Mar 2015 19:37:35 +0000 (12:37 -0700)]
Add code cache test
Bug:
17950037
Change-Id: I13913667517db5bb9b7224f0639c2b39cf3a1973
Dmitriy Ivanov [Mon, 23 Mar 2015 19:45:32 +0000 (19:45 +0000)]
Merge "Add paths to apk!lib/<abi> to LD_LIBRARY_PATH"
Dmitriy Ivanov [Fri, 18 Jul 2014 17:08:57 +0000 (10:08 -0700)]
Add paths to apk!lib/<abi> to LD_LIBRARY_PATH
Add paths to .apk to LD_LIBRARY_PATH to enable
bionic linker's "open from zip-file" feature.
Bug:
8076853
Change-Id: I1aa2c039bb2a590ae72f256acc9ba5401c2c59b1
Nicolas Geoffray [Mon, 23 Mar 2015 17:52:58 +0000 (17:52 +0000)]
Merge "Inline across dex files."
Nicolas Geoffray [Wed, 18 Mar 2015 11:00:52 +0000 (11:00 +0000)]
Inline across dex files.
Change-Id: I5c2c44f5130b50f0bad21a6877a3935dc60b4a85
Nicolas Geoffray [Mon, 23 Mar 2015 17:05:48 +0000 (17:05 +0000)]
Merge "Implement a space filter for optimizing."
Mathieu Chartier [Mon, 23 Mar 2015 16:54:17 +0000 (16:54 +0000)]
Merge "Fix a bug in AddToCodeCache"
Mathieu Chartier [Sun, 22 Mar 2015 20:52:48 +0000 (13:52 -0700)]
Fix a bug in AddToCodeCache
Was comparing wrong variable to null.
Bug:
17950037
Change-Id: I32eb209d378c4818c977c4d1cf63603f7269bd9b
Nicolas Geoffray [Mon, 23 Mar 2015 16:44:35 +0000 (16:44 +0000)]
Merge "Opt Compiler: Materialise constants that cannot be encoded"
Nicolas Geoffray [Mon, 23 Mar 2015 15:23:23 +0000 (15:23 +0000)]
Merge "[optimizing] Improve x86, x86_64 code"
Richard Uhler [Mon, 23 Mar 2015 15:21:20 +0000 (15:21 +0000)]
Merge "Improve dex2oat --dex-file and --dex-location usage info."
Nicolas Geoffray [Mon, 23 Mar 2015 14:45:53 +0000 (14:45 +0000)]
Implement a space filter for optimizing.
Heuristic-based. Currently only for enabling fugu user build.
Change-Id: I76e652bd3f00ed84a2a8ad69c7c2c0e24d74cd68
Nicolas Geoffray [Mon, 23 Mar 2015 14:08:21 +0000 (14:08 +0000)]
Merge "Update script now that optimizing is default."
Nicolas Geoffray [Sat, 21 Mar 2015 13:43:15 +0000 (13:43 +0000)]
Update script now that optimizing is default.
bug:
19872972
Change-Id: I648078483af5a0db3a13b0f94c36d083cbc4d2df
Mathieu Chartier [Sun, 22 Mar 2015 20:22:24 +0000 (20:22 +0000)]
Merge "Change "no-","no" test prefix to n"
Jeff Hao [Sat, 21 Mar 2015 02:45:59 +0000 (02:45 +0000)]
Merge "Fix interpreter to allow 0 size sparse switches."
Jeff Hao [Sat, 21 Mar 2015 02:44:35 +0000 (19:44 -0700)]
Fix interpreter to allow 0 size sparse switches.
Bug:
19827056
Change-Id: I12eaf717f1a4b9bd5e0c8e2a508df9da4e61c4ec
Andreas Gampe [Sat, 21 Mar 2015 02:20:49 +0000 (02:20 +0000)]
Merge "ART: Add Mips32r6 backend support"
Jeff Hao [Sat, 21 Mar 2015 01:47:16 +0000 (01:47 +0000)]
Merge "Fix verifier handling of empty switch as last instruction."
Jeff Hao [Sat, 21 Mar 2015 01:11:45 +0000 (18:11 -0700)]
Fix verifier handling of empty switch as last instruction.
Also fixes optimizing compiler's assumption that switch is non-empty and
adds test case.
Bug:
19827056
Change-Id: I5ac891d5062f528ef3be787b1094cba7b4c0fbd0
Mathieu Chartier [Sat, 21 Mar 2015 01:11:12 +0000 (01:11 +0000)]
Merge "Remove some spammy logging"
Mathieu Chartier [Sat, 21 Mar 2015 01:04:02 +0000 (18:04 -0700)]
Remove some spammy logging
Did not provide useful info and or was redundant.
Change-Id: I42da705debc43460cdd3fdf16e9e9ceb2c137001
Hiroshi Yamauchi [Sat, 21 Mar 2015 01:03:19 +0000 (01:03 +0000)]
Merge "Fix the mac build."
Hiroshi Yamauchi [Sat, 21 Mar 2015 00:56:45 +0000 (17:56 -0700)]
Fix the mac build.
Use SYMBOL around a function name in the assembly code.
Change-Id: I624361ff15a00288c834bd90d1b7783138802ea7
Mathieu Chartier [Sat, 21 Mar 2015 00:11:37 +0000 (00:11 +0000)]
Merge "Enable more direct code for JIT"
Douglas Leung [Sat, 28 Feb 2015 03:05:03 +0000 (19:05 -0800)]
ART: Add Mips32r6 backend support
Add Mips32r6 compiler support.
Don't use deprecated Mips32r2 instructions if running in Mips32r6
mode.
Change-Id: I54e689aa8c026ccb75c4af515aa2794f471c9f67
Mathieu Chartier [Sat, 28 Feb 2015 00:10:48 +0000 (16:10 -0800)]
Enable more direct code for JIT
Hard to measure the performance impact, but it should be faster.
Bug:
17950037
Change-Id: Ib8d216bb3b305dc390b5df7ee92427fd6bd8aab3
Vladimir Marko [Fri, 20 Mar 2015 12:47:30 +0000 (12:47 +0000)]
Quick: Create GC map based on compiler data.
The Quick compiler and verifier sometimes disagree on dalvik
register types (fp/core/ref) for 0/null constants and merged
registers involving 0/null constants. Since the verifier is
more lenient it can mark a register as a reference for GC
where Quick considers it a floating point register or a dead
register (which would have a ref/fp conflict if not dead).
If the compiler used an fp register to hold the zero value,
the core register or stack location used by GC based on the
verifier data can hold an invalid value.
Previously, as a workaround we stored the fp zero value also
in the stack location or core register where GC would look
for it. This wasn't precise and may have missed some cases.
To fix this properly, we now generate GC maps based on the
compiler's notion of references if register promotion is
enabled.
Bug: https://code.google.com/p/android/issues/detail?id=147187
Change-Id: Id3a2f863b16bdb8969df7004c868773084aec421
Mathieu Chartier [Fri, 20 Mar 2015 21:29:51 +0000 (14:29 -0700)]
Change "no-","no" test prefix to n
Reduces file names to under 255 characters, for now.
Change-Id: I095da02c1a3fc14fa9022d1a39307845bd870abc
Vladimir Marko [Fri, 20 Mar 2015 21:31:13 +0000 (21:31 +0000)]
Merge "Quick: Clean up slow paths."
Vladimir Marko [Fri, 20 Mar 2015 12:08:03 +0000 (12:08 +0000)]
Quick: Clean up slow paths.
Change-Id: I278d42be77b02778c4a419ae9024b37929915b64
Hiroshi Yamauchi [Fri, 20 Mar 2015 20:49:09 +0000 (20:49 +0000)]
Merge "Assembly TLAB allocation fast path for x86_64."
Andreas Gampe [Fri, 20 Mar 2015 20:16:07 +0000 (20:16 +0000)]
Merge "ART: Fix expectations for instruction-set-features string"
Goran Jakovljevic [Thu, 12 Mar 2015 14:32:55 +0000 (15:32 +0100)]
ART: Fix expectations for instruction-set-features string
Only check for an empty features vector if we found "default." The
vector can be empty if this is already handled, e.g., for "smp."
Change-Id: I0d07faf38d0b50f151b5d29e6993d8224034254e
Andreas Gampe [Fri, 20 Mar 2015 19:56:21 +0000 (19:56 +0000)]
Merge "ART: Change the isa defaults for Mips"
Douglas Leung [Wed, 18 Mar 2015 18:29:14 +0000 (11:29 -0700)]
ART: Change the isa defaults for Mips
Select the correct cpu variant for ART and select the default
features based on compile flags for when the variant is not
defined.
Change-Id: I13622db85446ed6fbb467a699d8d3e27833f6f88
Hiroshi Yamauchi [Thu, 19 Mar 2015 19:35:04 +0000 (12:35 -0700)]
Assembly TLAB allocation fast path for x86_64.
TODO: resolved/initialized cases, other architectures.
Bug:
9986565
Change-Id: If6df3449a3b2f5074d11babdda0fd2791fd54946
Hiroshi Yamauchi [Fri, 20 Mar 2015 18:31:33 +0000 (18:31 +0000)]
Merge "Make it possible to enable tlab with a build parameter."
Mathieu Chartier [Fri, 20 Mar 2015 18:14:44 +0000 (18:14 +0000)]
Merge "Add verify-at-runtime compiler filter"