OSDN Git Service

android-x86/art.git
8 years agoART: Add simple null alias tracking for lock counting
Andreas Gampe [Wed, 14 Oct 2015 19:55:48 +0000 (12:55 -0700)]
ART: Add simple null alias tracking for lock counting

Null is the only literal for objects, and one may lock and unlock
on different registers containing null, which is still balanced.

Bug: 23502994
Change-Id: Ibfbf1b8c2aa7d1409e3e426988d2d15efe1f2d0d

8 years agoMerge "Added support for unsigned comparisons"
Aart Bik [Thu, 15 Oct 2015 16:18:05 +0000 (16:18 +0000)]
Merge "Added support for unsigned comparisons"

8 years agoMerge "ART: Use .bss section for dex cache arrays."
Vladimir Marko [Thu, 15 Oct 2015 16:01:16 +0000 (16:01 +0000)]
Merge "ART: Use .bss section for dex cache arrays."

8 years agoMerge "Fix monitor contention logging to support negative line numbers"
Brian Carlstrom [Thu, 15 Oct 2015 15:55:56 +0000 (15:55 +0000)]
Merge "Fix monitor contention logging to support negative line numbers"

8 years agoMerge "Fix a sign-extension bug in JValue."
Vladimir Marko [Thu, 15 Oct 2015 15:53:39 +0000 (15:53 +0000)]
Merge "Fix a sign-extension bug in JValue."

8 years agoMerge "Allocate dex cache arrays in their class loader's linear alloc"
Mathieu Chartier [Thu, 15 Oct 2015 15:52:53 +0000 (15:52 +0000)]
Merge "Allocate dex cache arrays in their class loader's linear alloc"

8 years agoART: Use .bss section for dex cache arrays.
Vladimir Marko [Tue, 8 Sep 2015 12:47:48 +0000 (13:47 +0100)]
ART: Use .bss section for dex cache arrays.

Change-Id: I5fd507973b56f6a662a02a8c1dd9ac4493fb7b36

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 "Move x86 constant area code to its own file"
Calin Juravle [Thu, 15 Oct 2015 12:35:37 +0000 (12:35 +0000)]
Merge "Move x86 constant area code to its own file"

8 years agoMerge "Revert "load store elimination.""
Nicolas Geoffray [Thu, 15 Oct 2015 10:33:25 +0000 (10:33 +0000)]
Merge "Revert "load store elimination.""

8 years agoRevert "load store elimination."
Nicolas Geoffray [Thu, 15 Oct 2015 10:30:18 +0000 (10:30 +0000)]
Revert "load store elimination."

Breaks libcore tests:

  libcore.java.lang.ref.FinalizeTest#testWatchdogDoesNotFailForObjectsThatAreNearTheDeadline
  libcore.java.util.ResourceLeakageDetectorTest#testDetectsUnclosedCloseGuard
  org.apache.harmony.tests.java.lang.ref.ReferenceTest#test_finalizeReferenceInteraction

This reverts commit 589dac7f0ce078d19aad7e35bb0195c47ddf01d2.

Change-Id: I55115765c10762d5bc152d3425e4622560d8b9f4

8 years agoMerge "load store elimination."
Mingyao Yang [Thu, 15 Oct 2015 08:47:48 +0000 (08:47 +0000)]
Merge "load store elimination."

8 years agoload store elimination.
Mingyao Yang [Mon, 24 Aug 2015 18:21:42 +0000 (11:21 -0700)]
load store elimination.

This adds a pass to eliminate some unnecessary heap loads/stores. It
first collects heap locations and then tracks values stored to those heap
locations. Alias analysis is done based on offset, type, singleton,
pre-existence, etc.

Change-Id: I11a9d8ef20d1b2f245607eb25118e9aff9be472a

8 years agoMerge "Revert "Implement rosalloc fast path in assembly for 32 bit arm.""
Nicolas Geoffray [Thu, 15 Oct 2015 07:30:00 +0000 (07:30 +0000)]
Merge "Revert "Implement rosalloc fast path in assembly for 32 bit arm.""

8 years agoRevert "Implement rosalloc fast path in assembly for 32 bit arm."
Nicolas Geoffray [Thu, 15 Oct 2015 07:29:38 +0000 (07:29 +0000)]
Revert "Implement rosalloc fast path in assembly for 32 bit arm."

Tentative. Looks like heap poisoning breaks with this change.

bug: 9986565

This reverts commit e6316940db61faead36f9642cce137d41fc8f606.

Change-Id: I5c63758221464fe319315f40ae79c656048faed0

8 years agoMerge "Make the run-test makefile check if we have python3"
Alex Light [Thu, 15 Oct 2015 00:42:12 +0000 (00:42 +0000)]
Merge "Make the run-test makefile check if we have python3"

8 years agoMerge "Fix structural class checks"
Mathieu Chartier [Wed, 14 Oct 2015 23:13:43 +0000 (23:13 +0000)]
Merge "Fix structural class checks"

8 years agoFix structural class checks
Mathieu Chartier [Tue, 13 Oct 2015 01:13:39 +0000 (18:13 -0700)]
Fix structural class checks

Enabled for debug builds to prevent bit rotting. Changed
DexFileAndClassPair to work with std::queue.

Re-enabled structural check tests.

Change-Id: Ia981564650bf1c7e418d8a73efcc15733ddf7501

8 years agoMake the run-test makefile check if we have python3
Alex Light [Wed, 14 Oct 2015 17:43:01 +0000 (10:43 -0700)]
Make the run-test makefile check if we have python3

It will only disable these tests if we do not to get better CI
coverage.

Change-Id: I850582a445b61dface961ed6cfa75187d22c4454

8 years agoAdded support for unsigned comparisons
Aart Bik [Fri, 9 Oct 2015 18:15:55 +0000 (11:15 -0700)]
Added support for unsigned comparisons

Rationale: even though not directly supported in input graph,
           having the ability to express unsigned comparisons
           in HIR is useful for all sorts of optimizations.

Change-Id: I4543c96a8c1895c3d33aaf85685afbf80fe27d72

8 years agoMerge "ART: Fix build"
Andreas Gampe [Wed, 14 Oct 2015 20:30:00 +0000 (20:30 +0000)]
Merge "ART: Fix build"

8 years agoART: Fix build
Andreas Gampe [Wed, 14 Oct 2015 20:26:49 +0000 (13:26 -0700)]
ART: Fix build

We warn on multiline comments.

Bug: 23502994
Change-Id: I1ab89585c0350922675c242d107682ca27489cc1

8 years agoMerge "ART: More lenient lock merging in the verifier"
Andreas Gampe [Wed, 14 Oct 2015 19:51:40 +0000 (19:51 +0000)]
Merge "ART: More lenient lock merging in the verifier"

8 years agoMerge "Cleanup interface initialization code to create fewer scopes"
Alex Light [Wed, 14 Oct 2015 19:00:02 +0000 (19:00 +0000)]
Merge "Cleanup interface initialization code to create fewer scopes"

8 years agoCleanup interface initialization code to create fewer scopes
Alex Light [Wed, 14 Oct 2015 18:07:41 +0000 (11:07 -0700)]
Cleanup interface initialization code to create fewer scopes

Make us not create scopes and handles in loops and instead just mutate
a single one.

Bug: 24618811

Change-Id: Ia16ed24c9914efa5a3358df24f0b2d05e2613910

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 agoMove x86 constant area code to its own file
Mark Mendell [Tue, 6 Oct 2015 18:58:32 +0000 (14:58 -0400)]
Move x86 constant area code to its own file

Move the logic to constant_area_fixups_x86.cc to keep the graph
modifications out of the code generation file.

Change-Id: I476f1fce80cb4ad38ae872b620ae58f6e52fe664
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
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 agoART: More lenient lock merging in the verifier
Andreas Gampe [Sat, 10 Oct 2015 02:13:39 +0000 (19:13 -0700)]
ART: More lenient lock merging in the verifier

Be more lenient on mismatched lock levels when merging register
lines in the verifier. Registers may be aliases, in which case
it is fine to drop the lock information, as long as at least one
alias survives to keep the data alive.

Bug: 23502994
Change-Id: I0844115480286f5e6ab5ba71dced571e50dd42a5

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"