OSDN Git Service
Mathieu Chartier [Thu, 9 Jun 2016 23:18:04 +0000 (16:18 -0700)]
Fix dex file leak in oat file manager
Simplified ownership by having a vector of unique pointers own
all newly opened dex files.
Bug:
29246280
(cherry picked from commit
fed316715faeec7bf34e3c4a878288c1342cb0e8)
Change-Id: I97db09ced76db8ffdbae371ff72977c4276a0494
Treehugger Robot [Fri, 10 Jun 2016 16:34:24 +0000 (16:34 +0000)]
Merge "ART: Add ATRACE section for collision check"
Andreas Gampe [Fri, 10 Jun 2016 15:36:20 +0000 (08:36 -0700)]
ART: Add ATRACE section for collision check
The collision check for duplicate classes is potentially expensive.
Add a ScopedTrace to mark it.
Bug:
26880306
Change-Id: Icd75bd0ccc15f0d1f321d85382a4d038fa8ab049
Treehugger Robot [Fri, 10 Jun 2016 02:10:08 +0000 (02:10 +0000)]
Merge "Add Valgrind target tests"
Anton Kirilov [Tue, 3 May 2016 15:15:36 +0000 (16:15 +0100)]
Add Valgrind target tests
Change-Id: I1251ac2122c60ed5fcabf184704bc439243ee85b
Mathieu Chartier [Thu, 9 Jun 2016 21:55:24 +0000 (21:55 +0000)]
Merge "Fix some "possible" divide by 0"
Mathieu Chartier [Thu, 9 Jun 2016 18:51:27 +0000 (11:51 -0700)]
Fix some "possible" divide by 0
Bug:
28529431
Change-Id: I61f638926b2ae63c5f883fc2cfdce19b00ce79c8
Mathieu Chartier [Thu, 9 Jun 2016 17:59:58 +0000 (17:59 +0000)]
Merge "Add thread suspend stress"
Nicolas Geoffray [Thu, 9 Jun 2016 15:56:33 +0000 (15:56 +0000)]
Merge "Re-introduce an old version of 600-verifier-fails."
Nicolas Geoffray [Thu, 9 Jun 2016 15:53:34 +0000 (16:53 +0100)]
Re-introduce an old version of 600-verifier-fails.
The fugu buildbot had a crash on this version:
https://build.chromium.org/p/client.art/builders/fugu-ndebug/builds/3844
It got lost after updates to the tests.
Change-Id: Ib3748e6d6772e90bbc56b8139e374c7cf8953ce4
Nicolas Geoffray [Thu, 9 Jun 2016 12:38:42 +0000 (12:38 +0000)]
Merge "Ensure we have a profiling info object before trying to compile."
Nicolas Geoffray [Thu, 9 Jun 2016 10:59:31 +0000 (11:59 +0100)]
Ensure we have a profiling info object before trying to compile.
Otherwise we will never succeed compiling and infinite loop.
Change-Id: I7ff09c69e67f0df4cb450ffa10a529625eac67fd
Nicolas Geoffray [Thu, 9 Jun 2016 12:09:57 +0000 (12:09 +0000)]
Merge "Also catch OOME from the new byte[]."
Nicolas Geoffray [Thu, 9 Jun 2016 12:09:17 +0000 (13:09 +0100)]
Also catch OOME from the new byte[].
Change-Id: Ic756070ed4a3cb3760760fd5a2ebcad1ea0a8ca0
Treehugger Robot [Thu, 9 Jun 2016 10:31:28 +0000 (10:31 +0000)]
Merge "Fix FOUR_ARG_DOWNCALL assembly stubs on arm and x86."
Treehugger Robot [Thu, 9 Jun 2016 09:55:14 +0000 (09:55 +0000)]
Merge "Use usleep instead of sleep(0)."
Nicolas Geoffray [Wed, 8 Jun 2016 17:01:22 +0000 (18:01 +0100)]
Fix FOUR_ARG_DOWNCALL assembly stubs on arm and x86.
They were creating a stack that the runtime did not understand.
bug:
28348339
Change-Id: Ic03663552209beda8ff1e79db58bedc8f34d9a0e
Nicolas Geoffray [Thu, 9 Jun 2016 08:53:55 +0000 (09:53 +0100)]
Use usleep instead of sleep(0).
sleep(0) is unfortunately not specified.
Change-Id: I5e9c626d21a562ca04329c0cc039a1f3a71dfc84
Brian Carlstrom [Thu, 9 Jun 2016 07:19:21 +0000 (07:19 +0000)]
Merge "Bump frame size limit 8 bytes to fix x86_64 build with latest external/libcxx"
Brian Carlstrom [Thu, 9 Jun 2016 06:48:27 +0000 (23:48 -0700)]
Bump frame size limit 8 bytes to fix x86_64 build with latest external/libcxx
Change-Id: Ib8964d18aa509ee40a91d92eea1011447d429ed7
Treehugger Robot [Thu, 9 Jun 2016 00:04:35 +0000 (00:04 +0000)]
Merge "Revert "Revert "Revert "Revert "Revert some flaky unloading"""""
Mathieu Chartier [Wed, 8 Jun 2016 23:29:48 +0000 (16:29 -0700)]
Add thread suspend stress
Seems to be passing, aim to catch bugs related to thread suspension.
Bug:
28988206
Change-Id: I48190900ccd7a2545c6f09cf730e995043b0d9b7
Alex Light [Wed, 8 Jun 2016 23:12:45 +0000 (23:12 +0000)]
Revert "Revert "Revert "Revert "Revert some flaky unloading""""
Fugu is still unhappy
Bug:
28406866
This reverts commit
340f486aa0126facb67494449b5c2ee46a1a75e6.
Change-Id: I45fc77f924d991669d27b99c1458b2def8692664
Treehugger Robot [Wed, 8 Jun 2016 23:03:56 +0000 (23:03 +0000)]
Merge "Temporarily disable test E"
Mathieu Chartier [Wed, 8 Jun 2016 22:43:34 +0000 (22:43 +0000)]
Merge "Add a few more pending exception checks"
Mathieu Chartier [Wed, 8 Jun 2016 22:09:08 +0000 (15:09 -0700)]
Add a few more pending exception checks
Bug:
28371539
Change-Id: Ibd2f7ccf7bd8cf7ef6c24534be1efbcc9b30014a
Aart Bik [Wed, 8 Jun 2016 21:49:28 +0000 (14:49 -0700)]
Temporarily disable test E
Rationale:
Interpreter does not seem to perform access checks
prior to null check, a feature that was just fixed
in the AOT compiler. Disabling the test until we
figure out who is right.....
BUG=
29068831
Change-Id: I2cdce568727e631f48648f401806e7ecd6985038
Alex Light [Wed, 8 Jun 2016 21:07:39 +0000 (21:07 +0000)]
Merge "Revert "Revert "Revert "Revert some flaky unloading""""
Alex Light [Tue, 7 Jun 2016 17:34:46 +0000 (10:34 -0700)]
Revert "Revert "Revert "Revert some flaky unloading"""
Ensure that all threads are in the JNI code before destroying the
runtime.
Bug:
28406866
This reverts commit
b2716bbf321293ddbd0b96f0ea999794b0e9b09b.
Change-Id: I7f6189a9d0d8a1bf7af5535026804bc2183466c9
Aart Bik [Wed, 8 Jun 2016 17:41:39 +0000 (17:41 +0000)]
Merge "Do not place null check on unresolved method calls."
Aart Bik [Tue, 7 Jun 2016 20:49:12 +0000 (13:49 -0700)]
Do not place null check on unresolved method calls.
Rationale:
These invokes drop through the runtime anyway where various
checks are done, including null check. A few of these
checks need to occur before the null check.
With fail-before/pass-after smali test.
BUG=
29068831
Change-Id: I260715e742365433a323598d97f7fdab321e8512
Treehugger Robot [Wed, 8 Jun 2016 16:18:17 +0000 (16:18 +0000)]
Merge "Use sleep instead of sched_yield."
Nicolas Geoffray [Wed, 8 Jun 2016 12:37:45 +0000 (13:37 +0100)]
Use sleep instead of sched_yield.
The compiler thread has a different priority than the main thread,
so there's no guarantee sched_yield will actually pass the CPU to
the compiler thread.
Change-Id: I7e8d3cbf478c482a9ba9502f7bba7fb1397cd28e
Treehugger Robot [Wed, 8 Jun 2016 09:22:39 +0000 (09:22 +0000)]
Merge "Be pro-active into ensuring a method is JITted in test."
Nicolas Geoffray [Wed, 8 Jun 2016 08:18:38 +0000 (09:18 +0100)]
Be pro-active into ensuring a method is JITted in test.
Change-Id: I27d7bb76178478e6153e87a076bb39a4dc61f50b
Treehugger Robot [Wed, 8 Jun 2016 04:03:56 +0000 (04:03 +0000)]
Merge "Wrap certain exception types when loading an erroneous class."
Jeff Hao [Mon, 6 Jun 2016 18:09:20 +0000 (11:09 -0700)]
Wrap certain exception types when loading an erroneous class.
Bug:
28787733
(cherry-picked from commit
7c8aa8357196781c811a73d2eb66aaaa1681ce36)
Change-Id: Iea55486c4b95ee16e1f19c8ba2d24c18b9100c97
David Sehr [Tue, 7 Jun 2016 23:54:19 +0000 (23:54 +0000)]
Merge "Enable profman pretty printing"
David Sehr [Thu, 2 Jun 2016 17:46:19 +0000 (10:46 -0700)]
Enable profman pretty printing
Bug:
28748264
Change-Id: I4dc366aa710c9ef05aa5d1b164d558232fe57a3d
(cherry picked from commit
45968e76fffdde6a99a462056a52e91c12f4172a)
David Sehr [Tue, 7 Jun 2016 21:30:18 +0000 (21:30 +0000)]
Merge "Initial profman support for verbose dump"
Aart Bik [Tue, 7 Jun 2016 18:16:05 +0000 (18:16 +0000)]
Merge "Do not hide instance field hard failure with soft failure"
David Sehr [Tue, 24 May 2016 21:52:31 +0000 (14:52 -0700)]
Initial profman support for verbose dump
Bug:
28748264
Change-Id: Ibc59e7f31afa4646fcf048eececb87437dd83de9
(cherry picked from commit
07f468f117c4c30a032b7884c08cb1dd2964444e)
Aart Bik [Mon, 6 Jun 2016 22:02:44 +0000 (15:02 -0700)]
Do not hide instance field hard failure with soft failure
Rationale:
Yet another verifier inaccuracy found with fuzz testing.
Instance field verification should proceed testing instance
field access after soft failures in cases where hard failures
could still follow. Failure to do so resulted in a compiler
crash (now made bit friendly with DCHECK as well).
With crash-before/pass-after test.
BUG=
29126870
Change-Id: I8674d6171158eaa2aeb0492b35dfafea76416cac
Treehugger Robot [Tue, 7 Jun 2016 16:26:48 +0000 (16:26 +0000)]
Merge "Revert "Revert "Fix ArtMethod::GetInvokeType for static methods on interfaces."""
David Brazdil [Tue, 7 Jun 2016 15:39:45 +0000 (15:39 +0000)]
Merge "ART: Remove redundant MoveInstructionBefore method"
Nicolas Geoffray [Tue, 7 Jun 2016 14:14:37 +0000 (14:14 +0000)]
Revert "Revert "Fix ArtMethod::GetInvokeType for static methods on interfaces.""
bug:
29089267
bug:
27521545
We were hitting a compiler DCHECK that a class would never require to
do access checks on itself. The reason was that the compiler driver
was not trying to resolve a type, but instead relied on the verifier
for pre-populating the dex cache. However, the verifier doesn't
necessarily run in JIT mode.
This reverts commit
12abcbd950bd0ff4528e2e0d27ca5e881c7b0467.
Change-Id: I59204c16927084f6605a2a3f999ca529f949e1ad
David Brazdil [Tue, 7 Jun 2016 13:20:52 +0000 (14:20 +0100)]
ART: Remove redundant MoveInstructionBefore method
Change-Id: If53d7011197cc6b9c1702a3d98ef11b59eb76f0c
Treehugger Robot [Tue, 7 Jun 2016 10:00:00 +0000 (10:00 +0000)]
Merge "MIPS32: Improve method entry/exit code"
Nicolas Geoffray [Tue, 7 Jun 2016 07:27:20 +0000 (07:27 +0000)]
Merge "Revert "Revert "Revert some flaky unloading"""
Nicolas Geoffray [Tue, 7 Jun 2016 07:26:55 +0000 (07:26 +0000)]
Revert "Revert "Revert some flaky unloading""
Still some issues with 136-daemon-jni-shutdown
bug:
28406866
This reverts commit
9e726e874580f1e8b2e0bfa63d2e9a3ac911cd1c.
Change-Id: I76e7ba47e30cf97ecd074d5c2aff41cda8edac59
Aart Bik [Mon, 6 Jun 2016 20:56:49 +0000 (20:56 +0000)]
Merge "ART: ArrayGet hoisting restriction added."
Mathieu Chartier [Mon, 6 Jun 2016 20:38:59 +0000 (20:38 +0000)]
Merge changes Iba55937d,Ib5d82bde,Id0c921bd
* changes:
Revert "Revert "Revert "Temporarily disable dex cache array emptyness DCHECK"""
Revert "Revert "Hold dex caches live in class table""
Revert "Hold dex caches live in class table"
Mathieu Chartier [Mon, 6 Jun 2016 20:10:50 +0000 (13:10 -0700)]
Revert "Revert "Revert "Temporarily disable dex cache array emptyness DCHECK"""
Bug:
29083330
This reverts commit
46d46993cc0f11c2ac1b7ac8ffd55d78111faf48.
Change-Id: Iba55937de9c4f963ed084093c047d1550f994742
Mathieu Chartier [Sat, 4 Jun 2016 00:47:32 +0000 (17:47 -0700)]
Revert "Revert "Hold dex caches live in class table""
Bug:
29083330
This reverts commit
f102faf1bcbdb2149e3e7bf27b1819f621b7894b.
(cherry picked from commit
c9dbb1df3b5c06ba122cacaf35b17cb53c6be3c6)
Change-Id: Ib5d82bde2e4a031c1cab0ea6116925ef99d9f07f
Brian Carlstrom [Sat, 4 Jun 2016 00:22:32 +0000 (00:22 +0000)]
Revert "Hold dex caches live in class table"
This reverts commit
d6d49e56c2b7b11f474acb80cb02bb1fe9b7861e.
Bug:
29083330
(cherry picked from commit
f102faf1bcbdb2149e3e7bf27b1819f621b7894b)
Change-Id: Id0c921bd6fe422159f8daa598dc8e7c9ed6eca47
Treehugger Robot [Mon, 6 Jun 2016 19:17:42 +0000 (19:17 +0000)]
Merge "Revert "Revert some flaky unloading""
Anton Shamin [Mon, 16 May 2016 10:44:13 +0000 (16:44 +0600)]
ART: ArrayGet hoisting restriction added.
Currently if we hoist ArrayGet from loop there is no guarantee
that insn will be executed at runtime. Because of that we could
face issues like crashes in generated code.
This patch introduces restriction for ArrayGet hoisting. We say
that ArrayGet execution is guaranteed at least one time if its bb
dominates all exit blocks.
Change-Id: I9f72c0f4c33b358341109238bea46cb5a82f490f
Signed-off-by: Anton Shamin <anton.shamin@intel.com>
Alex Light [Mon, 6 Jun 2016 17:45:28 +0000 (10:45 -0700)]
Revert "Revert some flaky unloading"
This reverts commit
73ad16e0193866d36dbd4088ac77fa5d4ceec334.
With this code it is possible that during testing we will race the
final shutdown of some threads (i.e. returning to thread_start after
signaling thread has been finished) with the unloading of libart.so by
libnativehelper. This could cause crashes. By ensuring that libart.so
code is not unloaded in libnativehelper we fix the issue with this
patch.
Bug:
28406866
Change-Id: Ic67118c2a4e743941402b17b6bbfe4cce441f68f
Bill Buzbee [Mon, 6 Jun 2016 16:48:43 +0000 (16:48 +0000)]
Merge "ART: Improve JitProfiling perf in mips/mips64 mterp."
Nicolas Geoffray [Mon, 6 Jun 2016 15:52:19 +0000 (15:52 +0000)]
Merge "Revert "Fix ArtMethod::GetInvokeType for static methods on interfaces.""
Nicolas Geoffray [Mon, 6 Jun 2016 15:51:58 +0000 (15:51 +0000)]
Revert "Fix ArtMethod::GetInvokeType for static methods on interfaces."
bug:
29089267
bug:
27521545
Fails some DHECKs.
This reverts commit
808067335b228d7b50ad84123d3c8ecb7aeeb200.
Change-Id: I0e768ce85be593e3f50fd02abc29aa34f2be3562
Treehugger Robot [Mon, 6 Jun 2016 12:28:28 +0000 (12:28 +0000)]
Merge "Fix ArtMethod::GetInvokeType for static methods on interfaces."
Nicolas Geoffray [Thu, 2 Jun 2016 14:55:48 +0000 (15:55 +0100)]
Fix ArtMethod::GetInvokeType for static methods on interfaces.
And avoid calling ResolveMethod in the JIT, since it already
knows that method.
bug:
29089267
bug:
27521545
(cherry picked from commit
2dc77ecf375882f51ff7c09712c05b80e58abb6b)
Change-Id: I36084b1f207317452c42fdfc8ffa4d8c721d2f76
Nicolas Geoffray [Mon, 6 Jun 2016 09:24:27 +0000 (09:24 +0000)]
Merge "Revert "Revert "Temporarily disable dex cache array emptyness DCHECK"""
Nicolas Geoffray [Mon, 6 Jun 2016 09:24:01 +0000 (09:24 +0000)]
Revert "Revert "Temporarily disable dex cache array emptyness DCHECK""
This fix has been reverted.
Bug:
29083330
This reverts commit
06cd763b7d2a7511ea4a54b52b2931e57f3522d3.
Change-Id: I5382c872caeb7e699de41acaa54ac3ee9f0543e0
Alexey Frunze [Sat, 4 Jun 2016 05:51:46 +0000 (22:51 -0700)]
MIPS32: Improve method entry/exit code
Improvements:
- the stack frame is (de)allocated in one step instead of two
- callee-saved FPU registers are 8-byte aligned within the frame,
allowing a single ldc1/sdc1 instruction to load/store an FPU
register without causing exceptions due to misaligned accesses
- the return address register, RA, is restored early for better
instruction scheduling
Change-Id: I556b139c62839490a9fdbce8c5e6e3e2d1cc7bb7
Douglas Leung [Sat, 4 Jun 2016 01:05:35 +0000 (18:05 -0700)]
ART: Improve JitProfiling perf in mips/mips64 mterp.
Change-Id: I4e1a214d92bd17ebd0a9b595e2eca2d7dcc13758
Aart Bik [Fri, 3 Jun 2016 22:54:17 +0000 (22:54 +0000)]
Merge "Do not place null check from unresolved field access."
Aart Bik [Fri, 3 Jun 2016 00:53:58 +0000 (17:53 -0700)]
Do not place null check from unresolved field access.
Rationale:
These accesses go though the runtime anyway where various
checks are done, including null check. Since particular
checks, like access checks, need to occur prior to the
null check (to ensure link errors are not masked by
a null reference), the explicit null check should not
occur in the HIR.
BUG=
29068831
Change-Id: I30fc9cb8cf4993e4176e235ceba3a38aef98d503
Mathieu Chartier [Fri, 3 Jun 2016 18:08:20 +0000 (18:08 +0000)]
Merge "Revert "Temporarily disable dex cache array emptyness DCHECK""
Mingyao Yang [Fri, 3 Jun 2016 18:01:01 +0000 (18:01 +0000)]
Merge "Fix an issue of partial fragment deoptimization"
Mathieu Chartier [Fri, 3 Jun 2016 17:58:45 +0000 (10:58 -0700)]
Revert "Temporarily disable dex cache array emptyness DCHECK"
Bug:
29083330
This reverts commit
7b1541f4aecdc4c2878437ac3d46f2e74eacf0f1.
Mathieu Chartier [Fri, 3 Jun 2016 17:53:09 +0000 (17:53 +0000)]
Merge "Hold dex caches live in class table"
Treehugger Robot [Fri, 3 Jun 2016 14:06:02 +0000 (14:06 +0000)]
Merge "Revert "Revert "Make the boot image non-debuggable."""
Vladimir Marko [Fri, 3 Jun 2016 13:08:23 +0000 (13:08 +0000)]
Revert "Revert "Make the boot image non-debuggable.""
The fix for b/
29043547 has been submitted.
Bug:
28769520
This reverts commit
cc98f634847914d306d9c1ae16c46b95e0645270.
Change-Id: I6ed511c0024ecaee75740e2847d1be20c4fb07dd
Vladimir Marko [Fri, 3 Jun 2016 12:42:04 +0000 (12:42 +0000)]
Merge "Delay dex-to-dex compilation until Optimizing is done."
Vladimir Marko [Fri, 3 Jun 2016 12:34:22 +0000 (12:34 +0000)]
Merge "Refactor handling of input records."
Vladimir Marko [Wed, 1 Jun 2016 17:38:43 +0000 (18:38 +0100)]
Delay dex-to-dex compilation until Optimizing is done.
This fixes a race between inlining in the Optimizing
backend and dex-to-dex quickening where the Optimizing can
read the non-quickened opcode and then the quickened field
index or vtable index and look up the wrong field or method.
Even if we such tearing of the dex instruction does not
happen, the possible reordering of dex-to-dex and Optimizing
compilation makes the final oat file non-deterministic.
Also, remove VerificationResults::RemoveVerifiedMethod() as
we have only the Optimizing backend now and as such it was
dead code and would have interfered with this change.
Bug:
29043547
Bug:
29089975
Change-Id: I8389927d35dcacaf2f99c2153f055857036c8129
Mingyao Yang [Fri, 3 Jun 2016 00:01:02 +0000 (17:01 -0700)]
Fix an issue of partial fragment deoptimization
If the interpreter bridge returns to the instrumentation exit stub,
we need to let the stub makes the decision whether the calling code
is deoptimizeable or not since the stub knows the real return pc.
Bug:
28769520
Change-Id: I262d1222e50a1ccbcb3675d05dcab414dc242a28
Mathieu Chartier [Thu, 2 Jun 2016 18:48:30 +0000 (11:48 -0700)]
Hold dex caches live in class table
Prevents temporary dex caches being unloaded for the same dex file.
Usually this is OK, but if someone resolved a string in that dex
cache, it could leave stale pointers in BSS. Also it can use extra
memory in linear alloc if we allocate dex cache arrays multiple
times.
Bug:
29083330
Change-Id: Ia44668f013ceef1f5eb80f653a48d0f8004548c9
Alex Light [Thu, 2 Jun 2016 19:57:59 +0000 (19:57 +0000)]
Merge "Exit 0 on success even if --never-clean is passed"
Alex Light [Thu, 2 Jun 2016 19:50:09 +0000 (19:50 +0000)]
Merge "Stop creating $ANDROID_BUILD_TOP/{&&,mkdir} directories."
Vladimir Marko [Tue, 17 May 2016 15:30:10 +0000 (16:30 +0100)]
Refactor handling of input records.
Introduce HInstruction::GetInputRecords(), a new virtual
function that returns an ArrayRef<> to all input records.
Implement all other functions dealing with input records as
wrappers around GetInputRecords(). Rewrite functions that
previously used multiple virtual calls to deal with input
records, especially in loops, to prefetch the ArrayRef<>
only once for each instruction. Besides avoiding all the
extra calls, this also allows the compiler (clang++) to
perform additional optimizations.
This speeds up the Nexus 5 boot image compilation by ~0.5s
(4% of "Compile Dex File", 2% of dex2oat time) on AOSP ToT.
Change-Id: Id8ebe0fb9405e38d918972a11bd724146e4ca578
Treehugger Robot [Thu, 2 Jun 2016 10:57:00 +0000 (10:57 +0000)]
Merge "Fix a bug in reference type propagation."
Nicolas Geoffray [Wed, 1 Jun 2016 15:30:20 +0000 (16:30 +0100)]
Fix a bug in reference type propagation.
The upper bound of a bound type is always exact, so we should
not use it for setting the type of the bound type.
bug:
28730986
Change-Id: I214b8c3493838c22805555f88e8dc87cf9221376
Mathieu Chartier [Thu, 2 Jun 2016 02:49:29 +0000 (02:49 +0000)]
Merge "Temporarily disable dex cache array emptyness DCHECK"
Mathieu Chartier [Thu, 2 Jun 2016 02:36:41 +0000 (19:36 -0700)]
Temporarily disable dex cache array emptyness DCHECK
Will re-enable when the underlying cause is fixed.
Bug:
29083330
Change-Id: Ic1ec9aad2ac0763388ddfa75b73bbedc1dcc5c45
Aart Bik [Wed, 1 Jun 2016 22:24:25 +0000 (22:24 +0000)]
Merge "Fix bug in verifier: hard fail allowed following softfail"
Aart Bik [Wed, 1 Jun 2016 21:06:00 +0000 (14:06 -0700)]
Fix bug in verifier: hard fail allowed following softfail
Rationale:
Dexfuzzing found a situation where a hard fail (not calling
super in constructor) did not immediately bail, allowing
a soft fail to follow, causing a FATAL message later on.
With crash-before/pass after test.
BUG=
29070461
Change-Id: I46bd7a7457b9d408b254400aadac122539f2279c
Mathieu Chartier [Wed, 1 Jun 2016 21:17:26 +0000 (21:17 +0000)]
Merge "Fix race with host_dlopen_handles_"
Mathieu Chartier [Wed, 1 Jun 2016 17:48:19 +0000 (10:48 -0700)]
Fix race with host_dlopen_handles_
Thread 1 opens an already opened oat file.
Thread 2 dlcloses the oat file and removes it from
host_dlopen_handles_.
Thread 1 checks that it is not already in host_dlopen_handles_ and
proceeds to return the oat file. The problem now is that the BSS is
not cleared since it is the same oat file that was opened earlier.
The fix is to just hold the lock for dlopen / dlclose. This only
affects contention on host.
Bug:
28992179
Bug:
28990799
Bug:
28826195
Change-Id: I126e3d4da69f493b21604205eeea75352a6cf736
Nicolas Geoffray [Wed, 1 Jun 2016 15:16:08 +0000 (15:16 +0000)]
Merge "Revert "Make the boot image non-debuggable.""
Nicolas Geoffray [Wed, 1 Jun 2016 15:14:12 +0000 (15:14 +0000)]
Revert "Make the boot image non-debuggable."
We're hitting b/
29043547.
bug:
28769520
This reverts commit
279ee76a8a972741d423f8f340939fb272bb8f0c.
Change-Id: Ic971e3db1048668bb48d47b1efc2977a4fff533c
Treehugger Robot [Wed, 1 Jun 2016 13:28:38 +0000 (13:28 +0000)]
Merge "Make the boot image non-debuggable."
Nicolas Geoffray [Wed, 1 Jun 2016 10:23:53 +0000 (11:23 +0100)]
Make the boot image non-debuggable.
We now support partial fragment deoptimization.
bug:
28769520
Change-Id: Ib730f62b6c03882d5e7ae4ce74645eeb7d906ff6
Nicolas Geoffray [Wed, 1 Jun 2016 10:02:38 +0000 (10:02 +0000)]
Merge "Add missing calls to `RecordSimplification()`."
Alexandre Rames [Wed, 25 May 2016 14:01:06 +0000 (15:01 +0100)]
Add missing calls to `RecordSimplification()`.
Note that not all transformations in the instruction simplifier call
this helper. It is used to track a loosely defined category of
transformations for which we may benefit from re-running the
simplifier.
Change-Id: I14dd841a30c526065cff337627c9156abe3d7c0a
Alex Light [Tue, 31 May 2016 23:36:19 +0000 (16:36 -0700)]
Exit 0 on success even if --never-clean is passed
Make run-test exit 0 if the test passes regardless of whether or not
the --never-clean flag is passed. Previously it would exit 1
regardless of test outcome with --never-clean.
Change-Id: I9496de4c2245e9833747a090944ad1fba95eb3c9
Treehugger Robot [Tue, 31 May 2016 17:23:16 +0000 (17:23 +0000)]
Merge "Relax annotation visibility so runtime includes build."
Nicolas Geoffray [Tue, 31 May 2016 11:00:58 +0000 (11:00 +0000)]
Merge "Revert "Blacklist test on host.""