OSDN Git Service

android-x86/art.git
8 years agoAllocate dex cache arrays in their class loader's linear alloc
Mathieu Chartier [Wed, 14 Oct 2015 17:55:30 +0000 (10:55 -0700)]
Allocate dex cache arrays in their class loader's linear alloc

Fixes memory leak for class unloading where the dex cache arrays
used to be in the runtime linear alloc which never got freed.

TODO: Some of the callers like the compiler just use the runtime
linear alloc. We could clean this up if we want to have class
unloading during compilation for some reason.

Added regression test.

Bug: 22720414

Change-Id: Ia50333a06a339efbdaedb5ad94b7a1ae841124ec

8 years agoMerge "Implement rosalloc fast path in assembly for 32 bit arm."
Hiroshi Yamauchi [Wed, 14 Oct 2015 18:18:24 +0000 (18:18 +0000)]
Merge "Implement rosalloc fast path in assembly for 32 bit arm."

8 years agoMerge "Do not attempt to unregister null oat files"
Mathieu Chartier [Wed, 14 Oct 2015 18:05:38 +0000 (18:05 +0000)]
Merge "Do not attempt to unregister null oat files"

8 years agoDo not attempt to unregister null oat files
Mathieu Chartier [Wed, 14 Oct 2015 17:58:41 +0000 (10:58 -0700)]
Do not attempt to unregister null oat files

The oat file in the DexFile array may be null if we are running
without dex2oat.

Bug: 22720414
Change-Id: Ie1014b740caa77c3484a1671f29edb42bcc746c0

8 years agoMerge "X86 jump tables for PackedSwitch"
Vladimir Marko [Wed, 14 Oct 2015 17:21:56 +0000 (17:21 +0000)]
Merge "X86 jump tables for PackedSwitch"

8 years agoMerge "X86_64 jump tables for PackedSwitch"
Vladimir Marko [Wed, 14 Oct 2015 17:19:09 +0000 (17:19 +0000)]
Merge "X86_64 jump tables for PackedSwitch"

8 years agoX86 jump tables for PackedSwitch
Mark Mendell [Fri, 18 Sep 2015 18:10:29 +0000 (14:10 -0400)]
X86 jump tables for PackedSwitch

Implement X86PackedSwitch using a jump table of offsets to blocks. The
X86PackedSwitch version just adds an input to address the constant area.

Change-Id: Id2752a1ee79222493040c6fd0e59aee9a544b76a
Bug: 21119474
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
8 years agoX86_64 jump tables for PackedSwitch
Mark Mendell [Fri, 18 Sep 2015 17:36:07 +0000 (13:36 -0400)]
X86_64 jump tables for PackedSwitch

Implement PackedSwitch using a jump table of offsets to blocks.

Bug: 24092914
Bug: 21119474
Change-Id: I83430086c03ef728d30d79b4022607e9245ef98f
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
8 years agoMerge "Improve Thumb2 bitwise operations."
Vladimir Marko [Wed, 14 Oct 2015 11:34:02 +0000 (11:34 +0000)]
Merge "Improve Thumb2 bitwise operations."

8 years agoImprove Thumb2 bitwise operations.
Vladimir Marko [Mon, 14 Sep 2015 14:13:26 +0000 (15:13 +0100)]
Improve Thumb2 bitwise operations.

Allow embedding constants in AND, ORR, EOR. Add ORN to
assembler, use BIC and ORN for AND and ORR when needed.

Change-Id: I24d69ecc7ce6992b9c5eb7a313ff47a942de9661

8 years agoMerge "Fix braino in arm assembler."
Nicolas Geoffray [Wed, 14 Oct 2015 10:48:44 +0000 (10:48 +0000)]
Merge "Fix braino in arm assembler."

8 years agoFix braino in arm assembler.
Nicolas Geoffray [Wed, 14 Oct 2015 10:44:23 +0000 (11:44 +0100)]
Fix braino in arm assembler.

Method is pure virtual. Caught by clang.

Change-Id: I061666ec919702fa7c30e9a98161cad56a9c864d

8 years agoMerge "Fix MIPS64 boot"
Nicolas Geoffray [Wed, 14 Oct 2015 09:42:04 +0000 (09:42 +0000)]
Merge "Fix MIPS64 boot"

8 years agoFix MIPS64 boot
Goran Jakovljevic [Wed, 14 Oct 2015 09:23:48 +0000 (11:23 +0200)]
Fix MIPS64 boot

Return register in FieldAccessCallingConventionMIPS64 was A0,
but it should be V0.

With this change, the system server doesn't crash.

Change-Id: Id52f684658d235fd001d9784145f4ea5ed2938b6

8 years agoMerge "Implement System.arraycopy intrinsic for arm."
Nicolas Geoffray [Wed, 14 Oct 2015 09:01:21 +0000 (09:01 +0000)]
Merge "Implement System.arraycopy intrinsic for arm."

8 years agoMerge "Disable tests requiring python3 for dist builds."
Nicolas Geoffray [Wed, 14 Oct 2015 08:33:56 +0000 (08:33 +0000)]
Merge "Disable tests requiring python3 for dist builds."

8 years agoDisable tests requiring python3 for dist builds.
Nicolas Geoffray [Wed, 14 Oct 2015 08:27:09 +0000 (09:27 +0100)]
Disable tests requiring python3 for dist builds.

go/art-buildbot bots do not have python3.

Change-Id: Id17a56bec0a12529b46a9fbaaefc59195c63a50a

8 years agoMerge "Add some missing comments"
Mathieu Chartier [Tue, 13 Oct 2015 23:49:00 +0000 (23:49 +0000)]
Merge "Add some missing comments"

8 years agoAdd some missing comments
Mathieu Chartier [Tue, 13 Oct 2015 23:38:52 +0000 (16:38 -0700)]
Add some missing comments

Change-Id: I5ff393dfe082559887e9beed1fdb359035c5d3aa

8 years agoMerge "Add initial default method support to Art"
Alex Light [Tue, 13 Oct 2015 21:02:28 +0000 (21:02 +0000)]
Merge "Add initial default method support to Art"

8 years agoMerge "Revert "Revert "Unload oat files"""
Mathieu Chartier [Tue, 13 Oct 2015 20:45:36 +0000 (20:45 +0000)]
Merge "Revert "Revert "Unload oat files"""

8 years agoRevert "Revert "Unload oat files""
Mathieu Chartier [Tue, 13 Oct 2015 14:59:34 +0000 (07:59 -0700)]
Revert "Revert "Unload oat files""

Fixed a race where two threads calling OatFile::Open could both use
dlopen on the host.

Bug: 22720414

This reverts commit 72da5e7461fec3b1e116050f2e6f233efb9c54f3.

Change-Id: I1636045b724944d2a09417527280784967957095

8 years agoAdd initial default method support to Art
Alex Light [Mon, 31 Aug 2015 20:17:42 +0000 (13:17 -0700)]
Add initial default method support to Art

This commit starts the process of adding default methods and their
associated pieces to ART.

This adds full support for calling default methods using
invoke-interface and invoke-virtual on objects implementing the
interfaces. Verifier is changed to allow this when the runtime is
started with -Xexperimental:default-methods.

This also adds support for defining and calling static methods on
interface classes with invoke-static.

Directly calling overridden default methods using invoke-super is not
yet supported.

This adds 5 new run-tests for this functionality.

Bug: 24618811

Change-Id: I35ca800d99d3329348b277789b70ceeeba6e7f03

8 years agoImplement rosalloc fast path in assembly for 32 bit arm.
Hiroshi Yamauchi [Wed, 7 Oct 2015 22:41:48 +0000 (15:41 -0700)]
Implement rosalloc fast path in assembly for 32 bit arm.

Measurements (N5, ms)
BinaryTrees:  1702 ->  987 (-42%)
MemAllocTest: 2480 -> 2270  (-8%)

Bug: 9986565

Change-Id: I460af3626ad724078463d27cf74a94b7ff7468c5

8 years agoMerge "Fix braino in ArtCode refactoring."
Nicolas Geoffray [Tue, 13 Oct 2015 18:17:02 +0000 (18:17 +0000)]
Merge "Fix braino in ArtCode refactoring."

8 years agoFix braino in ArtCode refactoring.
Nicolas Geoffray [Tue, 13 Oct 2015 18:14:15 +0000 (19:14 +0100)]
Fix braino in ArtCode refactoring.

AssertPcIsWithinQuickCode is tricky. Will clean-up in
next changes.

Change-Id: Ie97d3d4a54cb568ea33e645e7d6d9a0c337e9c6a

8 years agoMerge "ART: Rewrite stub-test inline assembly"
Andreas Gampe [Tue, 13 Oct 2015 16:40:37 +0000 (16:40 +0000)]
Merge "ART: Rewrite stub-test inline assembly"

8 years agoART: Rewrite stub-test inline assembly
Andreas Gampe [Mon, 12 Oct 2015 21:29:38 +0000 (14:29 -0700)]
ART: Rewrite stub-test inline assembly

Rewrite the x86 and x86-64 inline assembly to spill and restore
registers manually. GCC outright rejected clobbering some registers,
but Clang silently ignored the problematic cases, which breaks,
for example, in ASAN builds.

Bug: 24294564
Change-Id: Iab45da0d6082ad77435e75bdc41d547619443d47

8 years agoImplement System.arraycopy intrinsic for arm.
Nicolas Geoffray [Tue, 13 Oct 2015 08:48:30 +0000 (09:48 +0100)]
Implement System.arraycopy intrinsic for arm.

Change-Id: I58ae1af5103e281fe59fbe022b718d6d8f293a5e

8 years agoMerge "Fix moving GC bugs in MonitorEnter and MonitorExit"
Mathieu Chartier [Tue, 13 Oct 2015 15:28:26 +0000 (15:28 +0000)]
Merge "Fix moving GC bugs in MonitorEnter and MonitorExit"

8 years agoFix moving GC bugs in MonitorEnter and MonitorExit
Mathieu Chartier [Mon, 12 Oct 2015 23:18:20 +0000 (16:18 -0700)]
Fix moving GC bugs in MonitorEnter and MonitorExit

Fixes test 088 with gcstress mode.

Change-Id: Iaeb91f62f22233e403e97e954bfdc8dc367e63c8

8 years agoMerge "Fix mips64 build: Add missing "="."
Vladimir Marko [Tue, 13 Oct 2015 14:45:14 +0000 (14:45 +0000)]
Merge "Fix mips64 build: Add missing "="."

8 years agoFix mips64 build: Add missing "=".
Vladimir Marko [Tue, 13 Oct 2015 14:28:24 +0000 (15:28 +0100)]
Fix mips64 build: Add missing "=".

Change-Id: I457732945ae8f554ed49943c913b8c4fcc2a4d18

8 years agoMerge "Revert "optimizing: propagate type information of arguments""
Calin Juravle [Tue, 13 Oct 2015 13:12:35 +0000 (13:12 +0000)]
Merge "Revert "optimizing: propagate type information of arguments""

8 years agoRevert "optimizing: propagate type information of arguments"
Calin Juravle [Tue, 13 Oct 2015 13:10:33 +0000 (13:10 +0000)]
Revert "optimizing: propagate type information of arguments"

This reverts commit 2c1ffc3a06e9ed0411e29e7dc2558b5d657ede7a.

Change-Id: I3291070c373e661fa578f5a38becbb5a502baf94

8 years agoMerge "Add an abstraction over a compiled code."
Nicolas Geoffray [Tue, 13 Oct 2015 12:33:02 +0000 (12:33 +0000)]
Merge "Add an abstraction over a compiled code."

8 years agoAdd an abstraction over a compiled code.
Nicolas Geoffray [Mon, 12 Oct 2015 17:11:10 +0000 (18:11 +0100)]
Add an abstraction over a compiled code.

That's just step 1, moving code-related functions of ArtMethod to
another class. That class is only a wrapper on an ArtMethod, but will
be changed to be a wrapper around compiled code.

Change-Id: I6f35fc06d37220558dff61691e51ae20066b0dd6

8 years agoMerge "Revert "Revert "Fix instrumentation frame check with inlining"""
Sebastien Hertz [Tue, 13 Oct 2015 09:58:38 +0000 (09:58 +0000)]
Merge "Revert "Revert "Fix instrumentation frame check with inlining"""

8 years agoMerge "Change JNI calling convention for mips"
Nicolas Geoffray [Tue, 13 Oct 2015 09:57:26 +0000 (09:57 +0000)]
Merge "Change JNI calling convention for mips"

8 years agoMerge "MIPS: Assemblers changes needed for optimizing compiler"
Nicolas Geoffray [Tue, 13 Oct 2015 07:54:16 +0000 (07:54 +0000)]
Merge "MIPS: Assemblers changes needed for optimizing compiler"

8 years agoMerge "Revert "Unload oat files""
Nicolas Geoffray [Tue, 13 Oct 2015 07:26:59 +0000 (07:26 +0000)]
Merge "Revert "Unload oat files""

8 years agoRevert "Unload oat files"
Nicolas Geoffray [Tue, 13 Oct 2015 07:26:45 +0000 (07:26 +0000)]
Revert "Unload oat files"

Tentative, will monitor bots if flakiness is fixed.

Bug: 22720414

This reverts commit 18656fefc7e68e2549a8fa93455074d359d1efa8.

Change-Id: I53b645b73207ccd21cad6ddac1de483bcc158794

8 years agoMerge "Avoid visiting find array class cache as roots"
Mathieu Chartier [Mon, 12 Oct 2015 22:53:00 +0000 (22:53 +0000)]
Merge "Avoid visiting find array class cache as roots"

8 years agoAvoid visiting find array class cache as roots
Mathieu Chartier [Mon, 12 Oct 2015 22:06:16 +0000 (15:06 -0700)]
Avoid visiting find array class cache as roots

If we visit the find array class cache as roots it will prevent
unloading for any array classes in the cache. This is not ideal
since it may take a long time for the entries to get replaced.

Also added a missed exception check in getDeclaredClasses.

Bug: 22720414

Change-Id: Id34557fd034b3e3967ef629301ee251931937849

8 years agoMerge "Pay attention to string offset and count fields."
Richard Uhler [Mon, 12 Oct 2015 20:01:46 +0000 (20:01 +0000)]
Merge "Pay attention to string offset and count fields."

8 years agoMerge "Unload oat files"
Mathieu Chartier [Mon, 12 Oct 2015 18:26:42 +0000 (18:26 +0000)]
Merge "Unload oat files"

8 years agoUnload oat files
Mathieu Chartier [Fri, 9 Oct 2015 23:05:31 +0000 (16:05 -0700)]
Unload oat files

Unregister and delete oat file when we call DexFile.closeDexFile if
all of the dex files are no longer in use. We store the oat file as
the first element of the dex files array (cookie).

Added a test that reads the proc maps to ensure there are no
unload-ex maps. Also some clean up.

Bug: 22720414

Change-Id: I52ab84562d1045e94b9a37aafe57609a14f188f7

8 years agoMerge "ART: Lock counting in the interpreter"
Andreas Gampe [Mon, 12 Oct 2015 18:02:51 +0000 (18:02 +0000)]
Merge "ART: Lock counting in the interpreter"

8 years agoMerge "optimizing: propagate type information of arguments"
Calin Juravle [Mon, 12 Oct 2015 17:03:32 +0000 (17:03 +0000)]
Merge "optimizing: propagate type information of arguments"

8 years agooptimizing: propagate type information of arguments
Calin Juravle [Mon, 12 Oct 2015 14:01:58 +0000 (15:01 +0100)]
optimizing: propagate type information of arguments

This helps inlining and type check elimination.

e.g:

void foo(ArrayList a) {
int size = a.size(); // this can be inlined now.
}

Change-Id: I3ffeaa79d9df444aa19511c83c544cb5f9d9ab20

8 years agoRevert "Revert "Fix instrumentation frame check with inlining""
Sebastien Hertz [Mon, 12 Oct 2015 13:40:10 +0000 (13:40 +0000)]
Revert "Revert "Fix instrumentation frame check with inlining""

This reverts commit e3e2fe5ecc16184ba91018adb3bfbec1c5880c29.

Fixes an incorrect CHECK_GT into CHECK_GE in method
Instrumentation::ComputeFrameId.

Bug: 22519499
Change-Id: I0a11d378f3baa728b9176ff086fe4b835b30bb46

8 years agoMerge "Optimizing: Avoid string init register set copy for debuggable."
Vladimir Marko [Mon, 12 Oct 2015 13:34:51 +0000 (13:34 +0000)]
Merge "Optimizing: Avoid string init register set copy for debuggable."

8 years agoMerge "Optimizing: Move GraphChecker memory allocations to arena."
Vladimir Marko [Mon, 12 Oct 2015 13:34:34 +0000 (13:34 +0000)]
Merge "Optimizing: Move GraphChecker memory allocations to arena."

8 years agoMerge "Intrinsify System.arraycopy."
Nicolas Geoffray [Mon, 12 Oct 2015 12:47:06 +0000 (12:47 +0000)]
Merge "Intrinsify System.arraycopy."

8 years agoMerge "Assert that referrers class should not need access check."
Calin Juravle [Mon, 12 Oct 2015 12:25:47 +0000 (12:25 +0000)]
Merge "Assert that referrers class should not need access check."

8 years agoOptimizing: Move GraphChecker memory allocations to arena.
Vladimir Marko [Mon, 12 Oct 2015 09:38:28 +0000 (10:38 +0100)]
Optimizing: Move GraphChecker memory allocations to arena.

Bug: 18120045
Change-Id: I3934158e6ea4868d9baa1dfcc53b603ca6c521e2

8 years agoOptimizing: Avoid string init register set copy for debuggable.
Vladimir Marko [Mon, 12 Oct 2015 11:45:52 +0000 (12:45 +0100)]
Optimizing: Avoid string init register set copy for debuggable.

Change-Id: I9c0d2e1353c68129db06d53a190a015710e4fd0d

8 years agoAssert that referrers class should not need access check.
Calin Juravle [Wed, 7 Oct 2015 17:55:43 +0000 (18:55 +0100)]
Assert that referrers class should not need access check.

Change-Id: Ia682befdb0dc665f74c0f96454cc007304ff2397

8 years agoMerge "Revert "Fix instrumentation frame check with inlining""
Nicolas Geoffray [Mon, 12 Oct 2015 11:20:55 +0000 (11:20 +0000)]
Merge "Revert "Fix instrumentation frame check with inlining""

8 years agoRevert "Fix instrumentation frame check with inlining"
Nicolas Geoffray [Mon, 12 Oct 2015 11:20:24 +0000 (11:20 +0000)]
Revert "Fix instrumentation frame check with inlining"

Times out on some run-tests.

Bug: 22519499

This reverts commit 3079e28b00accd19aa1153929fb00497d00956d9.

Change-Id: I4c612a5af20e4481eb9865f90abd429f4a40ce57

8 years agoIntrinsify System.arraycopy.
Nicolas Geoffray [Tue, 6 Oct 2015 10:45:02 +0000 (11:45 +0100)]
Intrinsify System.arraycopy.

Currently on x64, will do the other architectures in
different changes.

Change-Id: I15fbbadb450dd21787809759a8b14b21b1e42624

8 years agoMerge "Fix instrumentation frame check with inlining"
Sebastien Hertz [Mon, 12 Oct 2015 07:07:29 +0000 (07:07 +0000)]
Merge "Fix instrumentation frame check with inlining"

8 years agoART: Lock counting in the interpreter
Andreas Gampe [Fri, 28 Aug 2015 00:41:47 +0000 (17:41 -0700)]
ART: Lock counting in the interpreter

To support structured locking when balanced-locking verification
failed, count lock and unlock operations in the verifier.

Bug: 23502994
Change-Id: I2bb915da6e3d43c49723a943b42d4d5a7c939aa1

8 years agoMerge "Add OatFileManager"
Mathieu Chartier [Fri, 9 Oct 2015 20:07:38 +0000 (20:07 +0000)]
Merge "Add OatFileManager"

8 years agoAdd OatFileManager
Mathieu Chartier [Wed, 7 Oct 2015 18:44:05 +0000 (11:44 -0700)]
Add OatFileManager

Takes over a large amount of functionality from the class linker.

Changed OatFile to loading the same OatFile multiple times. This is
required for unloading OatFiles and moving dex caches to BSS since
these require a different OatFile for each dex cache and class
loader.

Bug: 22720414

Change-Id: I0321096723a294dc72949f21e66da82727b512fc

8 years agoMerge "Add test to check that unverified methods are not inlined."
Calin Juravle [Fri, 9 Oct 2015 13:35:35 +0000 (13:35 +0000)]
Merge "Add test to check that unverified methods are not inlined."

8 years agoMerge "Add a clarifying comment on HLoadClass::InstructionDataEquals."
Calin Juravle [Fri, 9 Oct 2015 13:35:23 +0000 (13:35 +0000)]
Merge "Add a clarifying comment on HLoadClass::InstructionDataEquals."

8 years agoMerge "Don't check for optimizing test marker on unsupported ISAs."
Calin Juravle [Fri, 9 Oct 2015 13:35:06 +0000 (13:35 +0000)]
Merge "Don't check for optimizing test marker on unsupported ISAs."

8 years agoAdd test to check that unverified methods are not inlined.
Calin Juravle [Thu, 8 Oct 2015 16:31:00 +0000 (17:31 +0100)]
Add test to check that unverified methods are not inlined.

Change-Id: I4b91d863d871be2419d9558b3d19c53cba4f6e2d

8 years agoAdd a clarifying comment on HLoadClass::InstructionDataEquals.
Calin Juravle [Thu, 8 Oct 2015 15:48:31 +0000 (16:48 +0100)]
Add a clarifying comment on HLoadClass::InstructionDataEquals.

Change-Id: I4c298a453f03cde9d32fe43aff86886835af16fe

8 years agoDon't check for optimizing test marker on unsupported ISAs.
Calin Juravle [Fri, 9 Oct 2015 11:03:24 +0000 (12:03 +0100)]
Don't check for optimizing test marker on unsupported ISAs.

Change-Id: I39b31e770f4a9f1f5806cc4b28009e2f1908ad43

8 years agoMerge "ART: Use arena allocator with HashSet/HashMap."
Vladimir Marko [Fri, 9 Oct 2015 12:23:08 +0000 (12:23 +0000)]
Merge "ART: Use arena allocator with HashSet/HashMap."

8 years agoART: Use arena allocator with HashSet/HashMap.
Vladimir Marko [Mon, 5 Oct 2015 19:34:42 +0000 (20:34 +0100)]
ART: Use arena allocator with HashSet/HashMap.

Allow passing ArenaAllocatorAdapter (or any other allocator)
to HashSet/HashMap and create appropriate Arena- aliases.
Use the ArenaHashMap in StackMapsStream.

Update arena allocator adapters' construct()/destroy() to
C++11 std::allocator<> API.

Change-Id: I18544f718f84c6d6580228dd35297daf7f6afb5e

8 years agoMerge "ART: Do not abort on exception in CreatePeer"
Andreas Gampe [Fri, 9 Oct 2015 03:06:37 +0000 (03:06 +0000)]
Merge "ART: Do not abort on exception in CreatePeer"

8 years agoMerge "Revert "Disable clang optimization to boot up on arm64.""
Chih-hung Hsieh [Thu, 8 Oct 2015 22:25:50 +0000 (22:25 +0000)]
Merge "Revert "Disable clang optimization to boot up on arm64.""

8 years agoRevert "Disable clang optimization to boot up on arm64."
Chih-hung Hsieh [Thu, 8 Oct 2015 21:00:10 +0000 (21:00 +0000)]
Revert "Disable clang optimization to boot up on arm64."

This reverts commit 1675f2c5581c7b0b83c8823e2b4eb0ec62b28b7f.

With latest Android source, now we can boot up without this workaround.

BUG: 19180814

Change-Id: I8a7852573856dbbe10a5f4823f7261b8ecc7490c

8 years agoART: Do not abort on exception in CreatePeer
Andreas Gampe [Thu, 1 Oct 2015 23:47:26 +0000 (16:47 -0700)]
ART: Do not abort on exception in CreatePeer

Different parts of CreatePeer may throw an exception, especially
the Thread constructor. Do not abort in such a case, but return
and report a failure to attach/create a thread.

Bug: 24200698

(cherry picked from commit 2a196784553f4fd0c0f7d4b8aac87281db3a4748)

Change-Id: I06f2c997f0451c71f791d1f12bea6f8ee65e8ab2

8 years agoMerge "ART: Do not include endian.h on Mac."
Vladimir Marko [Thu, 8 Oct 2015 18:09:39 +0000 (18:09 +0000)]
Merge "ART: Do not include endian.h on Mac."

8 years agoART: Do not include endian.h on Mac.
Vladimir Marko [Thu, 8 Oct 2015 18:07:04 +0000 (19:07 +0100)]
ART: Do not include endian.h on Mac.

Change-Id: I1bb28bd49bd1847c45e93bf2b06c643be6e09926

8 years agoMerge "Add DCHECKs to ArenaVector and ScopedArenaVector."
Vladimir Marko [Thu, 8 Oct 2015 15:47:08 +0000 (15:47 +0000)]
Merge "Add DCHECKs to ArenaVector and ScopedArenaVector."

8 years agoMerge "Make sure classes with different access checks are not GVN-ed"
Calin Juravle [Thu, 8 Oct 2015 13:59:41 +0000 (13:59 +0000)]
Merge "Make sure classes with different access checks are not GVN-ed"

8 years agoMerge "Optimizing: Clean up after tagging arena allocations."
Vladimir Marko [Thu, 8 Oct 2015 13:23:57 +0000 (13:23 +0000)]
Merge "Optimizing: Clean up after tagging arena allocations."

8 years agoMake sure classes with different access checks are not GVN-ed
Calin Juravle [Wed, 7 Oct 2015 17:55:43 +0000 (18:55 +0100)]
Make sure classes with different access checks are not GVN-ed

Change-Id: I89f72fef3be35a4dd9585d97d03a3150386e0891

8 years agoMerge "Mark a new Checker test broken for MIPS32"
David Brazdil [Thu, 8 Oct 2015 11:38:25 +0000 (11:38 +0000)]
Merge "Mark a new Checker test broken for MIPS32"

8 years agoMark a new Checker test broken for MIPS32
David Brazdil [Thu, 8 Oct 2015 11:37:25 +0000 (12:37 +0100)]
Mark a new Checker test broken for MIPS32

Change-Id: I6ecf41774326ad42d0b7c91f7bfad8047ce41260

8 years agoMerge "ART: Checker tests for --debuggable"
David Brazdil [Thu, 8 Oct 2015 11:21:26 +0000 (11:21 +0000)]
Merge "ART: Checker tests for --debuggable"

8 years agoART: Checker tests for --debuggable
David Brazdil [Thu, 8 Oct 2015 10:35:32 +0000 (11:35 +0100)]
ART: Checker tests for --debuggable

Checker was disabled for --debuggable because the code was not compiled
with Optimizing. Now that it is, we might want to write Checker tests
only for this mode. With this patch, CHECK-START(-ARCH)-DEBUGGABLE
tests will only be invoked on output of debuggable compilation.
Existing CHECK-START(-ARCH) tests will not be invoked.

Change-Id: I00c864f77b038af913d0d22ba7cf5655687f7c7c

8 years agoOptimizing: Clean up after tagging arena allocations.
Vladimir Marko [Wed, 30 Sep 2015 12:32:31 +0000 (13:32 +0100)]
Optimizing: Clean up after tagging arena allocations.

Change-Id: Id6ee1fe44c4c57d373db7a39530f29a5ca9aee18

8 years agoAdd DCHECKs to ArenaVector and ScopedArenaVector.
Vladimir Marko [Thu, 1 Oct 2015 19:57:57 +0000 (20:57 +0100)]
Add DCHECKs to ArenaVector and ScopedArenaVector.

Implement dchecked_vector<> template that DCHECK()s element
access and insert()/emplace()/erase() positions. Change the
ArenaVector<> and ScopedArenaVector<> aliases to use the new
template instead of std::vector<>. Remove DCHECK()s that
have now become unnecessary from the Optimizing compiler.

Change-Id: Ib8506bd30d223f68f52bd4476c76d9991acacadc

8 years agoMerge "Don't remove type checks if we need to perform an access check."
Calin Juravle [Thu, 8 Oct 2015 09:41:32 +0000 (09:41 +0000)]
Merge "Don't remove type checks if we need to perform an access check."

8 years agoMerge "Enforce optimizing test marker for verification errors."
Calin Juravle [Thu, 8 Oct 2015 09:41:22 +0000 (09:41 +0000)]
Merge "Enforce optimizing test marker for verification errors."

8 years agoMerge "Fix x86_64 round intrinsic duplicate load"
Nicolas Geoffray [Thu, 8 Oct 2015 07:45:06 +0000 (07:45 +0000)]
Merge "Fix x86_64 round intrinsic duplicate load"

8 years agoFix instrumentation frame check with inlining
Sebastien Hertz [Tue, 6 Oct 2015 13:28:44 +0000 (15:28 +0200)]
Fix instrumentation frame check with inlining

When instrumenting code compiled with inlining, we must compute
frame IDs like instrumentation did for pushing instrumentation
stack frames.

Bug: 22519499
Change-Id: I4a72dbe9e4d2fd4985e49f8261b54c96df7c4a81

8 years agoMerge "Move dmtracedump from dalvik to art."
Jeff Hao [Wed, 7 Oct 2015 23:27:55 +0000 (23:27 +0000)]
Merge "Move dmtracedump from dalvik to art."

8 years agoMove dmtracedump from dalvik to art.
Jeff Hao [Wed, 7 Oct 2015 22:52:09 +0000 (15:52 -0700)]
Move dmtracedump from dalvik to art.

Also ported from C to C++. Note this is more or less a straight port
from C, and the code is still very C-like.

Bug: 24700673
Change-Id: I87db5b799dc1ddd442fdd519abb88fe69fc66773

8 years agoMerge "Mark breakpoint roots"
Mathieu Chartier [Wed, 7 Oct 2015 21:15:51 +0000 (21:15 +0000)]
Merge "Mark breakpoint roots"

8 years agoDon't remove type checks if we need to perform an access check.
Calin Juravle [Wed, 7 Oct 2015 16:51:52 +0000 (17:51 +0100)]
Don't remove type checks if we need to perform an access check.

Change-Id: I9b9e07c7524e96ece8dc089c8379631c2f9e3320

8 years agoEnforce optimizing test marker for verification errors.
Calin Juravle [Wed, 7 Oct 2015 11:08:54 +0000 (12:08 +0100)]
Enforce optimizing test marker for verification errors.

Change-Id: Ie7babf162729fa02d285572ee043fa9e588d73cc

8 years agoFix x86_64 round intrinsic duplicate load
Mark Mendell [Fri, 18 Sep 2015 12:22:04 +0000 (08:22 -0400)]
Fix x86_64 round intrinsic duplicate load

When I changed the code to use Load64BitValue, I forgot to delete the
original load instruction(s).  Remove them now.

Change-Id: I76aeccf88576507f2fbcf463ae1e503827a20fe2
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
8 years agoMerge "ART: Remove interpreter entrypoints"
Andreas Gampe [Wed, 7 Oct 2015 16:59:56 +0000 (16:59 +0000)]
Merge "ART: Remove interpreter entrypoints"