OSDN Git Service
Mathieu Chartier [Mon, 12 Oct 2015 22:53:00 +0000 (22:53 +0000)]
Merge "Avoid 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
Richard Uhler [Mon, 12 Oct 2015 20:01:46 +0000 (20:01 +0000)]
Merge "Pay attention to string offset and count fields."
Mathieu Chartier [Mon, 12 Oct 2015 18:26:42 +0000 (18:26 +0000)]
Merge "Unload 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
Andreas Gampe [Mon, 12 Oct 2015 18:02:51 +0000 (18:02 +0000)]
Merge "ART: Lock counting in the interpreter"
Calin Juravle [Mon, 12 Oct 2015 17:03:32 +0000 (17:03 +0000)]
Merge "optimizing: 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
Vladimir Marko [Mon, 12 Oct 2015 13:34:51 +0000 (13:34 +0000)]
Merge "Optimizing: Avoid string init register set copy for debuggable."
Vladimir Marko [Mon, 12 Oct 2015 13:34:34 +0000 (13:34 +0000)]
Merge "Optimizing: Move GraphChecker memory allocations to arena."
Nicolas Geoffray [Mon, 12 Oct 2015 12:47:06 +0000 (12:47 +0000)]
Merge "Intrinsify System.arraycopy."
Calin Juravle [Mon, 12 Oct 2015 12:25:47 +0000 (12:25 +0000)]
Merge "Assert that referrers class should not need access check."
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
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
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
Nicolas Geoffray [Mon, 12 Oct 2015 11:20:55 +0000 (11:20 +0000)]
Merge "Revert "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
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
Sebastien Hertz [Mon, 12 Oct 2015 07:07:29 +0000 (07:07 +0000)]
Merge "Fix instrumentation frame check with inlining"
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
Mathieu Chartier [Fri, 9 Oct 2015 20:07:38 +0000 (20:07 +0000)]
Merge "Add 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
Calin Juravle [Fri, 9 Oct 2015 13:35:35 +0000 (13:35 +0000)]
Merge "Add test to check that unverified methods are not inlined."
Calin Juravle [Fri, 9 Oct 2015 13:35:23 +0000 (13:35 +0000)]
Merge "Add a clarifying comment on HLoadClass::InstructionDataEquals."
Calin Juravle [Fri, 9 Oct 2015 13:35:06 +0000 (13:35 +0000)]
Merge "Don't check for optimizing test marker on unsupported ISAs."
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
Calin Juravle [Thu, 8 Oct 2015 15:48:31 +0000 (16:48 +0100)]
Add a clarifying comment on HLoadClass::InstructionDataEquals.
Change-Id: I4c298a453f03cde9d32fe43aff86886835af16fe
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
Vladimir Marko [Fri, 9 Oct 2015 12:23:08 +0000 (12:23 +0000)]
Merge "ART: 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
Andreas Gampe [Fri, 9 Oct 2015 03:06:37 +0000 (03:06 +0000)]
Merge "ART: Do not abort on exception in CreatePeer"
Chih-hung Hsieh [Thu, 8 Oct 2015 22:25:50 +0000 (22:25 +0000)]
Merge "Revert "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
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
Vladimir Marko [Thu, 8 Oct 2015 18:09:39 +0000 (18:09 +0000)]
Merge "ART: 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
Vladimir Marko [Thu, 8 Oct 2015 15:47:08 +0000 (15:47 +0000)]
Merge "Add DCHECKs to ArenaVector and ScopedArenaVector."
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"
Vladimir Marko [Thu, 8 Oct 2015 13:23:57 +0000 (13:23 +0000)]
Merge "Optimizing: Clean up after tagging arena allocations."
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
David Brazdil [Thu, 8 Oct 2015 11:38:25 +0000 (11:38 +0000)]
Merge "Mark 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
David Brazdil [Thu, 8 Oct 2015 11:21:26 +0000 (11:21 +0000)]
Merge "ART: 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
Vladimir Marko [Wed, 30 Sep 2015 12:32:31 +0000 (13:32 +0100)]
Optimizing: Clean up after tagging arena allocations.
Change-Id: Id6ee1fe44c4c57d373db7a39530f29a5ca9aee18
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
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."
Calin Juravle [Thu, 8 Oct 2015 09:41:22 +0000 (09:41 +0000)]
Merge "Enforce optimizing test marker for verification errors."
Nicolas Geoffray [Thu, 8 Oct 2015 07:45:06 +0000 (07:45 +0000)]
Merge "Fix x86_64 round intrinsic duplicate load"
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
Jeff Hao [Wed, 7 Oct 2015 23:27:55 +0000 (23:27 +0000)]
Merge "Move 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
Mathieu Chartier [Wed, 7 Oct 2015 21:15:51 +0000 (21:15 +0000)]
Merge "Mark breakpoint roots"
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
Calin Juravle [Wed, 7 Oct 2015 11:08:54 +0000 (12:08 +0100)]
Enforce optimizing test marker for verification errors.
Change-Id: Ie7babf162729fa02d285572ee043fa9e588d73cc
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>
Andreas Gampe [Wed, 7 Oct 2015 16:59:56 +0000 (16:59 +0000)]
Merge "ART: Remove interpreter entrypoints"
Andreas Gampe [Wed, 7 Oct 2015 00:04:01 +0000 (17:04 -0700)]
ART: Remove interpreter entrypoints
These are no longer used as entrypoints. Make them proper runtime
functions local to the interpreter.
Bump oat version.
Change-Id: Icdd92e20eafc5668b68eeebf55cf624560f462b3
Andreas Gampe [Wed, 7 Oct 2015 16:29:30 +0000 (16:29 +0000)]
Merge "ART: Change asm test logging"
Andreas Gampe [Wed, 7 Oct 2015 01:59:08 +0000 (18:59 -0700)]
ART: Change asm test logging
Adapt the output a bit to log the exact shell command, and change
how the output is logged and what is logged. Should get more info
on failure.
Change-Id: Iacf58d27d6e1cf01e2fcd5835c4e0f8b5a820501
Vladimir Marko [Wed, 7 Oct 2015 15:00:41 +0000 (15:00 +0000)]
Merge "Revert "Quick: Work around large frame sizes for x86_64.""
Vladimir Marko [Wed, 7 Oct 2015 12:44:31 +0000 (12:44 +0000)]
Revert "Quick: Work around large frame sizes for x86_64."
Instead, move the MEMORY_TOOL_MAKE_* calls out-of-line.
Bug:
24729377
This reverts commit
d4cf1e4fe0624b99df22ed5556dc1d042b32a7e0.
Change-Id: I9bccc8bd4a691a2d018b84de8b95bc68fafad4e1
Vladimir Marko [Wed, 7 Oct 2015 11:07:30 +0000 (11:07 +0000)]
Merge "Quick: Work around large frame sizes for x86_64."
Vladimir Marko [Wed, 7 Oct 2015 11:03:29 +0000 (12:03 +0100)]
Quick: Work around large frame sizes for x86_64.
Bug:
24729377
Change-Id: Id608aabad60fb7f1a1450a02444bddfb0eb008a6
Nicolas Geoffray [Wed, 7 Oct 2015 11:00:15 +0000 (11:00 +0000)]
Merge "Fix lint issues."
Nicolas Geoffray [Wed, 7 Oct 2015 10:52:21 +0000 (11:52 +0100)]
Fix lint issues.
Change-Id: I989e25cdaa7e0b99bfef1379f4e4a71511ae1a27
Nicolas Geoffray [Wed, 7 Oct 2015 09:51:07 +0000 (09:51 +0000)]
Merge "Add support for intrinsic optimizations."
Nicolas Geoffray [Fri, 2 Oct 2015 16:30:26 +0000 (17:30 +0100)]
Add support for intrinsic optimizations.
Change-Id: Ib5a4224022f9360e60c09a19ac8642270a7f3b64
Vladimir Marko [Wed, 7 Oct 2015 09:11:49 +0000 (09:11 +0000)]
Merge "Revert "Optimizing: Disable -Wframe-larger-than= for CompileOptimized().""
Nicolas Geoffray [Wed, 7 Oct 2015 08:31:18 +0000 (08:31 +0000)]
Merge "The move to jack forces us to explicitly give the jar path."
Nicolas Geoffray [Wed, 7 Oct 2015 08:28:52 +0000 (09:28 +0100)]
The move to jack forces us to explicitly give the jar path.
vogar currently does not support the --classpath option with jack.
bug:
24723887
Change-Id: I0923ff32ffa62d0ea3fbb4b330e50a3e7dbe8e69
Mathieu Chartier [Tue, 6 Oct 2015 22:05:45 +0000 (22:05 +0000)]
Merge "Disable class unloading test for CC"
Mathieu Chartier [Tue, 6 Oct 2015 21:14:26 +0000 (14:14 -0700)]
Disable class unloading test for CC
Test is flaky for now.
Bug:
22720414
Bug:
24468364
Change-Id: I5d9a7468e17b64522929ae2f7ca469680b8dced2
Mathieu Chartier [Tue, 6 Oct 2015 17:32:38 +0000 (10:32 -0700)]
Mark breakpoint roots
Used to prevent class unloading on methods that have breakpoints.
Bug:
22720414
Change-Id: I9aee8bcbfdf253607e89dfc55a50ba3f11d99206
Vladimir Marko [Tue, 6 Oct 2015 17:30:45 +0000 (17:30 +0000)]
Revert "Optimizing: Disable -Wframe-larger-than= for CompileOptimized()."
Instead, prevent inlining of AllocateRegisters() that uses
huge stack-allocated objects.
Bug:
24698147
This reverts commit
67f784e63343db5ecd6e584343484684ea60d1f8.
Change-Id: I94c408f7acf6e43897a248d9ea0761b979ed00c8
Hiroshi Yamauchi [Tue, 6 Oct 2015 17:01:33 +0000 (17:01 +0000)]
Merge "Refactor the alloc entry point generation code."
The Android Open Source Project [Tue, 6 Oct 2015 16:59:00 +0000 (09:59 -0700)]
Merge remote-tracking branch 'goog/stage-aosp-master' into HEAD
Calin Juravle [Tue, 6 Oct 2015 16:38:30 +0000 (16:38 +0000)]
Merge "Fix location summary for LoadClass"
Calin Juravle [Tue, 6 Oct 2015 16:35:58 +0000 (17:35 +0100)]
Fix location summary for LoadClass
Don't request a register for the current method if we're gonna call the
runtime.
Change-Id: I9760d15108bd95efb2a34e6eacd84b60841781d7
Andreas Gampe [Tue, 6 Oct 2015 16:25:16 +0000 (16:25 +0000)]
Merge "ART: Add more error logging to assembler tests"
Andreas Gampe [Tue, 6 Oct 2015 16:05:10 +0000 (09:05 -0700)]
ART: Add more error logging to assembler tests
Add error logging so we can figure out when something goes wrong
on the build servers.
Change-Id: Idf9bc1d0e19846059d1dc78510be6333179cd758
Calin Juravle [Tue, 6 Oct 2015 16:21:28 +0000 (16:21 +0000)]
Merge "Assert we don't store an invalid dex_pc in the stack maps."
Calin Juravle [Tue, 6 Oct 2015 16:09:49 +0000 (17:09 +0100)]
Assert we don't store an invalid dex_pc in the stack maps.
Change-Id: Ie106486bd4a6d975c9a3d03d02dc48d97d83c3d8
Calin Juravle [Tue, 6 Oct 2015 15:47:49 +0000 (15:47 +0000)]
am
22d450d3: Merge "Remove dex_pc\'s default value from top level HInstruction"
* commit '
22d450d37801d05785ad1fc792ea9873225fb6a6':
Remove dex_pc's default value from top level HInstruction
Calin Juravle [Tue, 6 Oct 2015 15:43:38 +0000 (15:43 +0000)]
Merge "Remove dex_pc's default value from top level HInstruction"
Calin Juravle [Tue, 6 Oct 2015 14:46:54 +0000 (15:46 +0100)]
Remove dex_pc's default value from top level HInstruction
This clearly hints that the dex_pc is stored in the super class and
doesn't need to be reimplemented in subclasses.
Change-Id: Ifd4aa95190c4c89367b4dd2cc8ab0ffd263659ac
Vladimir Marko [Tue, 6 Oct 2015 15:19:02 +0000 (15:19 +0000)]
am
51d70f17: Merge "Optimizing: Disable -Wframe-larger-than= for CompileOptimized()."
* commit '
51d70f1744493d75e5cef946b7f5e398d0df4d3d':
Optimizing: Disable -Wframe-larger-than= for CompileOptimized().
Vladimir Marko [Tue, 6 Oct 2015 15:15:58 +0000 (15:15 +0000)]
Merge "Optimizing: Disable -Wframe-larger-than= for CompileOptimized()."
Vladimir Marko [Tue, 6 Oct 2015 14:52:34 +0000 (15:52 +0100)]
Optimizing: Disable -Wframe-larger-than= for CompileOptimized().
Bug:
24698147
Change-Id: I360e9412d85afa83ef2152e4c16bcd3139b34f75
Nicolas Geoffray [Tue, 6 Oct 2015 14:57:10 +0000 (14:57 +0000)]
am
72305e26: Merge "Fix another Makefile typo."
* commit '
72305e26c8cecea0d2259278c950b96541c3f8ce':
Fix another Makefile typo.
Nicolas Geoffray [Tue, 6 Oct 2015 14:50:48 +0000 (14:50 +0000)]
Merge "Fix another Makefile typo."
Vladimir Marko [Tue, 6 Oct 2015 12:58:33 +0000 (12:58 +0000)]
am
35ef974d: Merge "ART: Mark deallocated arena memory as inaccessible."
* commit '
35ef974da353b13938fb0f3272c03070ad728431':
ART: Mark deallocated arena memory as inaccessible.
Calin Juravle [Tue, 6 Oct 2015 12:54:57 +0000 (12:54 +0000)]
am
3b6b5879: Merge "Add support for unresolved classes in optimizing."
* commit '
3b6b587934659bc4428557ac174ccce3731fd91a':
Add support for unresolved classes in optimizing.
Vladimir Marko [Tue, 6 Oct 2015 12:53:41 +0000 (12:53 +0000)]
Merge "ART: Mark deallocated arena memory as inaccessible."
Calin Juravle [Tue, 6 Oct 2015 12:48:56 +0000 (12:48 +0000)]
Merge "Add support for unresolved classes in optimizing."
Calin Juravle [Fri, 2 Oct 2015 20:05:03 +0000 (21:05 +0100)]
Add support for unresolved classes in optimizing.
Change-Id: I0e299a81e560eb9cb0737ec46125dffc99333b54
Nicolas Geoffray [Tue, 6 Oct 2015 11:39:17 +0000 (12:39 +0100)]
Fix another Makefile typo.
Change-Id: I4a4a81255c3bef47c92c127e66c2ccd8b199e51d
Nicolas Geoffray [Tue, 6 Oct 2015 11:31:05 +0000 (11:31 +0000)]
am
f82baa91: Merge "Use optimizing\'s pic boot image in art script."
* commit '
f82baa912a4c05a39f953826a45c0617dd2e78ff':
Use optimizing's pic boot image in art script.
Nicolas Geoffray [Tue, 6 Oct 2015 11:26:13 +0000 (11:26 +0000)]
Merge "Use optimizing's pic boot image in art script."
Nicolas Geoffray [Tue, 6 Oct 2015 11:00:47 +0000 (12:00 +0100)]
Use optimizing's pic boot image in art script.
Optimizing is the default compiler.
Change-Id: Ief961c2615f880425eeb348971e50583c3b6283d