OSDN Git Service
Roland Levillain [Thu, 31 Mar 2016 11:32:07 +0000 (12:32 +0100)]
Rename run-test 593-checker-boolean-to-integral-conversions.
Shorten its name to "593-checker-boolean-to-integral-conv"
as some build configurations choke on too long filenames.
Bug:
27616343
Change-Id: I43439d7283920539817511249c6c1b430b3c9c95
Roland Levillain [Wed, 30 Mar 2016 18:09:03 +0000 (19:09 +0100)]
Fix Boolean to integral types conversions.
Bug:
27616343
Change-Id: I050f92045bca1b8b5d6da53547cc617f17be84b1
Vladimir Marko [Tue, 29 Mar 2016 08:56:19 +0000 (08:56 +0000)]
Merge "Optimizing: Reduce arena memory used by GraphChecker."
Andreas Gampe [Tue, 29 Mar 2016 02:31:16 +0000 (02:31 +0000)]
Merge "ART: Make verifier fail log level adjustable"
Andreas Gampe [Tue, 29 Mar 2016 01:38:19 +0000 (01:38 +0000)]
Merge "ART: Clean up verifier"
Andreas Gampe [Fri, 25 Mar 2016 23:58:00 +0000 (16:58 -0700)]
ART: Make verifier fail log level adjustable
To help for build failures.
Change-Id: I6c94dfb50177daa7d89902d78715ccec31bf0e45
Andreas Gampe [Fri, 25 Mar 2016 23:58:00 +0000 (16:58 -0700)]
ART: Clean up verifier
Clean up verifier post-Quick.
Change-Id: I0b05e10dd06edd228fe2068c8afffc4b7d7fdffa
Alex Light [Mon, 28 Mar 2016 21:26:05 +0000 (21:26 +0000)]
Merge "Add support for Dex version 37 in Runtime."
Aart Bik [Sat, 26 Mar 2016 00:44:53 +0000 (00:44 +0000)]
Merge "Fix bug not accounting for type in induction comparison. Extended unit tests."
Andreas Gampe [Fri, 25 Mar 2016 23:53:20 +0000 (23:53 +0000)]
Merge "ART: Relax verifier checks"
Andreas Gampe [Fri, 25 Mar 2016 23:24:20 +0000 (16:24 -0700)]
ART: Relax verifier checks
Only bail for unresolved merge types in a couple of cases. Follow-up
to
bb18a03c44d99b3cae232d445d56e80d8388cca9.
Bug:
27799205
Change-Id: If448e14036bc5e245677e0cd8cdddee02b320525
Aart Bik [Fri, 25 Mar 2016 20:14:53 +0000 (13:14 -0700)]
Fix bug not accounting for type in induction comparison.
Extended unit tests.
Rationale:
Now that inductions are typed, comparisons should take
the type into account as well.
Change-Id: Ie533bb728d2006390646657573fa743e6fc37ff2
Ying Wang [Fri, 25 Mar 2016 21:41:41 +0000 (21:41 +0000)]
Merge "Allow x86+arm multilib build."
Ying Wang [Thu, 17 Mar 2016 02:40:00 +0000 (19:40 -0700)]
Allow x86+arm multilib build.
The explicit dependency of dex2oat on installed file of libart-compiler
isn't necessary: the build sets up the dependency automatically when
dex2oat links liblibart-compiler.
Also the way of the explicit dependency is incorrect if multilib is
involved: a 64-bit dex2oat may depend on 32-bit libart-compiler.
Bug:
27526885
Change-Id: I4a9d72b49f5712695ff5a32b88df5eab9df7c1e4
(cherry-pick from commit
5eec66ea27a2fa5bfa1b4f9bd203c76e2990d7a2)
Aart Bik [Fri, 25 Mar 2016 18:04:18 +0000 (18:04 +0000)]
Merge "Avoid removing new-instance instruction twice. Includes a fail-before/pass-after regression test."
Andreas Gampe [Fri, 25 Mar 2016 17:45:31 +0000 (17:45 +0000)]
Merge "ART: Allow array-ness for unresolved merge types"
Andreas Gampe [Wed, 23 Mar 2016 03:34:25 +0000 (20:34 -0700)]
ART: Allow array-ness for unresolved merge types
In case component types aren't resolvable, array types won't be
either. They then may be merged. The merge is still potentially
an array type.
Ensure that merging an unresolved array type with a primitive
array type or a non-array type will be resolved to java.lang.Object.
Added tests.
Bug:
27799205
Change-Id: I9beff75318814dddd842abd64ef9a5d2644d801e
Aart Bik [Thu, 24 Mar 2016 22:38:56 +0000 (15:38 -0700)]
Avoid removing new-instance instruction twice.
Includes a fail-before/pass-after regression test.
Rationale:
In some corner cases, one new instance reached more than one
java.lang.String.<init> method call. As a result, the new
instance instruction appeared multiple times in the vector
uninitialized_strings_. A second removal crashes the compiler.
This change list avoid the crash by simply skipping instructions
that are already removed.
BUG=
27847265
Change-Id: I7f8a4f84ea3c184e1529ec3e90bd6749c83c445b
Vladimir Marko [Fri, 25 Mar 2016 15:31:35 +0000 (15:31 +0000)]
Optimizing: Reduce arena memory used by GraphChecker.
Use member variables to reuse the storage instead of
repeatedly allocating new storage for local variables.
Bug:
27690481
Change-Id: I614db9b8614d585653cfbff62e9cf7d7f0c58810
Calin Juravle [Fri, 25 Mar 2016 11:30:27 +0000 (11:30 +0000)]
Merge "Revert "ART: Improve JitProfile perf in arm/arm64 mterp""
Calin Juravle [Fri, 25 Mar 2016 11:29:55 +0000 (11:29 +0000)]
Merge "Revert "ART: Ignore hotness updates if jit inactive""
Calin Juravle [Fri, 25 Mar 2016 11:27:48 +0000 (11:27 +0000)]
Revert "ART: Improve JitProfile perf in arm/arm64 mterp"
This reverts commit
c1d6b341eed646e5adafc6c4fd4e3748f0292368.
Calin Juravle [Fri, 25 Mar 2016 11:27:40 +0000 (11:27 +0000)]
Revert "ART: Ignore hotness updates if jit inactive"
This reverts commit
17bda200dc7e36ba4178501274f10df4c82bea11.
Mathieu Chartier [Fri, 25 Mar 2016 01:48:22 +0000 (01:48 +0000)]
Merge "Only call jit_load after the zygote fork"
Mathieu Chartier [Fri, 25 Mar 2016 00:22:52 +0000 (17:22 -0700)]
Only call jit_load after the zygote fork
Otherwise we always get that enable_debug_features is false since
that flag passed as a compiler option post zygote fork.
No significant change to libart-compiler PSS on calculator.
Bug:
27810774
(cherry picked from commit
b10cef442594dd0d6c5f1a5784643931a25cc431)
Change-Id: Ie50668ba05ad07a5cf046497959f6d27e09f8fe2
Alex Light [Wed, 23 Mar 2016 17:20:41 +0000 (10:20 -0700)]
Add support for Dex version 37 in Runtime.
We are skipping version 36 of the dex file format due to a bug in
Dalvik dating back to ICS where dex files marked version 036 would
erroneously be accepted.
Bug:
27538761
Bug:
27809626
Change-Id: Ic053f7e25f5a8c3df83ff34b6656528824b2df12
Bill Buzbee [Thu, 24 Mar 2016 21:51:05 +0000 (21:51 +0000)]
Merge "ART: Ignore hotness updates if jit inactive"
buzbee [Thu, 24 Mar 2016 20:41:14 +0000 (13:41 -0700)]
ART: Ignore hotness updates if jit inactive
The interpreters are hard-wired to collect hotness data for the
jit. If the jit is in the process of shutting down, discard the
updates.
Change-Id: I0baf73bb2c591e9571964435f6cc45c062b85911
Mathieu Chartier [Thu, 24 Mar 2016 20:48:17 +0000 (20:48 +0000)]
Merge "Load jit compiler pre zygote fork"
Mathieu Chartier [Thu, 24 Mar 2016 18:07:06 +0000 (11:07 -0700)]
Load jit compiler pre zygote fork
Reduces PSS for libart-compiler.so from 115KB to 2KB per app.
Also some clean-up.
Bug:
27810774
(cherry picked from commit
ff2376770c1c6d301778c41e5c27c808a38e6968)
Change-Id: Ic0077a07c21ed9f1952a6c29863a5c0e5bacc01a
Bill Buzbee [Thu, 24 Mar 2016 16:16:59 +0000 (16:16 +0000)]
Merge "ART: Improve JitProfile perf in arm/arm64 mterp"
David Brazdil [Thu, 24 Mar 2016 15:35:10 +0000 (15:35 +0000)]
Merge "ART: Fix order of operations in HBasicBlock::DisconnectAndDelete"
David Brazdil [Thu, 24 Mar 2016 11:18:15 +0000 (11:18 +0000)]
ART: Fix order of operations in HBasicBlock::DisconnectAndDelete
The method would remove predecessors before successors. As a result,
instructions used by dead loop phis would see dangling uses, causing
a DCHECK to fail.
Steps were reordered to remove dependencies in post order.
Bug:
27683071
Change-Id: I8e0e976443fb410908321a065276f1340b757c41
David Brazdil [Thu, 24 Mar 2016 15:03:50 +0000 (15:03 +0000)]
Merge "ART: Fix run-test"
David Brazdil [Thu, 24 Mar 2016 15:01:33 +0000 (15:01 +0000)]
ART: Fix run-test
Follow-up to Ic61ea2193765b4578550538e965ca4f80fa4b287
Bug:
27625564
Change-Id: Ia8b128a05b473896ba9a55df0d2aaf34ae6d06f3
Nicolas Geoffray [Thu, 24 Mar 2016 14:33:39 +0000 (14:33 +0000)]
Merge "Fix stub_test after semantic conflicting merge."
Nicolas Geoffray [Thu, 24 Mar 2016 14:31:30 +0000 (14:31 +0000)]
Fix stub_test after semantic conflicting merge.
https://android-review.googlesource.com/#/c/209881/ does
not set the ImtConflictTable when we're a AOT runtime, which the
stub test pretends to be.
Change-Id: I70e00b265e982b46b577ff19ac9272cfee45940d
David Brazdil [Thu, 24 Mar 2016 14:22:27 +0000 (14:22 +0000)]
Merge "ART: Loosen a GraphChecker rule on Boolean inputs"
David Brazdil [Thu, 24 Mar 2016 12:40:52 +0000 (12:40 +0000)]
ART: Loosen a GraphChecker rule on Boolean inputs
GraphChecker tries to verify that Boolean inputs are properly typed.
This is non-trivial in the presence of simplifying optimizations
which capitalize on the fact that a Boolean value is internally
represented as an integer.
This patch removes the test from GraphChecker.
Bug:
27625564
Change-Id: Ic61ea2193765b4578550538e965ca4f80fa4b287
Vladimir Marko [Thu, 24 Mar 2016 13:35:08 +0000 (13:35 +0000)]
Merge "Post-Quick cleanup: Remove CompilationUnit."
Nicolas Geoffray [Thu, 24 Mar 2016 13:34:16 +0000 (13:34 +0000)]
Merge "Re-enable IMT stub test."
Roland Levillain [Thu, 24 Mar 2016 10:25:51 +0000 (10:25 +0000)]
Merge "Clean up art::HConstant predicates."
Nicolas Geoffray [Thu, 24 Mar 2016 09:56:00 +0000 (09:56 +0000)]
Merge "Do a null check on the sibling in the register allocator."
Nicolas Geoffray [Wed, 23 Mar 2016 11:32:27 +0000 (11:32 +0000)]
Do a null check on the sibling in the register allocator.
There may be a lifetime hole between the intervals, which means there is
no interval for the given position.
Litle sister of https://android-review.googlesource.com/#/c/209336/.
bug:
27626705
Change-Id: I8082aa5ae2dc37d8fa5d4c430b69e6defa495439
Nicolas Geoffray [Thu, 24 Mar 2016 09:43:24 +0000 (09:43 +0000)]
Merge "Disable test on arm due to timeouts."
Vladimir Marko [Thu, 24 Mar 2016 09:38:51 +0000 (09:38 +0000)]
Merge "Optimizing: Do not insert suspend checks on back-edges."
Vladimir Marko [Wed, 23 Mar 2016 16:59:07 +0000 (16:59 +0000)]
Post-Quick cleanup: Remove CompilationUnit.
Change-Id: I309411b0fffaaed1e218e2c34394bdf6e2f75b48
Nicolas Geoffray [Thu, 24 Mar 2016 09:23:04 +0000 (09:23 +0000)]
Disable test on arm due to timeouts.
bug:
27824283
Change-Id: I0e4d9b37dd3ac2d2390456a791ff28d9ea0b3510
Aart Bik [Thu, 24 Mar 2016 03:35:07 +0000 (03:35 +0000)]
Merge "Fix potential race condition with threads array."
Hiroshi Yamauchi [Thu, 24 Mar 2016 00:26:57 +0000 (00:26 +0000)]
Merge "Add RosAlloc stats dump."
Hiroshi Yamauchi [Wed, 23 Mar 2016 22:51:24 +0000 (15:51 -0700)]
Add RosAlloc stats dump.
For better understanding of the RosAlloc space.
(cherrypick commit
565c2d9bce43c430d4267c82f5702160d971e712)
Bug:
27744947
Bug:
9986565
Change-Id: I8309761a68fbc143bbcd8458a9194085aace7c3e
Hiroshi Yamauchi [Wed, 23 Mar 2016 22:45:01 +0000 (22:45 +0000)]
Merge "Use smaller rosalloc run sizes."
Hiroshi Yamauchi [Wed, 23 Mar 2016 21:22:34 +0000 (14:22 -0700)]
Use smaller rosalloc run sizes.
Use 1/1/1/2/4 instead of 1/4/8/16/32 to save memory footprint.
No regressions in BinaryTrees, Ritz MemAlocTest, Ritz EAAC.
(cherrypick commit
c867a275aa7a132ec1fd4f3b8c27812bda61ea73)
Bug:
27744947
Bug:
9986565
Change-Id: I8ac3fd23719e5cfcce7e5715a03f40701f3ff339
Aart Bik [Wed, 23 Mar 2016 18:31:28 +0000 (11:31 -0700)]
Fix potential race condition with threads array.
Rationale:
Array should be filled with threads prior to first fork,
since only in that case does Java memory model ensure
all threads have consistent view of array, which itself is
subject to one test.
BUG=
27805463
Change-Id: I28f1eb8461842217ced2255062d2135ef880e7d5
Richard Uhler [Wed, 23 Mar 2016 20:05:26 +0000 (20:05 +0000)]
Merge "Revert "Revert "Use compiler filter to determine oat file status."""
Vladimir Marko [Wed, 23 Mar 2016 16:01:47 +0000 (16:01 +0000)]
Optimizing: Do not insert suspend checks on back-edges.
Rely on HGraph::SimplifyLoop() to insert suspend checks.
CodeGenerator's CheckLoopEntriesCanBeUsedForOsr() checks the
dex pcs of suspend checks against branch targets to verify
that we always have an appropriate point for OSR transition.
However, the HSuspendChecks that were added by HGraphBuilder
to support the recently removed "baseline" interfered with
this in a specific case, namely an infinite loop where the
back-branch jumps to a nop. In that case, the HSuspendCheck
added by HGraphBuilder had a dex pc different from the block
and the branch target but its presence would stop the
HGraph::SimplifyLoop() from adding a new HSuspendCheck with
the correct dex pc.
Bug:
27623547
Change-Id: I83566a260210bc05aea0c44509a39bb490aa7003
Andreas Gampe [Wed, 23 Mar 2016 15:31:51 +0000 (15:31 +0000)]
Revert "Revert "Use compiler filter to determine oat file status.""
This reverts commit
845e5064580bd37ad5014f7aa0d078be7265464d.
Add an option to change what OatFileManager considers up-to-date.
In our tests we're allowed to write to the dalvik-cache, so it
cannot be kSpeed.
Bug:
27689078
Change-Id: I0c578705a9921114ed1fb00d360cc7448addc93a
buzbee [Tue, 1 Mar 2016 23:03:16 +0000 (15:03 -0800)]
ART: Improve JitProfile perf in arm/arm64 mterp
ART currently requires two profiling-related things from the
interpreters: hotness updates and OSR switch checks. The hotness
updates previously used the existing instrumentation framework - which
is flexible, but quite heavyweight. For most things, the
instrumentation framework overhead is acceptable, but because we do a
hotness update on every backwards branch the overhead is unacceptable.
Prior to this CL, branch profiling dominates interpreter cost.
Here, we bypass the instrumentation framework for hotness updates
and deliver a significant performance improvement. Running
interpreter-only (dalvikvm -Xint) on a Nexus 6, we see the logic
subtest of Caffeinemark improving from 2600 to 9200, and the
overall score going from 1979 to over 3000. Compared to the
C++ switch interpreter, we see a 6x improvement on the branchy logic
subtest and a 2.6x improvement overall.
Compared with the previous mterp which did not have support for
jit profiling, we see a few (1% to 5%) performance loss on the
standard command-line benchmarks. I consider this acceptable
(we could create an alternate non-profiling mterp which would
have no penalty, but I don't consider this overhead big enough to
justify that).
Change-Id: I50b5b8c5ed8ebda3c8b4e65d27ba7393c3feae04
Calin Juravle [Wed, 23 Mar 2016 17:58:42 +0000 (17:58 +0000)]
Merge "Fix dex2oat/oatdump cross-compilation."
Roland Levillain [Wed, 23 Mar 2016 17:10:31 +0000 (17:10 +0000)]
Merge "Fix and improve shift and rotate operations."
Roland Levillain [Wed, 23 Mar 2016 16:44:08 +0000 (16:44 +0000)]
Merge "Fix some typos in art/compiler/optimizing/nodes.cc."
Roland Levillain [Wed, 23 Mar 2016 16:36:59 +0000 (16:36 +0000)]
Fix some typos in art/compiler/optimizing/nodes.cc.
Change-Id: I11be5a9b73da207c9eb497bcaffc49d614c1ca89
Nicolas Geoffray [Wed, 23 Mar 2016 16:35:51 +0000 (16:35 +0000)]
Fix dex2oat/oatdump cross-compilation.
Only set the ImtConflictTable when not in AOT, to not mess up
with the image.
Change-Id: I8f2926ad30dc913d61b0c8957affc25fc8056ada
Roland Levillain [Wed, 23 Mar 2016 16:01:27 +0000 (16:01 +0000)]
Merge "Ensure object ArraySet with null value does not need a type check."
Nicolas Geoffray [Wed, 23 Mar 2016 14:52:28 +0000 (14:52 +0000)]
Merge "Relax too strong DCHECK."
Nicolas Geoffray [Wed, 23 Mar 2016 14:28:30 +0000 (14:28 +0000)]
Re-enable IMT stub test.
bug:
27794971
Change-Id: Ief5cbb9ca4a07596a2f389e386124f9bb5323073
Roland Levillain [Wed, 23 Mar 2016 12:40:35 +0000 (12:40 +0000)]
Ensure object ArraySet with null value does not need a type check.
The art::PrepareForRegisterAllocation visitor can remove an
art::BoundType instruction as value input of an
art::ArraySet instruction, possibly replacing it with an
art::NullConstant. If this happens, remove the need for a
type check in this art::ArraySet.
Bug:
27638110
Change-Id: I6270f8a8e22822a24d8a5919df427ca9c64d121b
Nicolas Geoffray [Wed, 23 Mar 2016 08:22:29 +0000 (08:22 +0000)]
Merge "Revert "ART: Weaken DCHECK""
Nicolas Geoffray [Wed, 23 Mar 2016 08:22:12 +0000 (08:22 +0000)]
Revert "ART: Weaken DCHECK"
Change that triggered this got reverted. This "fix" needs more investigation.
This reverts commit
1ee29d3dd3fbbf5df7821b70f45c49275c878e63.
Change-Id: Iee9e88f0e993edc0c7212e36d48ded1d31209156
Nicolas Geoffray [Wed, 23 Mar 2016 08:21:35 +0000 (08:21 +0000)]
Merge "Revert "ART: Temporarily disable test""
Nicolas Geoffray [Wed, 23 Mar 2016 08:21:19 +0000 (08:21 +0000)]
Revert "ART: Temporarily disable test"
Offending change has been reverted.
Bug:
27689078
This reverts commit
51135830a760ff647e5eb164d744abc769b006a7.
Change-Id: I794127eb9f2c0dfb08039eecffd777b7d94f0ed6
Sebastien Hertz [Wed, 23 Mar 2016 08:04:17 +0000 (08:04 +0000)]
Merge "Update run-test 097-duplicate-method"
Nicolas Geoffray [Wed, 23 Mar 2016 06:42:39 +0000 (06:42 +0000)]
Merge "Revert "Use compiler filter to determine oat file status.""
Nicolas Geoffray [Wed, 23 Mar 2016 06:42:05 +0000 (06:42 +0000)]
Revert "Use compiler filter to determine oat file status."
Bots are red. Tentative reverting as this is likely the offender.
Bug:
27689078
This reverts commit
a62d2f04a6ecf804f8a78e722a6ca8ccb2dfa931.
Change-Id: I3ec6947a5a4be878ff81f26f17dc36a209734e2a
Andreas Gampe [Wed, 23 Mar 2016 05:05:36 +0000 (05:05 +0000)]
Merge "ART: Weaken DCHECK"
Andreas Gampe [Wed, 23 Mar 2016 05:03:46 +0000 (22:03 -0700)]
ART: Weaken DCHECK
Returns may be either plain or quickened.
Change-Id: Iee343c02fe3e02512c0ed60508525495a7cd5efb
Andreas Gampe [Wed, 23 Mar 2016 05:02:50 +0000 (05:02 +0000)]
Merge "ART: Temporarily disable test"
Andreas Gampe [Wed, 23 Mar 2016 04:29:59 +0000 (21:29 -0700)]
ART: Temporarily disable test
For investigation.
Bug:
27689078
Change-Id: Ibcd24f90f68ac64119dfad9b17a42bed252ff009
Mathieu Chartier [Wed, 23 Mar 2016 01:01:56 +0000 (01:01 +0000)]
Merge "Delete too spammy VLOG(heap) in ReleasePrimitiveArray"
Richard Uhler [Wed, 23 Mar 2016 00:28:32 +0000 (00:28 +0000)]
Merge "Use compiler filter to determine oat file status."
Richard Uhler [Fri, 18 Mar 2016 22:05:30 +0000 (15:05 -0700)]
Use compiler filter to determine oat file status.
Record the compiler filter in the oat header. Use that to determine
when the oat file is up-to-date with respect to a target compiler
filter level.
New xxx-profile filter levels are added to specify if a profile should
be used instead of testing for the presence of a profile file.
This change should allow for different compiler-filters to be set for
different package manager use cases.
Bug:
27689078
Change-Id: Id6706d0ed91b45f307142692ea4316aa9713b023
Nicolas Geoffray [Tue, 22 Mar 2016 22:25:52 +0000 (22:25 +0000)]
Merge "Rename test to avoid too long file names."
Nicolas Geoffray [Tue, 22 Mar 2016 22:25:01 +0000 (22:25 +0000)]
Rename test to avoid too long file names.
Change-Id: Ife227f73c7baf1d05bcc6949faadf92753332f8d
Mathieu Chartier [Tue, 22 Mar 2016 22:19:47 +0000 (15:19 -0700)]
Delete too spammy VLOG(heap) in ReleasePrimitiveArray
Change-Id: I7a482ba366d7ad3e5d1689ae615dbcacbc7a41a6
Nicolas Geoffray [Tue, 22 Mar 2016 21:50:13 +0000 (21:50 +0000)]
Merge "Disable test for now."
Nicolas Geoffray [Tue, 22 Mar 2016 21:47:16 +0000 (21:47 +0000)]
Disable test for now.
bug:
27794971
Change-Id: I31e1b2472271c6f54c9e0b7bf75fbdf7ebeba73d
Vladimir Marko [Tue, 22 Mar 2016 19:02:00 +0000 (19:02 +0000)]
Merge "Optimizing: Reduce GraphChecker memory usage."
Vladimir Marko [Tue, 22 Mar 2016 18:38:46 +0000 (18:38 +0000)]
Merge "ART: Clean up arena allocation memory tracking."
Vladimir Marko [Tue, 22 Mar 2016 17:51:29 +0000 (17:51 +0000)]
Optimizing: Reduce GraphChecker memory usage.
Bug:
27690481
Change-Id: I15ce5524d94fc1780da02e6471bede66b3a1b82a
Roland Levillain [Tue, 22 Mar 2016 16:38:18 +0000 (16:38 +0000)]
Merge "Tighten art::HNeg type constraints on its input."
Vladimir Marko [Tue, 22 Mar 2016 16:26:33 +0000 (16:26 +0000)]
ART: Clean up arena allocation memory tracking.
Remove unused allocation types, mostly from removed Quick.
Move logging one level up to capture memory used by stack
maps during AOT compilation. Raise the reporting threshold
to 8MiB to limit the output to the worst offenders.
Change-Id: I8c7a01bfa90bc8ec5eab66187eb6850a022f3543
Roland Levillain [Tue, 22 Mar 2016 16:19:02 +0000 (16:19 +0000)]
Merge "MIPS32: Implement UnsafeCASInt and UnsafeCASObject intrinsics."
Roland Levillain [Tue, 22 Mar 2016 16:01:54 +0000 (16:01 +0000)]
Merge "Fix missing header inclusion in art/runtime/thread.cc."
Roland Levillain [Tue, 22 Mar 2016 15:52:22 +0000 (15:52 +0000)]
Fix missing header inclusion in art/runtime/thread.cc.
The file art/runtime/thread.cc was missing an #include of
art/runtime/gc/accounting/heap_bitmap-inl.h, which is
required by art::ReferenceMapVisitor::VisitDeclaringClass to
find the (inlined) implementation of
art::gc::accounting::HeapBitmap::Test.
This fixes the MIPS32 build.
Change-Id: I00a8bc85d8b32cfed02309e13e437f0cfd0d493e
Nicolas Geoffray [Tue, 22 Mar 2016 15:38:56 +0000 (15:38 +0000)]
Merge "Rename test to avoid too long filenames."
Nicolas Geoffray [Tue, 22 Mar 2016 15:38:11 +0000 (15:38 +0000)]
Rename test to avoid too long filenames.
Change-Id: Ic969c3f303fe7a0c415f670f268421906496ab39
Nicolas Geoffray [Tue, 22 Mar 2016 15:34:36 +0000 (15:34 +0000)]
Merge "Add an ImtConflictTable to better resolve IMT conflicts."
Nicolas Geoffray [Sun, 13 Mar 2016 22:22:31 +0000 (22:22 +0000)]
Add an ImtConflictTable to better resolve IMT conflicts.
- Attach a ImtConflictTable to conflict runtime ArtMethod.
- Initially 0, a new one will be created at the first hit of
the conflict method.
- If the assembly code does not find a target method in the table,
we will create a new one again, copying the data from the previous
table and adding the new mapping.
Implemented for arm/arm64/x86/x64.
bug:
27556801
bug:
24769046
Change-Id: Ie74d1c77cf73d451a1142bdc5e3683f9f84bb4e7
Nicolas Geoffray [Tue, 22 Mar 2016 15:12:07 +0000 (15:12 +0000)]
Relax too strong DCHECK.
There may be a lifetime hole in the interval, which means the interval
does not cover the given position.
bug:
27617589
Change-Id: Iabd2b3d82936bed498f87be1a01760210954f97e
Roland Levillain [Tue, 22 Mar 2016 14:57:31 +0000 (14:57 +0000)]
Fix and improve shift and rotate operations.
- Define maximum int and long shift & rotate distances as
int32_t constants, as shift & rotate distances are 32-bit
integer values.
- Consider the (long, long) inputs case as invalid for
static evaluation of shift & rotate rotations.
- Add more checks in shift & rotate operations constructors
as well as in art::GraphChecker.
Change-Id: I754b326c3a341c9cc567d1720b327dad6fcbf9d6