OSDN Git Service
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"
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
Calin Juravle [Tue, 6 Oct 2015 10:52:32 +0000 (10:52 +0000)]
am
7b5c395e: Merge "Fix style issue in stub_test."
* commit '
7b5c395e9a50f988ca2275a429df17b6abbcc475':
Fix style issue in stub_test.
Calin Juravle [Tue, 6 Oct 2015 10:48:21 +0000 (10:48 +0000)]
Merge "Fix style issue in stub_test."
Calin Juravle [Tue, 6 Oct 2015 10:46:58 +0000 (11:46 +0100)]
Fix style issue in stub_test.
Change-Id: I8c338d48f479337b176039c9398d6ee2b44fe6fd
Nicolas Geoffray [Tue, 6 Oct 2015 09:08:42 +0000 (09:08 +0000)]
am
26aad174: Merge "Don\'t delegate to Quick anymore."
* commit '
26aad174f2e369840a39e3142da3f5f0b7d0f950':
Don't delegate to Quick anymore.
Nicolas Geoffray [Tue, 6 Oct 2015 08:23:13 +0000 (08:23 +0000)]
Merge "Don't delegate to Quick anymore."
Andreas Gampe [Tue, 6 Oct 2015 01:21:29 +0000 (01:21 +0000)]
am
bcb71a2c: Merge "MIPS64r6 Assembler Tests"
* commit '
bcb71a2ce5bcb516f76fc9fe838b61b0c48e1210':
MIPS64r6 Assembler Tests
Andreas Gampe [Tue, 6 Oct 2015 01:15:07 +0000 (01:15 +0000)]
Merge "MIPS64r6 Assembler Tests"
Mathieu Chartier [Tue, 6 Oct 2015 01:14:38 +0000 (01:14 +0000)]
am
0edc0bdb: Merge "Disable class unloading when tracing is active"
* commit '
0edc0bdb1dc8018ec0000702e6de60e99537b519':
Disable class unloading when tracing is active
Chris Larsen [Thu, 17 Sep 2015 20:34:00 +0000 (13:34 -0700)]
MIPS64r6 Assembler Tests
Assembler tests for:
- SQRT.fmt - ABS.fmt - ROUND.L.fmt - ROUND.W.fmt
- CEIL.L.fmt - CEIL.W.fmt - FLOOR.L.fmt - FLOOR.W.fmt
- SEL.fmt - RINT.fmt - CLASS.fmt - MIN.fmt
- MAX.fmt - cvt.d.l - BITSWAP - DBITSWAP
- DSBH - DSHD - WSBH - ROTR
- SELEQZ - SELNEZ - CLZ - CLO
- DCLZ - DCLO - SC - SCD
- LL - LLD
These are the assembler instructions which were added to support
intrinsic functions on MIPS64. Tests for additional assembler
instructions will follow.
Support added to the testing infrastructure for:
- Assembler instructions which use three registers; previously
instructions were limited to one, or two, registers.
- Immediate values which have their sizes specified by the number of
bits required to store them rather than the number of bytes, in both
signed and unsigned versions.
Change-Id: I38c07dcbf2539825b25bed13aac05a26fa594b0b
Mathieu Chartier [Tue, 6 Oct 2015 01:10:45 +0000 (01:10 +0000)]
Merge "Disable class unloading when tracing is active"
Mathieu Chartier [Mon, 5 Oct 2015 23:41:10 +0000 (16:41 -0700)]
Disable class unloading when tracing is active
Tracing keeps a lot of pointers to ArtMethods that could belong to
classes that we are going to unload. A quick fix for this is to
disable class unloading when tracing is active.
Bug:
24414774
Bug:
22720414
Change-Id: Ia5619cbd7c9fd558eaa2a5000871d287213c4a76
Hiroshi Yamauchi [Fri, 2 Oct 2015 22:27:55 +0000 (15:27 -0700)]
Refactor the alloc entry point generation code.
Move the x86/x86-64 specific alloc entrypoint generation code to a macro
GENERATE_ALLOC_ENTRYPOINTS_FOR_EACH_ALLOCATOR in a common file to remove
duplication.
This will make it easier to selectively add more hand-written assembly
allocation fast path code.
Rename RETURN_IF_RESULT_IS_NON_ZERO to
RETURN_IF_RESULT_IS_NON_ZERO_OR_DELIVER in the x86/x86_64 files to match
the other architectures.
Bug:
9986565
Change-Id: I56f33b790f94db68891db8a2f42e9231d1770eef
Mathieu Chartier [Mon, 5 Oct 2015 21:35:20 +0000 (21:35 +0000)]
am
6639985f: Merge "Fix test 087 for interpreter"
* commit '
6639985f39a1983494fc7de2e4639fdc88e81228':
Fix test 087 for interpreter
Mathieu Chartier [Mon, 5 Oct 2015 21:29:40 +0000 (21:29 +0000)]
Merge "Fix test 087 for interpreter"
Mathieu Chartier [Mon, 5 Oct 2015 21:26:32 +0000 (14:26 -0700)]
Fix test 087 for interpreter
Dex register was keeping BrokenDexLoader live. Fixes interpreter
tests.
Change-Id: I9d2d0907ad5d38dc40434dbde88a5e0cefbb5c80
Mathieu Chartier [Mon, 5 Oct 2015 20:03:33 +0000 (20:03 +0000)]
am
02706fcb: Merge "Delete DexFiles in closeDexFiles"
* commit '
02706fcb35325ba11825d575eb7278e3b9d6dfac':
Delete DexFiles in closeDexFiles
Mathieu Chartier [Mon, 5 Oct 2015 19:57:21 +0000 (19:57 +0000)]
Merge "Delete DexFiles in closeDexFiles"
Mathieu Chartier [Mon, 5 Oct 2015 19:52:57 +0000 (19:52 +0000)]
am
3a9122a5: Merge "Add exclusion between instrumentation and GC"
* commit '
3a9122a5f9f057e9acb20083cd7e076f3bbf8577':
Add exclusion between instrumentation and GC
Mathieu Chartier [Mon, 5 Oct 2015 19:48:24 +0000 (19:48 +0000)]
Merge "Add exclusion between instrumentation and GC"
Mathieu Chartier [Fri, 25 Sep 2015 23:48:57 +0000 (16:48 -0700)]
Delete DexFiles in closeDexFiles
TODO: Also unmap oat code.
Bug:
22720414
Change-Id: I4d003d9b7f8c22890e7b40121a73081524e71f42
Mathieu Chartier [Fri, 2 Oct 2015 22:53:37 +0000 (15:53 -0700)]
Add exclusion between instrumentation and GC
Instrumentation calls VisitClasses while exclusive holding the
mutator lock. This can cause deadlocks since VisitClasses needs to
decode JNI weak globals. If the system weak slow path flag is set,
then we wait holding locks while exclusive holding the mutator lock.
This causes a deadlock since the GC cannot acquire the mutator lock
to sweep system weaks.
This fixes a deadlock seen in one of the tracing tests.
Change-Id: I580152118e068a70f309dcc19df4144afec835dd