OSDN Git Service

android-x86/art.git
9 years agoMerge "ART: Fix assembler labels' usage in macros for Mac."
Vladimir Marko [Mon, 26 Jan 2015 18:33:45 +0000 (18:33 +0000)]
Merge "ART: Fix assembler labels' usage in macros for Mac."

9 years agoART: Fix assembler labels' usage in macros for Mac.
Vladimir Marko [Mon, 26 Jan 2015 18:07:14 +0000 (18:07 +0000)]
ART: Fix assembler labels' usage in macros for Mac.

Change-Id: I99552528329a7f2cd5656eef0210c831cfc5fe09

9 years agoMerge "Optimizing: Speed up HEnvironment use removal"
David Brazdil [Mon, 26 Jan 2015 16:33:48 +0000 (16:33 +0000)]
Merge "Optimizing: Speed up HEnvironment use removal"

9 years agoOptimizing: Speed up HEnvironment use removal
David Brazdil [Fri, 23 Jan 2015 10:39:45 +0000 (10:39 +0000)]
Optimizing: Speed up HEnvironment use removal

Removal of use records from HEnvironment vregs involved iterating over
potentially large linked lists which made compilation of huge methods
very slow. This patch turns use lists into doubly-linked lists, stores
pointers to the relevant nodes inside HEnvironment and subsequently
turns the removals into constant-time operations.

Change-Id: I0e1d4d782fd624e7b8075af75d4adf0a0634a1ee

9 years agoMerge "Move code around and address growable_array comment."
Nicolas Geoffray [Mon, 26 Jan 2015 16:11:04 +0000 (16:11 +0000)]
Merge "Move code around and address growable_array comment."

9 years agoMerge "Quick: Fix range check for intrinsic String.charAt() on x86."
Vladimir Marko [Mon, 26 Jan 2015 16:08:22 +0000 (16:08 +0000)]
Merge "Quick: Fix range check for intrinsic String.charAt() on x86."

9 years agoMove code around and address growable_array comment.
Nicolas Geoffray [Mon, 26 Jan 2015 15:18:36 +0000 (15:18 +0000)]
Move code around and address growable_array comment.

- Move SideEffectsAnalysis to its own file.
- Move most of gvn.h to gvn.cc.
- Don't call Resize in GrowableArray constructor, but just set num_used
  directly.

Change-Id: I1f1291207945d678d3c99cc0ec1ec155bcae82f6

9 years agoMerge "Fix Mac build."
Vladimir Marko [Mon, 26 Jan 2015 15:46:40 +0000 (15:46 +0000)]
Merge "Fix Mac build."

9 years agoFix Mac build.
Vladimir Marko [Mon, 26 Jan 2015 15:33:03 +0000 (15:33 +0000)]
Fix Mac build.

Change-Id: I88c0b3c7b799df8dd0aab86b6801c37093045129

9 years agoMerge "Fix build breakage after GVN change."
Nicolas Geoffray [Mon, 26 Jan 2015 15:17:44 +0000 (15:17 +0000)]
Merge "Fix build breakage after GVN change."

9 years agoFix build breakage after GVN change.
Nicolas Geoffray [Mon, 26 Jan 2015 15:13:47 +0000 (15:13 +0000)]
Fix build breakage after GVN change.

Change-Id: I120717f8cae452cad9967559c466c1605a3e7b14

9 years agoMerge "ART: Fix asm literals for Mac builds."
Vladimir Marko [Mon, 26 Jan 2015 14:46:12 +0000 (14:46 +0000)]
Merge "ART: Fix asm literals for Mac builds."

9 years agoMerge "Introduce a SideEffectsAnalysis class."
Nicolas Geoffray [Mon, 26 Jan 2015 14:45:59 +0000 (14:45 +0000)]
Merge "Introduce a SideEffectsAnalysis class."

9 years agoIntroduce a SideEffectsAnalysis class.
Nicolas Geoffray [Mon, 26 Jan 2015 12:54:33 +0000 (12:54 +0000)]
Introduce a SideEffectsAnalysis class.

LICM also needs the side effects information of loops, so move
the GVN::ComputeSideEffects method into its own analysis class.

Change-Id: I810c8230a0eb6b9b536e8f808e17a3a4ad72f7db

9 years agoART: Fix asm literals for Mac builds.
Vladimir Marko [Mon, 26 Jan 2015 14:30:46 +0000 (14:30 +0000)]
ART: Fix asm literals for Mac builds.

Change-Id: Ief922e1e06811b8ec25771b9854376fae3e07929

9 years agoQuick: Fix range check for intrinsic String.charAt() on x86.
Vladimir Marko [Mon, 26 Jan 2015 14:06:46 +0000 (14:06 +0000)]
Quick: Fix range check for intrinsic String.charAt() on x86.

Bug: 19125146
Change-Id: I274190a7a60cd2e29a854738ed1ec99a9e611969

9 years agoMerge "Fix a bug in the liveness analysis."
Nicolas Geoffray [Mon, 26 Jan 2015 14:26:44 +0000 (14:26 +0000)]
Merge "Fix a bug in the liveness analysis."

9 years agoFix a bug in the liveness analysis.
Nicolas Geoffray [Fri, 23 Jan 2015 18:01:51 +0000 (18:01 +0000)]
Fix a bug in the liveness analysis.

A range after a loop might also be after a lifetime hole.
In this situation we must preserve the hole, and not merge
it with the loop start.

Change-Id: I82eddef059592102a25362cdaa4273200574c2ae

9 years agoMerge "Fix lint error and typo."
Nicolas Geoffray [Mon, 26 Jan 2015 13:58:04 +0000 (13:58 +0000)]
Merge "Fix lint error and typo."

9 years agoFix lint error and typo.
Nicolas Geoffray [Mon, 26 Jan 2015 13:57:30 +0000 (13:57 +0000)]
Fix lint error and typo.

Change-Id: Ie2787a4da5b2d76975664e64f443c081127b7cd9

9 years agoMerge "Fix codegen_test."
Nicolas Geoffray [Mon, 26 Jan 2015 13:33:33 +0000 (13:33 +0000)]
Merge "Fix codegen_test."

9 years agoFix codegen_test.
Nicolas Geoffray [Mon, 26 Jan 2015 12:49:35 +0000 (12:49 +0000)]
Fix codegen_test.

Native and ART do not have the same calling convention for ART,
so we need to adjust blocked and allocated registers.

Change-Id: I606b2620c0e5a54bd60d6100a137c06616ad40b4

9 years agoMerge "ART: Implement X86 hard float (Quick/JNI/Baseline)"
Vladimir Marko [Mon, 26 Jan 2015 12:44:44 +0000 (12:44 +0000)]
Merge "ART: Implement X86 hard float (Quick/JNI/Baseline)"

9 years agoMerge "Support callee-save registers on ARM."
Nicolas Geoffray [Mon, 26 Jan 2015 10:10:46 +0000 (10:10 +0000)]
Merge "Support callee-save registers on ARM."

9 years agoSupport callee-save registers on ARM.
Nicolas Geoffray [Fri, 23 Jan 2015 18:23:14 +0000 (18:23 +0000)]
Support callee-save registers on ARM.

Change-Id: I7c519b7a828c9891b1141a8e51e12d6a8bc84118

9 years agoMerge "ART: Fix new[] / delete mismatch"
Andreas Gampe [Sat, 24 Jan 2015 05:18:25 +0000 (05:18 +0000)]
Merge "ART: Fix new[] / delete mismatch"

9 years agoART: Fix new[] / delete mismatch
Andreas Gampe [Sat, 24 Jan 2015 03:51:15 +0000 (19:51 -0800)]
ART: Fix new[] / delete mismatch

The type of the unique_ptr in MarkQueue should be an array type,
as it is holding an array, actually.

Change-Id: If1d05a1d52cd58a373f240f7156fc69b70324298

9 years agoMerge "Make it possible to enable read barriers at build time."
Hiroshi Yamauchi [Sat, 24 Jan 2015 01:26:52 +0000 (01:26 +0000)]
Merge "Make it possible to enable read barriers at build time."

9 years agoMake it possible to enable read barriers at build time.
Hiroshi Yamauchi [Sat, 24 Jan 2015 01:23:42 +0000 (17:23 -0800)]
Make it possible to enable read barriers at build time.

Bug: 12687968
Change-Id: I26ec55063c2d5ff0181e628c1002bfa609815b29

9 years agoMerge "ART: On shutdown, only warn on mutex contention"
Andreas Gampe [Fri, 23 Jan 2015 23:17:16 +0000 (23:17 +0000)]
Merge "ART: On shutdown, only warn on mutex contention"

9 years agoART: On shutdown, only warn on mutex contention
Andreas Gampe [Fri, 23 Jan 2015 03:48:51 +0000 (19:48 -0800)]
ART: On shutdown, only warn on mutex contention

Do not abort, as daemon threads may still be active.

Bug: 17894429

(cherry picked from commit c0440f69ebf051ff2ffdc00de51005a040014462)

Change-Id: I7c1d50ff8d4a5e150279e703a69c8f2f1d423e6b

9 years agoMerge "More of the concurrent copying collector."
Hiroshi Yamauchi [Fri, 23 Jan 2015 23:13:11 +0000 (23:13 +0000)]
Merge "More of the concurrent copying collector."

9 years agoMore of the concurrent copying collector.
Hiroshi Yamauchi [Fri, 9 Jan 2015 22:03:35 +0000 (14:03 -0800)]
More of the concurrent copying collector.

Bug: 12687968
Change-Id: I62f70274d47df6d6cab714df95c518b750ce3105

9 years agoMerge "Fix valgrind error."
Nicolas Geoffray [Fri, 23 Jan 2015 22:01:13 +0000 (22:01 +0000)]
Merge "Fix valgrind error."

9 years agoFix valgrind error.
Nicolas Geoffray [Fri, 23 Jan 2015 21:51:55 +0000 (21:51 +0000)]
Fix valgrind error.

Also introduce kLastCpuRegister to define kFakeReturnRegister.

Change-Id: I58cef6186c0452d45b5d2dcba9298cbe07f3552d

9 years agoMerge "Fix compaction bugs related to IdentityHashCode"
Mathieu Chartier [Fri, 23 Jan 2015 19:10:41 +0000 (19:10 +0000)]
Merge "Fix compaction bugs related to IdentityHashCode"

9 years agoFix compaction bugs related to IdentityHashCode
Mathieu Chartier [Fri, 23 Jan 2015 01:02:27 +0000 (17:02 -0800)]
Fix compaction bugs related to IdentityHashCode

IdentityHashCode is a suspend point if monitor inflation occurs.

Change-Id: I114021aed8b3f3437109ef622298de05e13b4e34

9 years agoART: Implement X86 hard float (Quick/JNI/Baseline)
Mark Mendell [Tue, 13 Jan 2015 22:32:55 +0000 (17:32 -0500)]
ART: Implement X86 hard float (Quick/JNI/Baseline)

Use XMM0-XMM3 as parameter registers for float/double on X86.  X86_64
already uses XMM0-XMM7 for parameters.

Change the 'hidden' argument register from XMM0 to XMM7 to avoid a
conflict.

Add support for FPR save/restore in runtime/arch/x86.

Minimal support for Optimizing baseline compiler.

Bump the version in runtime/oat.h because this is an ABI change.

Change-Id: Ia6fe150e8488b9e582b0178c0dda65fc81d5a8ba
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
9 years agoMerge "Fix makefile error."
Nicolas Geoffray [Fri, 23 Jan 2015 17:48:57 +0000 (17:48 +0000)]
Merge "Fix makefile error."

9 years agoFix makefile error.
Nicolas Geoffray [Fri, 23 Jan 2015 17:48:28 +0000 (17:48 +0000)]
Fix makefile error.

Change-Id: I797de0bed7b9c51cd7889de5144b8dbfd641335d

9 years agoMerge "Mark test as failing for optimizing."
Nicolas Geoffray [Fri, 23 Jan 2015 17:31:36 +0000 (17:31 +0000)]
Merge "Mark test as failing for optimizing."

9 years agoMark test as failing for optimizing.
Nicolas Geoffray [Fri, 23 Jan 2015 17:30:54 +0000 (17:30 +0000)]
Mark test as failing for optimizing.

Change-Id: I928ff56d232a647e8227f2b97a8f4a51791a5f95

9 years agoMerge "Fix exception handling during deoptimization"
Sebastien Hertz [Fri, 23 Jan 2015 16:51:17 +0000 (16:51 +0000)]
Merge "Fix exception handling during deoptimization"

9 years agoFix exception handling during deoptimization
Sebastien Hertz [Fri, 16 Jan 2015 18:49:09 +0000 (19:49 +0100)]
Fix exception handling during deoptimization

When interpreting a deoptimized shadow frame, we may start with a
pending exception thrown by a previous deoptimized shadow frame (from
a previous invoke). Therefore, we need to handle it before executing
any instruction, otherwise we execute incorrect code.

Because we need the DEX pc of the throwing instruction to find a
matching catch handler, we initialize deoptimized shadow frames with
the current DEX pc at the time the stack is deoptimized.
When we are about to interpret a deoptimized shadow frame, we need to
update the shadow frame with the DEX pc of the next instruction to
interpret. There are three cases:
- if there is no pending exception, this is the instruction following
the current one.
- if there is a pending exception and we found a matching catch
handler, this is the first instruction of this handler.
- if there is a pending exception but there is no matching catch
handler, we do not execute the deoptimized shadow frame and continue
to its caller.

The verifier now fails when a method starts with a move-exception
instruction. Indeed we cannot start executing a method with a pending
exception.

Bug: 19057915
Bug: 19041195
Bug: 18607595
Change-Id: I355ac81e6ac098edc7e3cc8c13dbfa24a2969ab2

9 years agoMerge "Fix BitVector::IndexIterator::operator*() to return uint32_t."
Vladimir Marko [Fri, 23 Jan 2015 11:49:09 +0000 (11:49 +0000)]
Merge "Fix BitVector::IndexIterator::operator*() to return uint32_t."

9 years agoFix BitVector::IndexIterator::operator*() to return uint32_t.
Vladimir Marko [Fri, 2 Jan 2015 17:00:44 +0000 (17:00 +0000)]
Fix BitVector::IndexIterator::operator*() to return uint32_t.

Change-Id: I3cfc028b1c3744ec85ea00eadcbccfdde6fd51d3

9 years agoMerge "Implicit stack overflow checks and null checks are the norm now."
Nicolas Geoffray [Fri, 23 Jan 2015 09:38:05 +0000 (09:38 +0000)]
Merge "Implicit stack overflow checks and null checks are the norm now."

9 years agoImplicit stack overflow checks and null checks are the norm now.
Nicolas Geoffray [Fri, 23 Jan 2015 09:36:52 +0000 (09:36 +0000)]
Implicit stack overflow checks and null checks are the norm now.

Make the default to true so that unit tests don't need to
use the full CompilerOptions constructor.

Change-Id: Ieb52235af73dce2fa03f12932e22ebe2294c805b

9 years agoMerge "Support callee save floating point registers on x64."
Nicolas Geoffray [Fri, 23 Jan 2015 09:23:12 +0000 (09:23 +0000)]
Merge "Support callee save floating point registers on x64."

9 years agoSupport callee save floating point registers on x64.
Nicolas Geoffray [Thu, 22 Jan 2015 13:50:01 +0000 (13:50 +0000)]
Support callee save floating point registers on x64.

- Share the computation of core_spill_mask and fpu_spill_mask
  between backends.
- Remove explicit stack overflow check support: we need to adjust
  them and since they are not tested, they will easily bitrot.

Change-Id: I0b619b8de4e1bdb169ea1ae7c6ede8df0d65837a

9 years agoMerge "ART: clear dirty cards of alloc space in pause phase"
Mathieu Chartier [Fri, 23 Jan 2015 03:51:17 +0000 (03:51 +0000)]
Merge "ART: clear dirty cards of alloc space in pause phase"

9 years agoMerge "Fix 116-nodex2oat to use arguments in custom run script"
Brian Carlstrom [Fri, 23 Jan 2015 01:22:20 +0000 (01:22 +0000)]
Merge "Fix 116-nodex2oat to use arguments in custom run script"

9 years agoFix 116-nodex2oat to use arguments in custom run script
Brian Carlstrom [Fri, 23 Jan 2015 01:03:58 +0000 (17:03 -0800)]
Fix 116-nodex2oat to use arguments in custom run script

Change-Id: I47a834da921930764abdff8fdce09b026b9ad483

9 years agoMerge "Fix compaction unsafe DescribeWait"
Mathieu Chartier [Fri, 23 Jan 2015 00:50:28 +0000 (00:50 +0000)]
Merge "Fix compaction unsafe DescribeWait"

9 years agoFix compaction unsafe DescribeWait
Mathieu Chartier [Fri, 23 Jan 2015 00:36:10 +0000 (16:36 -0800)]
Fix compaction unsafe DescribeWait

Fixes a crash that was seen once in automated tests, PrettyTypeOf
was accessing a stale object which had moved during IdentityHashCode
due to thin lock inflation causing suspension.

Change-Id: I105aa9a09d4e8c9091b9a60e508ef71e613f1eed

9 years agoMerge "ART: Rewrite ParallelGC test"
Andreas Gampe [Thu, 22 Jan 2015 19:48:13 +0000 (19:48 +0000)]
Merge "ART: Rewrite ParallelGC test"

9 years agoMerge "ART: Refactor common ELF->InstructionSet code"
Andreas Gampe [Thu, 22 Jan 2015 18:01:16 +0000 (18:01 +0000)]
Merge "ART: Refactor common ELF->InstructionSet code"

9 years agoMerge "Improve error messages in art::GraphChecker and art::SSAChecker"
Roland Levillain [Thu, 22 Jan 2015 13:34:27 +0000 (13:34 +0000)]
Merge "Improve error messages in art::GraphChecker and art::SSAChecker"

9 years agoMerge "ART: Fix GenInlined functions"
Vladimir Marko [Thu, 22 Jan 2015 10:47:35 +0000 (10:47 +0000)]
Merge "ART: Fix GenInlined functions"

9 years agoMerge "Fix lint error."
Nicolas Geoffray [Thu, 22 Jan 2015 08:46:43 +0000 (08:46 +0000)]
Merge "Fix lint error."

9 years agoFix lint error.
Nicolas Geoffray [Thu, 22 Jan 2015 08:46:05 +0000 (08:46 +0000)]
Fix lint error.

Change-Id: Iccba489098dd2a5b8796beefc781284006624f74

9 years agoMerge "Enable core callee-save on x64."
Nicolas Geoffray [Thu, 22 Jan 2015 08:30:11 +0000 (08:30 +0000)]
Merge "Enable core callee-save on x64."

9 years agoART: clear dirty cards of alloc space in pause phase
Lei Li [Thu, 15 Jan 2015 03:26:34 +0000 (11:26 +0800)]
ART: clear dirty cards of alloc space in pause phase

Clear the dirty cards of alloc spaces when scanning them in pause phase,
the dirty cards of image or zygote space will not be cleared in order to
track the references to the other spaces.

Change-Id: I519f071d954a589aa33dbce0cdba405f2d2cef71
Signed-off-by: Lei Li <lei.l.li@intel.com>
9 years agoMerge "Follow up on CL 123650"
Sebastien Hertz [Thu, 22 Jan 2015 07:25:17 +0000 (07:25 +0000)]
Merge "Follow up on CL 123650"

9 years agoART: Rewrite ParallelGC test
Andreas Gampe [Wed, 21 Jan 2015 05:26:43 +0000 (21:26 -0800)]
ART: Rewrite ParallelGC test

Make the setup simpler and less prone to OOME problems.

Bug: 19027813
Change-Id: Ie2dbe1579a45d554f207a9bf84d53303acbe79d5

9 years agoART: Refactor common ELF->InstructionSet code
Andreas Gampe [Thu, 22 Jan 2015 06:25:24 +0000 (22:25 -0800)]
ART: Refactor common ELF->InstructionSet code

Move code into instruction_set.h/cc.

Change-Id: I34d5c82791042c68629df84e0f4b9321231d51b9

9 years agoMerge "Clean-up 116-nodex2oat unit test"
Brian Carlstrom [Thu, 22 Jan 2015 00:33:03 +0000 (00:33 +0000)]
Merge "Clean-up 116-nodex2oat unit test"

9 years agoART: Fix GenInlined functions
Chao-ying Fu [Mon, 19 Jan 2015 23:51:57 +0000 (15:51 -0800)]
ART: Fix GenInlined functions

This patch fixes Mir2Lir::GenInlinedReverseBytes,
Mir2Lir::GenInlinedAbsInt, Mir2Lir::GenInlinedAbsLong,
Mir2Lir::GenInlinedFloatCvt, Mir2Lir::GenInlinedDoubleCvt,
X86Mir2Lir::GenInlinedSqrt, X86Mir2Lir::GenInlinedMinMaxFP,
X86Mir2Lir::GenInlinedMinMax, X86Mir2Lir::GenInlinedPeek,
and X86Mir2Lir::GenInlinedReverseBits to generate no code, when results
are unused.
New calls without assignments are added to 082-inline-execute.

Change-Id: I7076e9ddbea43545315f2aeb677c63a8a6e95224
Signed-off-by: Chao-ying Fu <chao-ying.fu@intel.com>
9 years agoClean-up 116-nodex2oat unit test
Serguei Katkov [Mon, 24 Nov 2014 07:22:26 +0000 (13:22 +0600)]
Clean-up 116-nodex2oat unit test

Running with prebuilt is added to black-list, so no need to handle
this in the test itself.

Change-Id: I334f291eb4ec2703dbb1f1e4575232fa67ab7fb8
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
9 years agoMerge "ART: Fix stub_test"
Andreas Gampe [Wed, 21 Jan 2015 21:17:43 +0000 (21:17 +0000)]
Merge "ART: Fix stub_test"

9 years agoART: Fix stub_test
Andreas Gampe [Wed, 21 Jan 2015 20:23:50 +0000 (12:23 -0800)]
ART: Fix stub_test

Change x86-64 inline assembly to work with fno-omit-frame-pointer.

Bug: 18722517
Change-Id: I2ddb80abc9ada63fe5de9ccdd12b37df5c0001b7

9 years agoEnable core callee-save on x64.
Nicolas Geoffray [Wed, 21 Jan 2015 12:32:32 +0000 (12:32 +0000)]
Enable core callee-save on x64.

Will work on other architectures and FP support in other CLs.

Change-Id: I8cef0343eedc7202d206f5217fdf0349035f0e4d

9 years agoMerge "Allow std::function<return_type(arg_type)> patterns in cpplint."
Roland Levillain [Wed, 21 Jan 2015 18:25:13 +0000 (18:25 +0000)]
Merge "Allow std::function<return_type(arg_type)> patterns in cpplint."

9 years agoMerge "ART: Replace NULL to nullptr in the optimizing compiler"
Roland Levillain [Wed, 21 Jan 2015 17:36:33 +0000 (17:36 +0000)]
Merge "ART: Replace NULL to nullptr in the optimizing compiler"

9 years agoMerge "Do not use HNot for creating !bool."
Nicolas Geoffray [Wed, 21 Jan 2015 17:33:43 +0000 (17:33 +0000)]
Merge "Do not use HNot for creating !bool."

9 years agoART: Replace NULL to nullptr in the optimizing compiler
Jean Christophe Beyler [Thu, 4 Dec 2014 19:20:20 +0000 (11:20 -0800)]
ART: Replace NULL to nullptr in the optimizing compiler

Replace macro NULL to the nullptr variation for C++.

Change-Id: Ib6e48dd4bb3c254343383011b67372622578ca76
Signed-off-by: Jean Christophe Beyler <jean.christophe.beyler@intel.com>
9 years agoMerge "ART: Create a RemoveBlock method"
Roland Levillain [Wed, 21 Jan 2015 17:26:11 +0000 (17:26 +0000)]
Merge "ART: Create a RemoveBlock method"

9 years agoDo not use HNot for creating !bool.
Nicolas Geoffray [Wed, 21 Jan 2015 15:44:16 +0000 (15:44 +0000)]
Do not use HNot for creating !bool.

HNot folds to ~, not !.

Change-Id: I681f968449a2ade7110b2f316146ad16ba5da74c

9 years agoFollow up on CL 123650
Sebastien Hertz [Wed, 21 Jan 2015 16:30:58 +0000 (17:30 +0100)]
Follow up on CL 123650

Change-Id: If575fdb9cc73e312e222e6853890e8dacd83b284

9 years agoMerge "Revert "Revert "Fully support pairs in the register allocator."""
Nicolas Geoffray [Wed, 21 Jan 2015 16:00:39 +0000 (16:00 +0000)]
Merge "Revert "Revert "Fully support pairs in the register allocator."""

9 years agoRevert "Revert "Fully support pairs in the register allocator.""
Nicolas Geoffray [Wed, 21 Jan 2015 14:56:54 +0000 (14:56 +0000)]
Revert "Revert "Fully support pairs in the register allocator.""

This reverts commit c399fdc442db82dfda66e6c25518872ab0f1d24f.

Change-Id: I19f8215c4b98f2f0827e04bf7806c3ca439794e5

9 years agoMerge "Update instrumentation stubs on resolved classes"
Sebastien Hertz [Wed, 21 Jan 2015 15:12:32 +0000 (15:12 +0000)]
Merge "Update instrumentation stubs on resolved classes"

9 years agoMerge "Record implicit null checks at the actual invoke time."
Calin Juravle [Wed, 21 Jan 2015 14:37:15 +0000 (14:37 +0000)]
Merge "Record implicit null checks at the actual invoke time."

9 years agoRecord implicit null checks at the actual invoke time.
Calin Juravle [Mon, 12 Jan 2015 18:45:46 +0000 (18:45 +0000)]
Record implicit null checks at the actual invoke time.

ImplicitNullChecks are recorded only for instructions directly (see NB
below) preceeded by NullChecks in the graph. This way we avoid recording
redundant safepoints and minimize the code size increase.

NB: ParallalelMoves might be inserted by the register allocator between
the NullChecks and their uses. These modify the environment and the
correct action would be to reverse their modification. This will be
addressed in a follow-up CL.

Change-Id: Ie50006e5a4bd22932dcf11348f5a655d253cd898

9 years agoMerge "Update expectations after test change."
Nicolas Geoffray [Wed, 21 Jan 2015 14:08:16 +0000 (14:08 +0000)]
Merge "Update expectations after test change."

9 years agoUpdate expectations after test change.
Nicolas Geoffray [Wed, 21 Jan 2015 14:04:31 +0000 (14:04 +0000)]
Update expectations after test change.

Change-Id: Ide5d1257f00b31e46020f5989690b662fbf72258

9 years agoMerge "Revert "Fully support pairs in the register allocator.""
Nicolas Geoffray [Wed, 21 Jan 2015 12:43:10 +0000 (12:43 +0000)]
Merge "Revert "Fully support pairs in the register allocator.""

9 years agoRevert "Fully support pairs in the register allocator."
Nicolas Geoffray [Wed, 21 Jan 2015 12:42:57 +0000 (12:42 +0000)]
Revert "Fully support pairs in the register allocator."

Libcore tests fail.

This reverts commit 41aedbb684ccef76ff8373f39aba606ce4cb3194.

Change-Id: I2572f120d4bbaeb7a4d4cbfd47ab00c9ea39ac6c

9 years agoImprove error messages in art::GraphChecker and art::SSAChecker
Roland Levillain [Wed, 21 Jan 2015 11:39:58 +0000 (11:39 +0000)]
Improve error messages in art::GraphChecker and art::SSAChecker

- Add an art::GraphChecker::AddError helper.
- Use StringPrintf instead of std::stringstream.
- Rephrase some error messages.

Change-Id: Ia741e9e67cb5122f086a7383a2bc02d60ca637df

9 years agoMerge "Fully support pairs in the register allocator."
Nicolas Geoffray [Wed, 21 Jan 2015 11:28:52 +0000 (11:28 +0000)]
Merge "Fully support pairs in the register allocator."

9 years agoFully support pairs in the register allocator.
Nicolas Geoffray [Wed, 14 Jan 2015 10:49:16 +0000 (10:49 +0000)]
Fully support pairs in the register allocator.

Enabled on ARM for longs and doubles.

Change-Id: Id8792d08bd7ca9fb049c5db8a40ae694bafc2d8b

9 years agoMerge "[optimizing compiler] Implement inline x86 FP '%'"
Calin Juravle [Wed, 21 Jan 2015 11:01:41 +0000 (11:01 +0000)]
Merge "[optimizing compiler] Implement inline x86 FP '%'"

9 years ago[optimizing compiler] Implement inline x86 FP '%'
Mark Mendell [Thu, 15 Jan 2015 00:51:45 +0000 (19:51 -0500)]
[optimizing compiler] Implement inline x86 FP '%'

Replace the calls to fmod/fmodf by inline code as is done in the Quick
compiler.

Remove the quick fmod/fmodf runtime entries, as they are no longer in
use.

64 bit code generator Move() routine needed to be enhanced to handle
constants, as Location::Any() allows them to be generated.

Change-Id: I6b6a42f6faeed4b0b3c940453e487daf5b25d184
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
9 years agoMerge "Use CompilerOptions for implicit stack overflow checks"
Calin Juravle [Wed, 21 Jan 2015 10:53:19 +0000 (10:53 +0000)]
Merge "Use CompilerOptions for implicit stack overflow checks"

9 years agoMerge "ART: Fix arm64 backend"
Andreas Gampe [Wed, 21 Jan 2015 02:08:48 +0000 (02:08 +0000)]
Merge "ART: Fix arm64 backend"

9 years agoART: Fix arm64 backend
Andreas Gampe [Wed, 21 Jan 2015 02:06:47 +0000 (18:06 -0800)]
ART: Fix arm64 backend

Fix a register size problem after previous commit
f681570077563bb529a30f9e7c572b837cecfb83.

Change-Id: If04e647324bcd6fe279c25e70214a9f7c5b816ec

9 years agoMerge "ART: Make ProcessStrings less noisy"
Andreas Gampe [Wed, 21 Jan 2015 00:47:26 +0000 (00:47 +0000)]
Merge "ART: Make ProcessStrings less noisy"

9 years agoART: Make ProcessStrings less noisy
Andreas Gampe [Wed, 21 Jan 2015 00:17:19 +0000 (16:17 -0800)]
ART: Make ProcessStrings less noisy

Only print statistics in debug mode or when verbose-logging.

Bug: 19082662
Change-Id: Ibc1d336a5abe7a05fb37e8d3a9b9c9c8131e5bbc

9 years agoMerge "Clean up the locks around Heap::VisitObjects()."
Hiroshi Yamauchi [Wed, 21 Jan 2015 00:12:35 +0000 (00:12 +0000)]
Merge "Clean up the locks around Heap::VisitObjects()."

9 years agoMerge "ART: Make some helpers non-virtual in Mir2Lir"
Andreas Gampe [Tue, 20 Jan 2015 23:44:21 +0000 (23:44 +0000)]
Merge "ART: Make some helpers non-virtual in Mir2Lir"