OSDN Git Service
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."
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
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."
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
Vladimir Marko [Tue, 22 Mar 2016 13:55:17 +0000 (13:55 +0000)]
Merge "Optimizing: Fix a new valgrind error in image_test."
Nicolas Geoffray [Tue, 22 Mar 2016 12:56:22 +0000 (12:56 +0000)]
Merge "Disable two tests for no-prebuild."
Nicolas Geoffray [Tue, 22 Mar 2016 12:55:30 +0000 (12:55 +0000)]
Disable two tests for no-prebuild.
bug:
27784033
Change-Id: Ib4fc86cf970e6f008da006cad1bf18e58fb84346
Roland Levillain [Tue, 22 Mar 2016 12:49:54 +0000 (12:49 +0000)]
Merge "Revamp run-test 431-optimizing-arith-shifts."
Vladimir Marko [Tue, 22 Mar 2016 12:31:54 +0000 (12:31 +0000)]
Optimizing: Fix a new valgrind error in image_test.
Bug:
27651442
Bug:
27151098
Change-Id: I23a428be68ccf9f9557df01ee7e920eeeb8da2ba
Roland Levillain [Tue, 22 Mar 2016 11:54:37 +0000 (11:54 +0000)]
Tighten art::HNeg type constraints on its input.
Ensure art::HNeg is only passed a type having the kind of
its input. For a boolean, byte, short, or char input, it
means HNeg's type should be int.
Bug:
27684275
Change-Id: Ic8442c62090a8ab65590754874a14a0deb7acd8d
Nicolas Geoffray [Tue, 22 Mar 2016 11:38:50 +0000 (11:38 +0000)]
Merge "Fix braino in JitCodeCache."
Nicolas Geoffray [Tue, 22 Mar 2016 11:25:20 +0000 (11:25 +0000)]
Fix braino in JitCodeCache.
A OatQuickMethodHeader can never have its entry point be the
interpreter entrypoint.
Clear hotness counter of methods in more relevant places.
Change-Id: I0563a57eace2e0e4fe2abc76f5e293ddf47b25e3
Bill Buzbee [Tue, 22 Mar 2016 11:20:32 +0000 (11:20 +0000)]
Merge "ART: remove nested include in arch_test"
Nicolas Geoffray [Tue, 22 Mar 2016 11:09:36 +0000 (11:09 +0000)]
Merge "Revert "Revert "Enable compilation of secondary dex files"""
Nicolas Geoffray [Tue, 22 Mar 2016 10:52:46 +0000 (10:52 +0000)]
Merge "Update Makefile and scripts after Quick removal."
Nicolas Geoffray [Tue, 22 Mar 2016 10:43:01 +0000 (10:43 +0000)]
Update Makefile and scripts after Quick removal.
Change-Id: I7610b34da337d81d9176ceca74e55ab85642a72b
Roland Levillain [Tue, 22 Mar 2016 10:35:59 +0000 (10:35 +0000)]
Merge "Suppress MIPS32 assembler warnings"
Sebastien Hertz [Tue, 22 Mar 2016 07:32:34 +0000 (08:32 +0100)]
Update run-test 097-duplicate-method
Runs the test with a precompiled classes.dex and re-enables it.
We need to build a dex file with duplicate methods. We cannot do that
with Jack (this is invalid) or smali (it does not keep duplicate
methods, only one is in the dex). Therefore, having a precompiled
dex file allows to run the test on whatever toolchain.
In the future, we could update the test if a tool allows to generate
it again.
Change-Id: I3803aa0c2e99ca61d58b36e088d9bbe199e07d3c
Nicolas Geoffray [Tue, 22 Mar 2016 09:52:40 +0000 (09:52 +0000)]
Revert "Revert "Enable compilation of secondary dex files""
Bug:
26719109
This reverts commit
d98a52f0bc6c58e8e538de8335ab9bcb6ae73aa7.
Change-Id: I523675eb6d647fe773dd57b6e1cc398927bb066e
Nicolas Geoffray [Tue, 22 Mar 2016 09:41:41 +0000 (09:41 +0000)]
Merge "Remove Quick from tree."
Vladimir Marko [Tue, 22 Mar 2016 09:11:36 +0000 (09:11 +0000)]
Merge "Remove bogus DCHECK()."
Mathieu Chartier [Tue, 22 Mar 2016 03:08:50 +0000 (03:08 +0000)]
Merge "Add sanity checking to declaring class visiting"
Mathieu Chartier [Mon, 21 Mar 2016 21:05:56 +0000 (14:05 -0700)]
Add sanity checking to declaring class visiting
When we have an unmarked declaring class in the image, it will
SIGSEGV due to the bitmap being read-only. Print some useful
info to try and debug this.
This probably hurts performance a bit, TODO disable when the bug is
fixed.
Bug:
27493510
(cherry picked from commit
b33b1dc78d178060ff0f4327d448fd3a89df51de)
Change-Id: I0c25afd5a6101a71fa1494e12dc019ba64bf43be
Aart Bik [Mon, 21 Mar 2016 22:52:06 +0000 (22:52 +0000)]
Merge "Generalize induction and range analysis across type conversions."
Alexey Frunze [Fri, 18 Mar 2016 00:21:45 +0000 (17:21 -0700)]
MIPS32: Implement UnsafeCASInt and UnsafeCASObject intrinsics.
Change-Id: Ie871763b9a36075fd3d70ee6e2e241ae1ccc36cf
buzbee [Mon, 21 Mar 2016 22:11:04 +0000 (15:11 -0700)]
ART: remove nested include in arch_test
arch_test #includes asm_support.h while inside the art namespace.
We've gotten away with this until now because the files that
asm_support.h includes had already been included earlier (and thus,
were empty via the #ifdef guard). However, adding new #includes to
asm_support.h results in art::art:: namespace ugliness.
Change-Id: Ie2671c456bb631976b4280f29a5656b086138047
Aart Bik [Wed, 16 Mar 2016 17:49:38 +0000 (10:49 -0700)]
Generalize induction and range analysis across type conversions.
Rationale:
This changelist implements allowing narrowing conversions within
inductions and loop control. More induction and loops recognized,
more bounds eliminated. We all win. The basic idea is pretty simple
(record type with detected induction) but one has to get all the
details right, as illustrated by the many new unit tests.
BUG=
27151098
Change-Id: I254020bfa5fa623799b31bbbb5ccc97d4d5a0100
Mathieu Chartier [Mon, 21 Mar 2016 19:45:04 +0000 (19:45 +0000)]
Merge "Move process state into runtime"
Mathieu Chartier [Mon, 21 Mar 2016 19:37:48 +0000 (19:37 +0000)]
Merge "Disable LZ4HC compressed images"
Mathieu Chartier [Sat, 19 Mar 2016 01:45:41 +0000 (18:45 -0700)]
Move process state into runtime
Clean up.
Bug:
27420435
(cherry picked from commit
f8484c8b55f4b423048f94dfabbe44110a039a9b)
Change-Id: Ia20781ee36e6a31c88ca41d3866b26813cff434d
Mathieu Chartier [Fri, 18 Mar 2016 02:19:15 +0000 (19:19 -0700)]
Disable LZ4HC compressed images
Seem to get randomly compressed incorrectly on volantis. Added
verifiation in the image writer.
Using LZ4HC now silently uses LZ4. This is still safe since both use
the same decompression code.
Bug:
27560444
Change-Id: I652eee7498dc84994993be3a5b0447ec5b246304
Vladimir Marko [Mon, 21 Mar 2016 17:58:51 +0000 (17:58 +0000)]
Remove bogus DCHECK().
Bug:
27684368
Change-Id: Ic3653280b32a471fbfdb5459ea382bc15c86cdbc
Nicolas Geoffray [Mon, 21 Mar 2016 17:10:24 +0000 (17:10 +0000)]
Remove Quick from tree.
So long, old friend.
Change-Id: I0241c798a34b92bf994fed83888da67d6e7f1891
Vladimir Marko [Mon, 21 Mar 2016 17:36:44 +0000 (17:36 +0000)]
Merge "Optimizing: Fix register allocator validation memory usage."
Hiroshi Yamauchi [Mon, 21 Mar 2016 17:12:28 +0000 (17:12 +0000)]
Merge "Fix a CC 145-alloc-tracking-stress deadlock."
Vladimir Marko [Mon, 21 Mar 2016 12:01:50 +0000 (12:01 +0000)]
Optimizing: Fix register allocator validation memory usage.
Also attribute ArenaBitVector allocations to appropriate
passes. This was used to track down the source of the
excessive memory alloactions.
Bug:
27690481
Change-Id: Ib895984cb7c04e24cbc7abbd8322079bab8ab100
Yohann Roussel [Mon, 21 Mar 2016 16:39:59 +0000 (16:39 +0000)]
Merge "Let tests informa Jack of the min api version"
Yohann Roussel [Mon, 21 Mar 2016 15:26:02 +0000 (16:26 +0100)]
Let tests informa Jack of the min api version
This is necessarry for compiling source code with default method.
Bug:
27371864
Change-Id: I8c9d3690e403729facd2e868cbda761b3488b2f6
Roland Levillain [Mon, 21 Mar 2016 15:18:43 +0000 (15:18 +0000)]
Merge "MIPS32: sun.misc.Unsafe get/put intrinsics."
Roland Levillain [Mon, 21 Mar 2016 15:13:15 +0000 (15:13 +0000)]
Merge "Pacify g++ about a set-but-unused variable."
Nicolas Geoffray [Mon, 21 Mar 2016 14:53:09 +0000 (14:53 +0000)]
Merge "Code cleanup between debugger and jit."
Nicolas Geoffray [Fri, 18 Mar 2016 09:40:17 +0000 (09:40 +0000)]
Code cleanup between debugger and jit.
This is to allow secondary dex files to be fully compiled.
- No need to do full deopt anymore for breakpoints: code in boot.oat
is deoptimized as soon as the debugger attaches (and we decided that
existing frames could not be debugged), and application being
debugged is compiled debuggable.
- jit should only call UpdateMethodsCode if exit stubs are not
installed due to lock violation otherwise (the lock level of the
jit code cache is lower than the deoptimization lock).
This part needs an overall cleanup beyond the scope of this change.
Change-Id: I38d85dcb270db746c1d6b0ceb7893a1aad8c9655
Goran Jakovljevic [Mon, 21 Mar 2016 13:24:43 +0000 (14:24 +0100)]
Suppress MIPS32 assembler warnings
Suppressing "no .cprestore pseudo-op used in PIC code".
Suppressing "used $at without .set noat".
Fixing some typos.
Change-Id: I45267890b070cee3dd7f3708cf73e157a08f798e
Roland Levillain [Mon, 21 Mar 2016 14:09:54 +0000 (14:09 +0000)]
Pacify g++ about a set-but-unused variable.
This fixes the MIPS32 build.
Change-Id: Ic1e6d4627d69a3701c2f3e8fdd784d97a4e41ba5
Nicolas Geoffray [Mon, 21 Mar 2016 11:38:27 +0000 (11:38 +0000)]
Merge "Check if the type of an instruction is erroneous before inlining."
Nicolas Geoffray [Mon, 21 Mar 2016 11:27:10 +0000 (11:27 +0000)]
Merge "Call HuntForOriginalReference to get to the null."
Nicolas Geoffray [Fri, 18 Mar 2016 11:36:20 +0000 (11:36 +0000)]
Check if the type of an instruction is erroneous before inlining.
We can get HInstructions typed with a class that is in an error state.
For such classes, we cannot look at the vtable or imt table as they
are not cleanly populated.
bug:
27683927
Change-Id: I0d64ca470e1cb6cf9b40e9f02bb9b0bb12c2bac1
Nicolas Geoffray [Fri, 18 Mar 2016 16:25:38 +0000 (16:25 +0000)]
Call HuntForOriginalReference to get to the null.
The null constant might be hiding under a HBoundType
(which we could clean up in instruction simplifier, but
that is orthogonal).
bug:
27683874
Change-Id: Ide8ec5bcd439ec0fca5e54175ebeedc5a9f679a3
Nicolas Geoffray [Sat, 19 Mar 2016 11:37:04 +0000 (11:37 +0000)]
Merge "Fix mising "."
Nicolas Geoffray [Sat, 19 Mar 2016 10:25:41 +0000 (10:25 +0000)]
Fix mising ".
Change-Id: I2116d97162b8ab6d01fa633650532e190959cad4
Hiroshi Yamauchi [Sat, 19 Mar 2016 00:17:52 +0000 (17:17 -0700)]
Fix a CC 145-alloc-tracking-stress deadlock.
When the allocation tracking gets disabled, there may be threads
blocking on the system weak access for recording allocations, but when
GC reenables the system weak access, it fails to wake up those blocked
threads (which causes a deadlock) because the broadcast call is guarded
by Heap::IsAllocTrackingEnabled(), which is false at this point.
Broadcast in Heap::BroadcastForNewAllocationRecords() regardless of
Heap::IsAllocTrackingEnabled(), which is safe.
Also apply a similar fix for the non-CC case.
Bug:
27467554
Change-Id: I74cf88bceb306589ce11a19a688be223e099e88a