OSDN Git Service

android-x86/art.git
9 years agoMerge "ART: Fix x86 disassembler"
Andreas Gampe [Mon, 2 Feb 2015 15:57:09 +0000 (15:57 +0000)]
Merge "ART: Fix x86 disassembler"

9 years agoMerge "Check for null class of class"
Brian Carlstrom [Sun, 1 Feb 2015 06:19:39 +0000 (06:19 +0000)]
Merge "Check for null class of class"

9 years agoCheck for null class of class
Mathieu Chartier [Thu, 29 Jan 2015 18:47:10 +0000 (10:47 -0800)]
Check for null class of class

Experimental fix.

Bug: 19193521

(cherry picked from commit 65370e37b3fd9e53e3c1bce5757912e8309cd305)

Change-Id: If59fe9a7bd16f3578ed036a5dbb2787862b33766

9 years agoMerge "Revert "Allow preopted apps to have sharpened calls for non-x86 architectures.""
Brian Carlstrom [Sun, 1 Feb 2015 05:58:57 +0000 (05:58 +0000)]
Merge "Revert "Allow preopted apps to have sharpened calls for non-x86 architectures.""

9 years agoRevert "Allow preopted apps to have sharpened calls for non-x86 architectures."
Brian Carlstrom [Sun, 1 Feb 2015 05:35:32 +0000 (21:35 -0800)]
Revert "Allow preopted apps to have sharpened calls for non-x86 architectures."

This reverts commit 1e3dfff2b73e142c568625a0310c1764658218c4.

9 years agoMerge "Add Mips64 art_quick_proxy_invoke_handler assembly."
Andreas Gampe [Sat, 31 Jan 2015 03:14:59 +0000 (03:14 +0000)]
Merge "Add Mips64 art_quick_proxy_invoke_handler assembly."

9 years agoAdd Mips64 art_quick_proxy_invoke_handler assembly.
Douglas Leung [Sat, 31 Jan 2015 02:13:58 +0000 (18:13 -0800)]
Add Mips64 art_quick_proxy_invoke_handler assembly.

This fixes a crash during boot.

Change-Id: Ia69f3a38757355d1c33095ab59ce659a9b4ef737

9 years agoMerge "Disable clang optimization to boot up on arm64."
Chih-Hung Hsieh [Sat, 31 Jan 2015 01:24:50 +0000 (01:24 +0000)]
Merge "Disable clang optimization to boot up on arm64."

9 years agoMerge "ART: Add Mips64 resolution trampoline assembly"
Andreas Gampe [Sat, 31 Jan 2015 01:12:35 +0000 (01:12 +0000)]
Merge "ART: Add Mips64 resolution trampoline assembly"

9 years agoART: Add Mips64 resolution trampoline assembly
Andreas Gampe [Sat, 31 Jan 2015 01:04:45 +0000 (17:04 -0800)]
ART: Add Mips64 resolution trampoline assembly

Add the resolution trampoline assembly.

Change-Id: I45306f5913c6f57f46b97cb87fa321ae16642292

9 years agoDisable clang optimization to boot up on arm64.
Chih-Hung Hsieh [Fri, 30 Jan 2015 23:37:34 +0000 (15:37 -0800)]
Disable clang optimization to boot up on arm64.

On arm64 devices, clang compiled lib64/libart.so repeatedly
crashes during boot up stage. That prevents a stable adb connection.
When optimization of BitVector::NumSetBits is disabled,
we can boot up to Android home screen, although some Apps
are still unstable.
This is a temporary workaround only for clang/llvm arm64 target,
to enable concurrent debugging on other bugs.

BUG: 19180814
Change-Id: Id82497ce4be0b2c30d36679d15394848d826f50c

9 years agoMerge "Add options for building/testing with coverage."
Dan Albert [Fri, 30 Jan 2015 22:49:13 +0000 (22:49 +0000)]
Merge "Add options for building/testing with coverage."

9 years agoMerge "Remove some unused cutils/properties.h references"
Brian Carlstrom [Fri, 30 Jan 2015 19:14:50 +0000 (19:14 +0000)]
Merge "Remove some unused cutils/properties.h references"

9 years agoRemove some unused cutils/properties.h references
Brian Carlstrom [Fri, 30 Jan 2015 18:18:03 +0000 (10:18 -0800)]
Remove some unused cutils/properties.h references

Also remove an obsolete include workaround

Change-Id: Ie17387280285b969c4e9b5334bafde8239b9faf6

9 years agoMerge "Use the non access check entrypoint when possible."
Nicolas Geoffray [Fri, 30 Jan 2015 17:49:06 +0000 (17:49 +0000)]
Merge "Use the non access check entrypoint when possible."

9 years agoUse the non access check entrypoint when possible.
Nicolas Geoffray [Wed, 28 Jan 2015 14:50:01 +0000 (14:50 +0000)]
Use the non access check entrypoint when possible.

Change-Id: I0b53d63141395e26816d5d2ce3fa6a297bb39b54

9 years agoAdd options for building/testing with coverage.
Dan Albert [Wed, 1 Oct 2014 05:10:10 +0000 (22:10 -0700)]
Add options for building/testing with coverage.

    acov --clean
    mm -B NATIVE_COVERAGE=true ART_COVERAGE=true test-art-host
    acov --host

-B is needed because you need to be sure you rebuild *all* of ART with
coverage.

Change-Id: Ib94ef610bd1b44dc45624877710ed733051b7a50

9 years agoMerge "Implement LICM in optimizing compiler."
Nicolas Geoffray [Fri, 30 Jan 2015 09:54:25 +0000 (09:54 +0000)]
Merge "Implement LICM in optimizing compiler."

9 years agoImplement LICM in optimizing compiler.
Nicolas Geoffray [Mon, 26 Jan 2015 10:02:45 +0000 (10:02 +0000)]
Implement LICM in optimizing compiler.

Change-Id: I9c8afb0a58ef45e568576015473cbfd5f011c242

9 years agoMerge "Remove libcxx.mk cruft."
Dan Albert [Thu, 29 Jan 2015 22:19:40 +0000 (22:19 +0000)]
Merge "Remove libcxx.mk cruft."

9 years agoRemove libcxx.mk cruft.
Dan Albert [Thu, 29 Jan 2015 21:28:13 +0000 (13:28 -0800)]
Remove libcxx.mk cruft.

This is on by default now. No need to leave it in the makefiles.

Change-Id: I20eab7426da4bbbf8b70ffc5b9af7b97487d885d

9 years agoMerge "Allow preopted apps to have sharpened calls for non-x86 architectures."
Jeff Hao [Thu, 29 Jan 2015 19:02:54 +0000 (19:02 +0000)]
Merge "Allow preopted apps to have sharpened calls for non-x86 architectures."

9 years agoMerge "Introduce primitive type helpers."
Andreas Gampe [Thu, 29 Jan 2015 18:52:34 +0000 (18:52 +0000)]
Merge "Introduce primitive type helpers."

9 years agoIntroduce primitive type helpers.
Alexandre Rames [Thu, 29 Jan 2015 16:57:31 +0000 (16:57 +0000)]
Introduce primitive type helpers.

Change-Id: I81e909a185787f109c0afafa27b4335050a0dcdf

9 years agoMerge "optimizing: NullCheck elimination"
Nicolas Geoffray [Thu, 29 Jan 2015 12:02:12 +0000 (12:02 +0000)]
Merge "optimizing: NullCheck elimination"

9 years agooptimizing: NullCheck elimination
Calin Juravle [Mon, 26 Jan 2015 18:54:32 +0000 (18:54 +0000)]
optimizing: NullCheck elimination

How it works:
- run a type analysis to propagate null information on instructions
- during the last instruction simplifier remove null checks for which
the input is known to be not null

The current type analysis is actually a nullability analysis but it will
be reused in follow up CLs to propagate type information: so it keeps
the more convenient name.

Change-Id: I54bb1d32ab24604b4d677d1ecdaf8d60a5ff5ce9

9 years agoMerge "Fix bad rebase."
Nicolas Geoffray [Thu, 29 Jan 2015 11:40:22 +0000 (11:40 +0000)]
Merge "Fix bad rebase."

9 years agoFix bad rebase.
Nicolas Geoffray [Thu, 29 Jan 2015 11:39:44 +0000 (11:39 +0000)]
Fix bad rebase.

Change-Id: Ia66c5ec4a612908b749b058d85f374d1f1b72a2a

9 years agoMerge "[optimizing compiler] Support x86 hard float ABI"
Nicolas Geoffray [Thu, 29 Jan 2015 11:05:48 +0000 (11:05 +0000)]
Merge "[optimizing compiler] Support x86 hard float ABI"

9 years agoMerge "Small optimization for recursive calls: avoid dex cache."
Nicolas Geoffray [Thu, 29 Jan 2015 10:55:11 +0000 (10:55 +0000)]
Merge "Small optimization for recursive calls: avoid dex cache."

9 years agoSmall optimization for recursive calls: avoid dex cache.
Nicolas Geoffray [Fri, 12 Dec 2014 19:22:03 +0000 (19:22 +0000)]
Small optimization for recursive calls: avoid dex cache.

Change-Id: I044757a2f06e535cdc1480c4fc8182b89635baf6

9 years agoMerge "Clean up pass driver"
Mathieu Chartier [Thu, 29 Jan 2015 01:17:10 +0000 (01:17 +0000)]
Merge "Clean up pass driver"

9 years agoClean up pass driver
Mathieu Chartier [Tue, 27 Jan 2015 02:30:19 +0000 (18:30 -0800)]
Clean up pass driver

Added pass manager to hold the state which used to be in global
variables.

Static variables caused issues with Runtime.exit since they are
destroyed by the global destructors while threads are still
executing.

Bug: 17950037
Change-Id: Ie0e4546dc9e48909c8df996a5c135be682d50044

9 years agoMerge "ART: Arm64 optimizing compiler intrinsics"
Andreas Gampe [Wed, 28 Jan 2015 23:36:25 +0000 (23:36 +0000)]
Merge "ART: Arm64 optimizing compiler intrinsics"

9 years agoART: Arm64 optimizing compiler intrinsics
Andreas Gampe [Fri, 16 Jan 2015 07:24:00 +0000 (23:24 -0800)]
ART: Arm64 optimizing compiler intrinsics

Implement most intrinsics for the optimizing compiler for Arm64.

Change-Id: Idb459be09f0524cb9aeab7a5c7fccb1c6b65a707

9 years agoMerge "Force set resolved method for static invokes"
Mathieu Chartier [Wed, 28 Jan 2015 22:34:48 +0000 (22:34 +0000)]
Merge "Force set resolved method for static invokes"

9 years agoForce set resolved method for static invokes
Mathieu Chartier [Wed, 28 Jan 2015 21:11:44 +0000 (13:11 -0800)]
Force set resolved method for static invokes

For static invokes, we may dispatch to the static method in the
superclass but resolve using the subclass. To prevent getting slow
paths on each invoke, we force set the resolved method for the
super class dex method index if we are in the same dex file.

Added test.

Bug: 19175856
Change-Id: I26f8644a7f725f5c2dc2a94a8e9578f573792507

9 years agoMerge "Print lock level in ExclusiveUnlock"
Mathieu Chartier [Wed, 28 Jan 2015 02:21:29 +0000 (02:21 +0000)]
Merge "Print lock level in ExclusiveUnlock"

9 years agoPrint lock level in ExclusiveUnlock
Mathieu Chartier [Wed, 28 Jan 2015 01:14:16 +0000 (17:14 -0800)]
Print lock level in ExclusiveUnlock

Bug: 18713034
Change-Id: I83e1bf1e2023b595d8ddf20008935c75b2b0aa0c

9 years ago[optimizing compiler] Support x86 hard float ABI
Mark Mendell [Mon, 26 Jan 2015 16:21:33 +0000 (11:21 -0500)]
[optimizing compiler] Support x86 hard float ABI

Add support for the new ABI passing FP parameters in XMM0-XMM3.  This
allows us to optimize for x86 methods that don't use 'long'.

Change-Id: Ic79a24767173451e7d7095ccc2a00b307593a868
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
9 years agoMerge "ART: Even more Quick cleanup"
Andreas Gampe [Wed, 28 Jan 2015 00:18:07 +0000 (00:18 +0000)]
Merge "ART: Even more Quick cleanup"

9 years agoMerge "Revert "Revert "ART: Implement X86 hard float (Quick/JNI/Baseline)"""
Andreas Gampe [Tue, 27 Jan 2015 23:57:47 +0000 (23:57 +0000)]
Merge "Revert "Revert "ART: Implement X86 hard float (Quick/JNI/Baseline)"""

9 years agoMerge "ART: Clean up some build flags"
Andreas Gampe [Tue, 27 Jan 2015 23:29:53 +0000 (23:29 +0000)]
Merge "ART: Clean up some build flags"

9 years agoART: Even more Quick cleanup
Andreas Gampe [Tue, 27 Jan 2015 22:31:40 +0000 (14:31 -0800)]
ART: Even more Quick cleanup

Remove Backend.

Change-Id: I247cc65ccda6a362ba1a8f5e73e7f12ecd980a87

9 years agoART: Clean up some build flags
Andreas Gampe [Tue, 27 Jan 2015 22:36:38 +0000 (14:36 -0800)]
ART: Clean up some build flags

Remove some no-longer necessary build flags.

Change-Id: Iea85a21689c20931b88d0e84b84410652b66b38d

9 years agoRevert "Revert "ART: Implement X86 hard float (Quick/JNI/Baseline)""
Mark P Mendell [Tue, 27 Jan 2015 15:45:27 +0000 (15:45 +0000)]
Revert "Revert "ART: Implement X86 hard float (Quick/JNI/Baseline)""

This reverts commit 949c91fb91f40a4a80b2b492913cf8541008975e.

This time, don't clobber EBX before saving it.

Redo some of the macros to make register usage explicit.

Change-Id: I8db8662877cd006816e16a28f42444ab7c36bfef

9 years agoMerge "ART: reduce UpdateModUnionTable time for partial GC"
Hiroshi Yamauchi [Tue, 27 Jan 2015 20:20:55 +0000 (20:20 +0000)]
Merge "ART: reduce UpdateModUnionTable time for partial GC"

9 years agoAllow preopted apps to have sharpened calls for non-x86 architectures.
Jeff Hao [Tue, 27 Jan 2015 19:22:04 +0000 (11:22 -0800)]
Allow preopted apps to have sharpened calls for non-x86 architectures.

Bug: 19100762
Change-Id: Idce391a06a85b881ce138756155b36e3ed7319c1

9 years agoMerge "ART: clear dirty cards of alloc space for MS/CMS partial and full GCs"
Hiroshi Yamauchi [Tue, 27 Jan 2015 18:54:18 +0000 (18:54 +0000)]
Merge "ART: clear dirty cards of alloc space for MS/CMS partial and full GCs"

9 years agoMerge "Checker: Allow don't-care output on a line"
David Brazdil [Tue, 27 Jan 2015 18:21:06 +0000 (18:21 +0000)]
Merge "Checker: Allow don't-care output on a line"

9 years agoChecker: Allow don't-care output on a line
David Brazdil [Tue, 27 Jan 2015 15:54:30 +0000 (15:54 +0000)]
Checker: Allow don't-care output on a line

This patch changes the behaviour of whitespace characters in CHECK
lines, allowing for additional content between verified parts of the
matched output line. Tests therefore won't need to explicitly match
attributes which are not tested.

The way attributes are printed ensures that the right part of the
line is matched against.

Example:
  - output line:   i32 Div [ i4 i8 ] ( loop_header:null )
  - CHECK before:  Div [ {{i\d+}} {{i\d+}} ] ( loop_header:null )
  - CHECK now:     Div ( loop_header:null )

Change-Id: Icf6bacfb285ae288bea21640e860a871a94cc386

9 years agoMerge "ART: Further refactor use lists"
David Brazdil [Tue, 27 Jan 2015 17:32:30 +0000 (17:32 +0000)]
Merge "ART: Further refactor use lists"

9 years agoART: Further refactor use lists
David Brazdil [Tue, 27 Jan 2015 17:12:29 +0000 (17:12 +0000)]
ART: Further refactor use lists

Change-Id: I9e3219575a508ca5141d851bfcaf848302480c32

9 years agoART: Fix x86 disassembler
Andreas Gampe [Tue, 27 Jan 2015 03:30:23 +0000 (19:30 -0800)]
ART: Fix x86 disassembler

Index 4 in SIB is valid when given Rex.x, where it denotes r12 and
not the invalid rsp.

Bug: 19149560
Change-Id: I1a74bcbb1ccf3686e45a3df5d852a86444f9d850

9 years agoMerge "run-test: enable checker in dev mode"
Calin Juravle [Tue, 27 Jan 2015 16:14:43 +0000 (16:14 +0000)]
Merge "run-test: enable checker in dev mode"

9 years agoMerge "ART: More Quick cleanup"
Andreas Gampe [Tue, 27 Jan 2015 16:14:26 +0000 (16:14 +0000)]
Merge "ART: More Quick cleanup"

9 years agorun-test: enable checker in dev mode
Calin Juravle [Mon, 26 Jan 2015 16:47:33 +0000 (16:47 +0000)]
run-test: enable checker in dev mode

Also, use explicit flush (instead of passing flush parameter to print)
to enable better compatibility across python versions.

Change-Id: Iaf294d88e932b778d5dce7f3c2b8eca775849973

9 years agoMerge "Revert "ART: Implement X86 hard float (Quick/JNI/Baseline)""
Vladimir Marko [Tue, 27 Jan 2015 15:10:10 +0000 (15:10 +0000)]
Merge "Revert "ART: Implement X86 hard float (Quick/JNI/Baseline)""

9 years agoRevert "ART: Implement X86 hard float (Quick/JNI/Baseline)"
Vladimir Marko [Tue, 27 Jan 2015 10:48:44 +0000 (10:48 +0000)]
Revert "ART: Implement X86 hard float (Quick/JNI/Baseline)"

And the 3 Mac build fixes. Fix conflicts in context_x86.* .

This reverts commits
  3d2c8e74c27efee58e24ec31441124f3f21384b9 ,
  34eda1dd66b92a361797c63d57fa19e83c08a1b4 ,
  f601d1954348b71186fa160a0ae6a1f4f1c5aee6 ,
  bc503348a1da573488503cc2819c9e30807bea31 .

Bug: 19150481
Change-Id: I6650ee30a7d261159380fe2119e14379e4dc9970

9 years agoMerge "Refactor register access from StackVisitor"
Sebastien Hertz [Tue, 27 Jan 2015 07:37:38 +0000 (07:37 +0000)]
Merge "Refactor register access from StackVisitor"

9 years agoMerge "JDWP: allocate single step control only when active"
Sebastien Hertz [Tue, 27 Jan 2015 07:32:23 +0000 (07:32 +0000)]
Merge "JDWP: allocate single step control only when active"

9 years agoART: More Quick cleanup
Andreas Gampe [Tue, 27 Jan 2015 01:37:27 +0000 (17:37 -0800)]
ART: More Quick cleanup

Remove frontend, move code to QuickCompiler.

Fix some includes.

Change-Id: Iedd8f339ec76635e48b166e285f7fc571fc948ac

9 years agoMerge "ART: Fix inlining of Mir2Lir"
Andreas Gampe [Tue, 27 Jan 2015 00:41:53 +0000 (00:41 +0000)]
Merge "ART: Fix inlining of Mir2Lir"

9 years agoART: Fix inlining of Mir2Lir
Andreas Gampe [Tue, 27 Jan 2015 00:39:37 +0000 (16:39 -0800)]
ART: Fix inlining of Mir2Lir

Missed -inl includes.

Change-Id: I39e6d603c7f5d36693aca3816653594488bff63f

9 years agoMerge "Fix 114-ParallelGC."
Hiroshi Yamauchi [Tue, 27 Jan 2015 00:27:04 +0000 (00:27 +0000)]
Merge "Fix 114-ParallelGC."

9 years agoFix 114-ParallelGC.
Hiroshi Yamauchi [Tue, 27 Jan 2015 00:05:11 +0000 (16:05 -0800)]
Fix 114-ParallelGC.

In main(), the outer ArrayList may still be reachable after the
try-catch under the interpreter or a compiler without a liveness
analysis and the last ArrayList allocation may fail due to an OOME.

This fixes 114-ParallelGC under the CC and the GSS collectors.

Bug: 12687968
Change-Id: Ie1082d38b2a677ec70fdc23b0187ae8ce0612808

9 years agoMerge "ART: Some Quick cleanup"
Andreas Gampe [Mon, 26 Jan 2015 23:46:42 +0000 (23:46 +0000)]
Merge "ART: Some Quick cleanup"

9 years agoART: Some Quick cleanup
Andreas Gampe [Fri, 23 Jan 2015 04:39:27 +0000 (20:39 -0800)]
ART: Some Quick cleanup

Make several fields const in CompilationUnit. May benefit some Mir2Lir
code that repeats tests, and in general immutability is good.

Remove compiler_internals.h and refactor some other headers to reduce
overly broad imports (and thus forced recompiles on changes).

Change-Id: I898405907c68923581373b5981d8a85d2e5d185a

9 years agoMerge "Add missing EndTiming in CompileMethod"
Mathieu Chartier [Mon, 26 Jan 2015 21:38:05 +0000 (21:38 +0000)]
Merge "Add missing EndTiming in CompileMethod"

9 years agoAdd missing EndTiming in CompileMethod
Mathieu Chartier [Mon, 26 Jan 2015 21:29:31 +0000 (13:29 -0800)]
Add missing EndTiming in CompileMethod

DCHECK failure when running tests with JIT.

Bug: 17950037
Change-Id: I4f886758b2a9322c2d7a8e8449e84c9a1709c813

9 years agoMerge "ART: Take apart stream output"
Andreas Gampe [Mon, 26 Jan 2015 20:28:47 +0000 (20:28 +0000)]
Merge "ART: Take apart stream output"

9 years agoMerge "Change AtomicStack to use StackReference"
Mathieu Chartier [Mon, 26 Jan 2015 19:19:26 +0000 (19:19 +0000)]
Merge "Change AtomicStack to use StackReference"

9 years agoJDWP: allocate single step control only when active
Sebastien Hertz [Mon, 26 Jan 2015 16:37:14 +0000 (17:37 +0100)]
JDWP: allocate single step control only when active

Only allocates SingleStepControl when a single step is requested in
a thread.

Bug: 19142632
Change-Id: I830b7eaea86b516d3fac80ce14d41c66b4bd5415

9 years agoART: Take apart stream output
Andreas Gampe [Mon, 26 Jan 2015 18:38:34 +0000 (10:38 -0800)]
ART: Take apart stream output

To investigate bug.

Bug: 19028453
Change-Id: Ib109caf2747f9adeef15dfc0f4708498e395dacf

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 agoRefactor register access from StackVisitor
Sebastien Hertz [Thu, 22 Jan 2015 17:57:14 +0000 (18:57 +0100)]
Refactor register access from StackVisitor

Moves register access checking up to StackVisitor by adding methods
IsAccessibleGPR and IsAccessibleFPR in Context class. It allows to
simplify GetGPR/FPR and SetGPR/FPR methods in the Context class (and
its subclasses).

Also simplifies code in StackVisitor by adding IsAccessibleRegister,
GetRegister and SetRegister methods which then call either GPR or FPR
specific methods in Context depending on the nature of the accessed
register.

Bug: 18547544
Bug: 19106446
Change-Id: I6e707608d935a71571d0e975a6e766053de3763a

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 agoART: clear dirty cards of alloc space for MS/CMS partial and full GCs
Lei Li [Thu, 15 Jan 2015 03:55:26 +0000 (11:55 +0800)]
ART: clear dirty cards of alloc space for MS/CMS partial and full GCs

For MS/CMS partial and full GCs, we could clear the dirty cards of alloc
space when we process cards as we care about the dirty cards after GC
starts.

Change-Id: I1f9b32b20d75979387bc5d26b0cf9a256dcf20b6
Signed-off-by: Lei Li <lei.l.li@intel.com>