OSDN Git Service
Zheng Xu [Tue, 3 Feb 2015 04:03:15 +0000 (12:03 +0800)]
ARM/ARM64: Dump thread offset.
Dump thread offset in compiler verbose log for arm32/arm64 and
oatdump for arm64.
Before patch :
0x4e: ldr lr, [rSELF, #604]
After patch :
0x4e: ldr lr, [rSELF, #604] ; pTestSuspend
Change-Id: I514e69dc44b1cf4c8a8fa085b31f93cf6a1b7c91
Andreas Gampe [Tue, 3 Feb 2015 03:36:14 +0000 (03:36 +0000)]
Merge "ART: Make 074-gc-thrash more OOME tolerant"
Andreas Gampe [Tue, 3 Feb 2015 03:35:31 +0000 (03:35 +0000)]
Merge "ART: Fix assembler_thumb_test"
Andreas Gampe [Tue, 3 Feb 2015 03:17:11 +0000 (19:17 -0800)]
ART: Fix assembler_thumb_test
Fix the inconsistent calls. This was bad practice, requiring that
shape meant arm32 and thumb were not interchangeable.
Also fix an error in the assembler itself for tst and teq.
Change-Id: I50242801002aa81cc17bfaa53eb8b7c1d9488fbc
Andreas Gampe [Tue, 3 Feb 2015 01:44:31 +0000 (17:44 -0800)]
ART: Make 074-gc-thrash more OOME tolerant
The strong and weak array need to stay in sync. Don't set the
strong reference when the weak reference can't be allocated.
Change-Id: I6c8f245627d206d89a378099cea97e4f1cd1d9fa
Andreas Gampe [Tue, 3 Feb 2015 01:26:14 +0000 (01:26 +0000)]
Merge "ART: Fix thumb2 utils assembler"
Andreas Gampe [Mon, 2 Feb 2015 21:17:52 +0000 (13:17 -0800)]
ART: Fix thumb2 utils assembler
It didn't correctly put down the 16b variants, as it was not
checking the ShifterOperand correctly.
Add one simple test. TODO: exhaustive testing.
Change-Id: Ied08da115f8417a3ca92bd9967c6dcdc102e7510
Andreas Gampe [Tue, 3 Feb 2015 01:12:55 +0000 (01:12 +0000)]
Merge "ART: Fix run-tests for emulator"
David Brazdil [Mon, 2 Feb 2015 19:11:29 +0000 (19:11 +0000)]
Merge "Fix broken gtests after SuspendCheck optimization"
David Brazdil [Mon, 2 Feb 2015 18:58:27 +0000 (18:58 +0000)]
Fix broken gtests after SuspendCheck optimization
Fixes hardcoded graph dumps in pretty printer tests and an assumption
that non-zero branch offset in dex implies presence of HInstructions.
Change-Id: Iee273c06b7b36410b4621107bef2f3592ece2f5b
Andreas Gampe [Wed, 28 Jan 2015 00:12:08 +0000 (16:12 -0800)]
ART: Fix run-tests for emulator
On a standard emulator, there is no sdcard emulation, so trying to
create a temp file in /sdcard will fail - it will try to create in
the root file system, which is read-only.
Change-Id: If7d1ad82db156177a5be58c2f79ed730cf7ab6b9
David Brazdil [Mon, 2 Feb 2015 18:01:39 +0000 (18:01 +0000)]
Merge "No SuspendChecks when branching to return block"
David Brazdil [Mon, 2 Feb 2015 15:23:05 +0000 (15:23 +0000)]
No SuspendChecks when branching to return block
The return basic block is usually placed at the beginning of the DEX
file, making the branches to it back edges where the Optimizing's
graph builder places SuspendCheck instructions, only to be removed
later by the instruction_simplifier pass. Since huge auto-generated
methods tend to contain hundreds/thousands of these, this patch
recognizes the pattern and prevents builder from generating the
redundant check in the first place.
Change-Id: I065a3c2f71964b8fc2e53dc20730ba42938b78a1
Hiroshi Yamauchi [Mon, 2 Feb 2015 17:45:21 +0000 (17:45 +0000)]
Merge "Clean up enums in RegionSpace."
Vladimir Marko [Mon, 2 Feb 2015 16:57:36 +0000 (16:57 +0000)]
Merge "AdvanceMIR does not know how to passthrough the empty block"
Andreas Gampe [Mon, 2 Feb 2015 15:57:09 +0000 (15:57 +0000)]
Merge "ART: Fix x86 disassembler"
Serguei Katkov [Thu, 29 Jan 2015 11:08:05 +0000 (17:08 +0600)]
AdvanceMIR does not know how to passthrough the empty block
AdvanceMIR utility function could easily traverse the empty
blocks to find the next bytecode.
Change-Id: I037710b567275799f940b5b9766bcafec570b70e
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Brian Carlstrom [Sun, 1 Feb 2015 06:19:39 +0000 (06:19 +0000)]
Merge "Check 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
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.""
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.
Andreas Gampe [Sat, 31 Jan 2015 03:14:59 +0000 (03:14 +0000)]
Merge "Add 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
Hiroshi Yamauchi [Sat, 31 Jan 2015 00:25:12 +0000 (16:25 -0800)]
Clean up enums in RegionSpace.
Split enum RegionState into two enums, RegionState and
RegionType. Merge the latter with SubSpaceType.
Use RefToRegionUnlocked in RegionSpace::AddLiveBytes.
Turn some CHECKs into DCHECKs.
Improve the Ritz EAAC run time and the GC time by ~20%.
Bug:
12687968
Change-Id: Icdb8ab3e9ec2a1eefc8c9a2e4bb19befcf2562a6
Chih-Hung Hsieh [Sat, 31 Jan 2015 01:24:50 +0000 (01:24 +0000)]
Merge "Disable clang optimization to boot up on arm64."
Andreas Gampe [Sat, 31 Jan 2015 01:12:35 +0000 (01:12 +0000)]
Merge "ART: 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
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
Dan Albert [Fri, 30 Jan 2015 22:49:13 +0000 (22:49 +0000)]
Merge "Add options for building/testing with coverage."
Brian Carlstrom [Fri, 30 Jan 2015 19:14:50 +0000 (19:14 +0000)]
Merge "Remove 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
Nicolas Geoffray [Fri, 30 Jan 2015 17:49:06 +0000 (17:49 +0000)]
Merge "Use 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
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
Nicolas Geoffray [Fri, 30 Jan 2015 09:54:25 +0000 (09:54 +0000)]
Merge "Implement 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
Dan Albert [Thu, 29 Jan 2015 22:19:40 +0000 (22:19 +0000)]
Merge "Remove 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
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."
Andreas Gampe [Thu, 29 Jan 2015 18:52:34 +0000 (18:52 +0000)]
Merge "Introduce primitive type helpers."
Alexandre Rames [Thu, 29 Jan 2015 16:57:31 +0000 (16:57 +0000)]
Introduce primitive type helpers.
Change-Id: I81e909a185787f109c0afafa27b4335050a0dcdf
Nicolas Geoffray [Thu, 29 Jan 2015 12:02:12 +0000 (12:02 +0000)]
Merge "optimizing: 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
Nicolas Geoffray [Thu, 29 Jan 2015 11:40:22 +0000 (11:40 +0000)]
Merge "Fix bad rebase."
Nicolas Geoffray [Thu, 29 Jan 2015 11:39:44 +0000 (11:39 +0000)]
Fix bad rebase.
Change-Id: Ia66c5ec4a612908b749b058d85f374d1f1b72a2a
Nicolas Geoffray [Thu, 29 Jan 2015 11:05:48 +0000 (11:05 +0000)]
Merge "[optimizing compiler] Support x86 hard float ABI"
Nicolas Geoffray [Thu, 29 Jan 2015 10:55:11 +0000 (10:55 +0000)]
Merge "Small 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
Mathieu Chartier [Thu, 29 Jan 2015 01:17:10 +0000 (01:17 +0000)]
Merge "Clean 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
Andreas Gampe [Wed, 28 Jan 2015 23:36:25 +0000 (23:36 +0000)]
Merge "ART: 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
Mathieu Chartier [Wed, 28 Jan 2015 22:34:48 +0000 (22:34 +0000)]
Merge "Force 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
Mathieu Chartier [Wed, 28 Jan 2015 02:21:29 +0000 (02:21 +0000)]
Merge "Print 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
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>
Andreas Gampe [Wed, 28 Jan 2015 00:18:07 +0000 (00:18 +0000)]
Merge "ART: Even more Quick cleanup"
Andreas Gampe [Tue, 27 Jan 2015 23:57:47 +0000 (23:57 +0000)]
Merge "Revert "Revert "ART: Implement X86 hard float (Quick/JNI/Baseline)"""
Andreas Gampe [Tue, 27 Jan 2015 23:29:53 +0000 (23:29 +0000)]
Merge "ART: Clean up some build flags"
Andreas Gampe [Tue, 27 Jan 2015 22:31:40 +0000 (14:31 -0800)]
ART: Even more Quick cleanup
Remove Backend.
Change-Id: I247cc65ccda6a362ba1a8f5e73e7f12ecd980a87
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
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
Hiroshi Yamauchi [Tue, 27 Jan 2015 20:20:55 +0000 (20:20 +0000)]
Merge "ART: reduce UpdateModUnionTable time for partial GC"
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
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"
David Brazdil [Tue, 27 Jan 2015 18:21:06 +0000 (18:21 +0000)]
Merge "Checker: 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
David Brazdil [Tue, 27 Jan 2015 17:32:30 +0000 (17:32 +0000)]
Merge "ART: 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
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
Calin Juravle [Tue, 27 Jan 2015 16:14:43 +0000 (16:14 +0000)]
Merge "run-test: enable checker in dev mode"
Andreas Gampe [Tue, 27 Jan 2015 16:14:26 +0000 (16:14 +0000)]
Merge "ART: More Quick cleanup"
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
Vladimir Marko [Tue, 27 Jan 2015 15:10:10 +0000 (15:10 +0000)]
Merge "Revert "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
Sebastien Hertz [Tue, 27 Jan 2015 07:37:38 +0000 (07:37 +0000)]
Merge "Refactor register access from StackVisitor"
Sebastien Hertz [Tue, 27 Jan 2015 07:32:23 +0000 (07:32 +0000)]
Merge "JDWP: allocate single step control only when active"
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
Andreas Gampe [Tue, 27 Jan 2015 00:41:53 +0000 (00:41 +0000)]
Merge "ART: 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
Hiroshi Yamauchi [Tue, 27 Jan 2015 00:27:04 +0000 (00:27 +0000)]
Merge "Fix 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
Andreas Gampe [Mon, 26 Jan 2015 23:46:42 +0000 (23:46 +0000)]
Merge "ART: 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
Mathieu Chartier [Mon, 26 Jan 2015 21:38:05 +0000 (21:38 +0000)]
Merge "Add 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
Andreas Gampe [Mon, 26 Jan 2015 20:28:47 +0000 (20:28 +0000)]
Merge "ART: Take apart stream output"
Mathieu Chartier [Mon, 26 Jan 2015 19:19:26 +0000 (19:19 +0000)]
Merge "Change AtomicStack to use StackReference"
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
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
Vladimir Marko [Mon, 26 Jan 2015 18:33:45 +0000 (18:33 +0000)]
Merge "ART: 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
David Brazdil [Mon, 26 Jan 2015 16:33:48 +0000 (16:33 +0000)]
Merge "Optimizing: 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
Nicolas Geoffray [Mon, 26 Jan 2015 16:11:04 +0000 (16:11 +0000)]
Merge "Move code around and address growable_array comment."
Vladimir Marko [Mon, 26 Jan 2015 16:08:22 +0000 (16:08 +0000)]
Merge "Quick: Fix range check for intrinsic String.charAt() on x86."
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
Vladimir Marko [Mon, 26 Jan 2015 15:46:40 +0000 (15:46 +0000)]
Merge "Fix Mac build."
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