OSDN Git Service

android-x86/art.git
7 years agoMerge "ARM64: Use the zero register in the parallel-move resolver."
Alexandre Rames [Wed, 3 Aug 2016 18:04:12 +0000 (18:04 +0000)]
Merge "ARM64: Use the zero register in the parallel-move resolver."
am: 89bd8358c0

Change-Id: I17b9c72e22a9bfa60659d81994916adbf787deb1

7 years agoMerge "ARM64: Use the zero register in the parallel-move resolver."
Roland Levillain [Wed, 3 Aug 2016 17:56:02 +0000 (17:56 +0000)]
Merge "ARM64: Use the zero register in the parallel-move resolver."

7 years agoMerge "Fix constant type"
David Sehr [Wed, 3 Aug 2016 17:15:00 +0000 (17:15 +0000)]
Merge "Fix constant type"
am: 01b7982a45

Change-Id: Ie4b0bb80c820e9483348ec75b932c6ef04ccfeeb

7 years agoMerge "Fix an assertion in the non-Baker read barrier ARM64 slow path."
Roland Levillain [Wed, 3 Aug 2016 17:12:28 +0000 (17:12 +0000)]
Merge "Fix an assertion in the non-Baker read barrier ARM64 slow path."
am: 399e332bd4

Change-Id: Ie2fb93b0f2cc9f7bac3e5f565f39f063bd551926

7 years agoMerge "Fix constant type"
Treehugger Robot [Wed, 3 Aug 2016 17:08:51 +0000 (17:08 +0000)]
Merge "Fix constant type"

7 years agoMerge "Fix an assertion in the non-Baker read barrier ARM64 slow path."
Roland Levillain [Wed, 3 Aug 2016 17:03:25 +0000 (17:03 +0000)]
Merge "Fix an assertion in the non-Baker read barrier ARM64 slow path."

7 years agoFix constant type
David Sehr [Wed, 3 Aug 2016 16:05:20 +0000 (09:05 -0700)]
Fix constant type

Remove the unnecessary cast to long for DCHECK, a nit that was omitted
from the last CL, https://android-review.googlesource.com/#/c/248243/.

Bug: b/28856653
Test: test-art-host-gtest-dex_file_test
Change-Id: I8ca18d19cbac61e40ddfbe32729aef5c20347174

7 years agoMerge "ART: Extend run-test timeout logging time"
Andreas Gampe [Wed, 3 Aug 2016 16:14:51 +0000 (16:14 +0000)]
Merge "ART: Extend run-test timeout logging time"
am: ae9408f46a

Change-Id: I4d236e966624f3c2b5f9bb7b56b2f96c45cd0a6b

7 years agoMerge "ART: Extend run-test timeout logging time"
Treehugger Robot [Wed, 3 Aug 2016 16:09:45 +0000 (16:09 +0000)]
Merge "ART: Extend run-test timeout logging time"

7 years agoMerge "Scope the compilation and Create the ProfilingInfo in the loop."
Nicolas Geoffray [Wed, 3 Aug 2016 15:26:48 +0000 (15:26 +0000)]
Merge "Scope the compilation and Create the ProfilingInfo in the loop."
am: 53d9a24c77

Change-Id: I822c8da6630ec0dc77107e4d2cc55e35e6e929e4

7 years agoMerge "Scope the compilation and Create the ProfilingInfo in the loop."
Nicolas Geoffray [Wed, 3 Aug 2016 15:21:40 +0000 (15:21 +0000)]
Merge "Scope the compilation and Create the ProfilingInfo in the loop."

7 years agoFix an assertion in the non-Baker read barrier ARM64 slow path.
Roland Levillain [Wed, 3 Aug 2016 14:02:10 +0000 (15:02 +0100)]
Fix an assertion in the non-Baker read barrier ARM64 slow path.

Test: m ART_USE_READ_BARRIER=true ART_READ_BARRIER_TYPE=TABLELOOKUP test-art-target (ARM64).
Bug: 30563701
Change-Id: Ib7969bd78e9c14cc2be9d5527d80385486b4f409

7 years agoARM64: Use the zero register in the parallel-move resolver.
Alexandre Rames [Tue, 2 Aug 2016 12:45:28 +0000 (13:45 +0100)]
ARM64: Use the zero register in the parallel-move resolver.

When moving zero to a stack slot, this will change

    mov temp, #0
    str temp, [...]

into

    str zr, [...]

Change-Id: I2211b00d70f3fa0a02e781c90198757290b2bf89

7 years agoMerge "Return error directly when uncompressed length is 0"
ganxiaolin [Tue, 2 Aug 2016 22:55:21 +0000 (22:55 +0000)]
Merge "Return error directly when uncompressed length is 0"
am: d16ae7fe70

Change-Id: I7b99f01d906faf1a599aefc3217c77735cc4ab1c

7 years agoMerge "Return error directly when uncompressed length is 0"
Treehugger Robot [Tue, 2 Aug 2016 22:41:39 +0000 (22:41 +0000)]
Merge "Return error directly when uncompressed length is 0"

7 years agoReturn error directly when uncompressed length is 0
ganxiaolin [Mon, 18 Jul 2016 03:21:44 +0000 (11:21 +0800)]
Return error directly when uncompressed length is 0

If uncompressed length is 0, in function MemMap::MapAnonymous, it will generate a MemMap instance whose base_begin is nullptr.
Then, when OpenMemory, it will create a DexFile instance.
At DexFile::DexFile constructor, header_ is asigned to 0, then header_->string_ids_off_ will cause crash.

Bug: b/28856653
Test: test-art-host-gtest-dex_file_test
Signed-off-by: ganxiaolin <ganxiaolin@xiaomi.com>
Change-Id: Id37f7629f4646cbc385ef054cb83b15be4c59b00

7 years agoScope the compilation and Create the ProfilingInfo in the loop.
Nicolas Geoffray [Tue, 2 Aug 2016 17:49:25 +0000 (18:49 +0100)]
Scope the compilation and Create the ProfilingInfo in the loop.

We need to release the mutator lock to avoid being in a deadlock.

Also allocating the profiling just before compiling in the unlickely
event that it got collected after releasing the mutator lock.

bug:30351473
Change-Id: I98dba646536d857152949b92f6c69ff9a03cf783

7 years agoMerge "Improve the graph visualizer's output for constant locations."
Alexandre Rames [Tue, 2 Aug 2016 20:23:43 +0000 (20:23 +0000)]
Merge "Improve the graph visualizer's output for constant locations."
am: b7e921c905

Change-Id: If4d52743fcf006ebd3b1e5f2e850b5e1a644b246

7 years agoMerge "Improve the graph visualizer's output for constant locations."
Nicolas Geoffray [Tue, 2 Aug 2016 20:18:27 +0000 (20:18 +0000)]
Merge "Improve the graph visualizer's output for constant locations."

7 years agoMerge "ARM64: Make the VIXL macro assembler part of ART ARM64's assembler."
Alexandre Rames [Tue, 2 Aug 2016 20:15:42 +0000 (20:15 +0000)]
Merge "ARM64: Make the VIXL macro assembler part of ART ARM64's assembler."
am: 524a76c933

Change-Id: Ibc00f0daa7bdda524e79c7bc0f9eac73fe2efe67

7 years agoMerge "ARM64: Make the VIXL macro assembler part of ART ARM64's assembler."
Nicolas Geoffray [Tue, 2 Aug 2016 20:06:39 +0000 (20:06 +0000)]
Merge "ARM64: Make the VIXL macro assembler part of ART ARM64's assembler."

7 years agoMerge "Split art-run-tests between building and packaging"
Dan Willemsen [Tue, 2 Aug 2016 17:48:33 +0000 (17:48 +0000)]
Merge "Split art-run-tests between building and packaging"
am: 8055598c8d

Change-Id: I5487ba15f85e99a5a98258bb08ae06bdfb736f5c

7 years agoART: Extend run-test timeout logging time
Andreas Gampe [Tue, 2 Aug 2016 04:53:57 +0000 (21:53 -0700)]
ART: Extend run-test timeout logging time

Double the time a test is allowed to attempt logging after it
timed out to two minutes.

Also change from using nested timeouts to using "-k" in general,
not just for host dex2oat.

Bug: 30351473
Test: m test-art-host
Change-Id: I134c7b220f69eaab7ea430a5c7ce45d77b091996

7 years agoMerge "Split art-run-tests between building and packaging"
Dan Willemsen [Tue, 2 Aug 2016 17:41:59 +0000 (17:41 +0000)]
Merge "Split art-run-tests between building and packaging"

7 years agoMerge "Align method code rather than method header in oat files."
Vladimir Marko [Tue, 2 Aug 2016 17:05:05 +0000 (17:05 +0000)]
Merge "Align method code rather than method header in oat files."
am: 35bb22f05c

Change-Id: I3b276be533e4d4841e3fbd8ac06aa6071c142d70

7 years agoMerge "Align method code rather than method header in oat files."
Vladimir Marko [Tue, 2 Aug 2016 16:59:35 +0000 (16:59 +0000)]
Merge "Align method code rather than method header in oat files."

7 years agoMerge "ART: Fix Mips Thread offset checks"
Andreas Gampe [Tue, 2 Aug 2016 16:58:59 +0000 (16:58 +0000)]
Merge "ART: Fix Mips Thread offset checks"
am: aa21d0ecbb

Change-Id: I62d7910c1ff5baa0f541637b3ee07a7bfa70f93e

7 years agoMerge "ART: Fix Mips Thread offset checks"
Treehugger Robot [Tue, 2 Aug 2016 16:52:14 +0000 (16:52 +0000)]
Merge "ART: Fix Mips Thread offset checks"

7 years agoARM64: Make the VIXL macro assembler part of ART ARM64's assembler.
Alexandre Rames [Tue, 2 Aug 2016 12:45:28 +0000 (13:45 +0100)]
ARM64: Make the VIXL macro assembler part of ART ARM64's assembler.

This avoids a dynamic allocation of the VIXL macro assembler.

Change-Id: I4cd62678d0978f1ad6f32ea0ce7279e09152be38

7 years agoART: Fix Mips Thread offset checks
Andreas Gampe [Tue, 2 Aug 2016 15:44:20 +0000 (08:44 -0700)]
ART: Fix Mips Thread offset checks

Follow-up to commit 542451cc546779f5c67840e105c51205a1b0a8fd.

Bug: 30373134
Test: m test-art-host
Change-Id: I1d0202896e683cb20db30e8aac1c5ebcacc96467

7 years agoImprove the graph visualizer's output for constant locations.
Alexandre Rames [Tue, 2 Aug 2016 12:45:28 +0000 (13:45 +0100)]
Improve the graph visualizer's output for constant locations.

Change-Id: I423fb378ee61fb53c3b328fc74f4e95cdef0992a

7 years agoMerge "DexFile: Add basic support for v38 dex files."
Narayan Kamath [Tue, 2 Aug 2016 12:42:17 +0000 (12:42 +0000)]
Merge "DexFile: Add basic support for v38 dex files."
am: c984725d00

Change-Id: Ie679587daf5836df3835aef1e2488921b1fbb000

7 years agoMerge "ARM: Embed 0.0 in VCMP."
Vladimir Marko [Tue, 2 Aug 2016 12:38:48 +0000 (12:38 +0000)]
Merge "ARM: Embed 0.0 in VCMP."
am: 3719016185

Change-Id: Id2f1ba6b265accac7feb72cec5b481b5c2858a8c

7 years agoMerge "DexFile: Add basic support for v38 dex files."
Narayan Kamath [Tue, 2 Aug 2016 12:36:14 +0000 (12:36 +0000)]
Merge "DexFile: Add basic support for v38 dex files."

7 years agoMerge "ARM: Embed 0.0 in VCMP."
Vladimir Marko [Tue, 2 Aug 2016 12:31:10 +0000 (12:31 +0000)]
Merge "ARM: Embed 0.0 in VCMP."

7 years agoARM: Embed 0.0 in VCMP.
Vladimir Marko [Mon, 1 Aug 2016 16:41:45 +0000 (17:41 +0100)]
ARM: Embed 0.0 in VCMP.

Test: Run ART test suite on Nexus 5.
Change-Id: I5cbbd98c4d64a4d9213e27adcae929ead5099a39

7 years agoAlign method code rather than method header in oat files.
Vladimir Marko [Mon, 1 Aug 2016 15:33:16 +0000 (16:33 +0100)]
Align method code rather than method header in oat files.

This has always been the intent. For example, the function
name CompiledMethod::AlignCode() shows this intent.

Test: Run ART test suite on host and Nexus 9.
Change-Id: I11ae8963fc537fee853fe82e3aca22e77907eae7

7 years agoDexFile: Add basic support for v38 dex files.
Narayan Kamath [Mon, 1 Aug 2016 13:20:31 +0000 (14:20 +0100)]
DexFile: Add basic support for v38 dex files.

Makes sure they aren't rejected, essentially. Also adds positive
and negative test cases in dex_file_test.

bug: 30550796
Change-Id: I8c95055a22f8a1435868c8bf3497f9641b7bb900
test: make test-art-host

7 years agoMerge "dex_instruction: remove unused parameter from instruction definitions."
Narayan Kamath [Tue, 2 Aug 2016 08:16:02 +0000 (08:16 +0000)]
Merge "dex_instruction: remove unused parameter from instruction definitions."
am: 3d6094531e

Change-Id: Ie3d13a22f79be1a02194b93eea35f080f4a8f934

7 years agoMerge "dex_instruction: remove unused parameter from instruction definitions."
Narayan Kamath [Tue, 2 Aug 2016 08:09:35 +0000 (08:09 +0000)]
Merge "dex_instruction: remove unused parameter from instruction definitions."

7 years agodex_instruction: remove unused parameter from instruction definitions.
Narayan Kamath [Mon, 1 Aug 2016 16:32:37 +0000 (17:32 +0100)]
dex_instruction: remove unused parameter from instruction definitions.

bug: 30550796
test: make test-art-host
Change-Id: Ib80a2d5c548578cefb0552b597e1d50b813ce8ef

7 years agoSplit art-run-tests between building and packaging
Dan Willemsen [Tue, 2 Aug 2016 05:58:31 +0000 (22:58 -0700)]
Split art-run-tests between building and packaging

We remove the 'obj/PACKAGING' directory during an installclean. Instead
of forcing a rebuild of all of these tests after an installclean, build
them in a different obj directory, then copy them into the PACKAGING
directory to be gathered together by LOCAL_PICKUP_FILES.

The built directory isn't used directly for LOCAL_PICKUP_FILES, since we
don't clean up tests that are no longer defined, so an installclean can
fix that. This matches the behavior of modules installed into the system
image, etc.

This brings my build time for "m -j55 tests" from 3m30s to 35s after
"m installclean".

The total size of these binaries are small (~10MB), so the extra copy is
insignificant.

Change-Id: I20f1c09df25b70df8c7f86167480b3a39e99642a

7 years agoMerge "ART: Convert pointer size to enum"
Andreas Gampe [Tue, 2 Aug 2016 03:55:47 +0000 (03:55 +0000)]
Merge "ART: Convert pointer size to enum"
am: ba65cc4a71

Change-Id: I223a62cf0e5b58c64400aff22109cad62ab278a0

7 years agoMerge "ART: Convert pointer size to enum"
Treehugger Robot [Tue, 2 Aug 2016 03:47:35 +0000 (03:47 +0000)]
Merge "ART: Convert pointer size to enum"

7 years agoMerge "Revert "cpp-define-generator: "make art-update-cpp-defines" to regen asm_support""
Nicolas Geoffray [Tue, 2 Aug 2016 02:11:40 +0000 (02:11 +0000)]
Merge "Revert "cpp-define-generator: "make art-update-cpp-defines" to regen asm_support""
am: 1a827a05af

Change-Id: I86b8efd42582dde2406bc18b490f461fc0570f27

7 years agoMerge "Revert "cpp-define-generator: "make art-update-cpp-defines" to regen asm_support""
Nicolas Geoffray [Tue, 2 Aug 2016 02:07:19 +0000 (02:07 +0000)]
Merge "Revert "cpp-define-generator: "make art-update-cpp-defines" to regen asm_support""

7 years agoRevert "cpp-define-generator: "make art-update-cpp-defines" to regen asm_support"
Nicolas Geoffray [Tue, 2 Aug 2016 02:07:07 +0000 (02:07 +0000)]
Revert "cpp-define-generator: "make art-update-cpp-defines" to regen asm_support"

Reverting to unbreak golem builds.

This reverts commit 3c92b129047b12f0887a2068b3800d7a7dcb7d78.

Change-Id: I78ef481f57fbcd3b3a9f4802dd6c21dabb186856

7 years agoART: Convert pointer size to enum
Andreas Gampe [Tue, 26 Jul 2016 16:02:02 +0000 (09:02 -0700)]
ART: Convert pointer size to enum

Move away from size_t to dedicated enum (class).

Bug: 30373134
Bug: 30419309
Test: m test-art-host
Change-Id: Id453c330f1065012e7d4f9fc24ac477cc9bb9269

7 years agoMerge "Fixed bug in disassembly of roundss/roundsd"
Aart Bik [Tue, 2 Aug 2016 00:51:35 +0000 (00:51 +0000)]
Merge "Fixed bug in disassembly of roundss/roundsd"
am: 8bf927b5c2

Change-Id: I778093acc109aedb21c234dd4a40efea63695dc7

7 years agoMerge "Fixed bug in disassembly of roundss/roundsd"
Treehugger Robot [Tue, 2 Aug 2016 00:32:16 +0000 (00:32 +0000)]
Merge "Fixed bug in disassembly of roundss/roundsd"

7 years agoFixed bug in disassembly of roundss/roundsd
Aart Bik [Mon, 1 Aug 2016 22:55:36 +0000 (15:55 -0700)]
Fixed bug in disassembly of roundss/roundsd

Rationale:
These instructions should be marked as load, so that, using
Intel syntax, destination (xmm0) appears at left hand side, as in
   roundss xmm0, xmm1
and not the other way around. First I suspected a bug in the
encoding (hence the test) and even the register allocator, but
since the code behaved correctly, only disassembly was really wrong.

Test: disassembler_x86_test (but nothing for actual disassembly)

BUG=26327751

Change-Id: I060ef57f4d5a64cdc04b97ae8a799d1c0d22da05

7 years agoMerge "Added direct memory operand support for comiss/sd on x86."
Aart Bik [Mon, 1 Aug 2016 22:52:57 +0000 (22:52 +0000)]
Merge "Added direct memory operand support for comiss/sd on x86."
am: e304fc28c4

Change-Id: Iee9114dceeb90feccc670791982815c17136137a

7 years agoMerge "libsigchain: intercept bsd_signal on lp32"
Dimitry Ivanov [Mon, 1 Aug 2016 22:47:04 +0000 (22:47 +0000)]
Merge "libsigchain: intercept bsd_signal on lp32"
am: ba001a5577

Change-Id: I197ec9cf35e2c8cff45ca62e9ae501ee87da8701

7 years agoMerge "Added direct memory operand support for comiss/sd on x86."
Treehugger Robot [Mon, 1 Aug 2016 22:45:01 +0000 (22:45 +0000)]
Merge "Added direct memory operand support for comiss/sd on x86."

7 years agoMerge "libsigchain: intercept bsd_signal on lp32"
Treehugger Robot [Mon, 1 Aug 2016 22:39:15 +0000 (22:39 +0000)]
Merge "libsigchain: intercept bsd_signal on lp32"

7 years agolibsigchain: intercept bsd_signal on lp32
Dimitry Ivanov [Mon, 1 Aug 2016 18:19:03 +0000 (11:19 -0700)]
libsigchain: intercept bsd_signal on lp32

bsd_signal is a deprecated synonym for the signal. Nevertheless
there are apps and libraries calling this function.

libsigchain needs to intercept these calls and handle them the same
way it handles signal() call.

Bug: http://b/30562229
Test: readelf --dyn-sym app_process32 and check that bsd_signal is exported
      readelf --dyn-sym app_process64 and check that bsd_signal is not exported
Change-Id: I3aa41632bb015568d8524a82f1c97e4443ec0d6c

7 years agoAdded direct memory operand support for comiss/sd on x86.
Aart Bik [Mon, 1 Aug 2016 21:11:20 +0000 (14:11 -0700)]
Added direct memory operand support for comiss/sd on x86.

Rationale:
Memory operands allows for shorter instruction sequences.
Something that may be used e.g. the upcoming implementation
of the round intrinsic.

Bug=26327751

Change-Id: Ifd976ed86917de1879fa036cbbbff5edf4fb741d
Test: assembler_x86_test

7 years agoMerge \"Put the deletion of profiling info under a GC critical section.\"
Nicolas Geoffray [Mon, 1 Aug 2016 19:50:40 +0000 (19:50 +0000)]
Merge \"Put the deletion of profiling info under a GC critical section.\"
am: 1a7c33704a

Change-Id: I4952fd9f60b7b5c85b2acba7d808f008601029d0

7 years agoMerge "Put the deletion of profiling info under a GC critical section."
Nicolas Geoffray [Mon, 1 Aug 2016 19:45:05 +0000 (19:45 +0000)]
Merge "Put the deletion of profiling info under a GC critical section."

7 years agoMerge \"Revert \"Revert \"Scan immune spaces using mod union tables.\"\"\"
Hiroshi Yamauchi [Mon, 1 Aug 2016 19:11:07 +0000 (19:11 +0000)]
Merge \"Revert \"Revert \"Scan immune spaces using mod union tables.\"\"\"
am: fcc3c6d26a

Change-Id: Id762c75f579d621cb67ca8ea7b7c16024732e23c

7 years agoMerge "Revert "Revert "Scan immune spaces using mod union tables."""
Hiroshi Yamauchi [Mon, 1 Aug 2016 19:05:43 +0000 (19:05 +0000)]
Merge "Revert "Revert "Scan immune spaces using mod union tables."""

7 years agoMerge \"ART: remove gcc cruft from the makefiles\"
Colin Cross [Mon, 1 Aug 2016 18:27:12 +0000 (18:27 +0000)]
Merge \"ART: remove gcc cruft from the makefiles\"
am: df638c66d1

Change-Id: I370c6a829207d657b6a67b259773ab28529ec373

7 years agoMerge "ART: remove gcc cruft from the makefiles"
Colin Cross [Mon, 1 Aug 2016 18:14:07 +0000 (18:14 +0000)]
Merge "ART: remove gcc cruft from the makefiles"

7 years agoMerge \"cpp-define-generator: \"make art-update-cpp-defines\" to regen asm_support\"
Igor Murashkin [Mon, 1 Aug 2016 17:58:37 +0000 (17:58 +0000)]
Merge \"cpp-define-generator: \"make art-update-cpp-defines\" to regen asm_support\"
am: 4130c3360e

Change-Id: I034b4ad64c8298cec6a998cf2d3ddf11c1812d71

7 years agoMerge "cpp-define-generator: "make art-update-cpp-defines" to regen asm_support"
Treehugger Robot [Mon, 1 Aug 2016 17:46:49 +0000 (17:46 +0000)]
Merge "cpp-define-generator: "make art-update-cpp-defines" to regen asm_support"

7 years agoMerge \"Fix art::ArchTest::FinalizeSetup not being called.\"
Przemyslaw Szczepaniak [Mon, 1 Aug 2016 10:58:42 +0000 (10:58 +0000)]
Merge \"Fix art::ArchTest::FinalizeSetup not being called.\"
am: 6e5e3b2e91

Change-Id: I2791958a7a77d62390805037e789be48fa58e23f

7 years agoMerge "Fix art::ArchTest::FinalizeSetup not being called."
Przemyslaw Szczepaniak [Mon, 1 Aug 2016 10:54:37 +0000 (10:54 +0000)]
Merge "Fix art::ArchTest::FinalizeSetup not being called."

7 years agoFix art::ArchTest::FinalizeSetup not being called.
Przemyslaw Szczepaniak [Mon, 25 Jul 2016 16:31:06 +0000 (17:31 +0100)]
Fix art::ArchTest::FinalizeSetup not being called.

CommonRuntimeTestImpl::SetUp() is calling FinalizeSetup. Since
CommonRuntimeTestImpl::FinalizeSetup is not virtual (it's virtual
one step higher in class hierarchy in CommonRuntimeTestBase), overridden
version in ArchTest was never used. This is causing ArchTest to
fail with openjdk8u60 version of java.lang.reflect (it's calling
Class#getDeclaredField in clinit, which fails on 32 bit
version because of different pointer sizes [arch_test forces
64-bit ISA])

Bug: 28666126
Test:  make -j 32 test-art-host-gtest
Change-Id: Ief370f5b18ef787575ac0f88ecbe17ebbf037542

7 years agoMerge \"ART: Fix RegTypeCache for instance field declaring class\"
David Brazdil [Mon, 1 Aug 2016 08:42:05 +0000 (08:42 +0000)]
Merge \"ART: Fix RegTypeCache for instance field declaring class\"
am: bffecdbb50

Change-Id: I1c4beef69e286097a859d8855296a0c56826dcbb

7 years agoMerge "ART: Fix RegTypeCache for instance field declaring class"
David Brazdil [Mon, 1 Aug 2016 08:39:04 +0000 (08:39 +0000)]
Merge "ART: Fix RegTypeCache for instance field declaring class"

7 years agoPut the deletion of profiling info under a GC critical section.
Nicolas Geoffray [Sat, 30 Jul 2016 21:49:11 +0000 (22:49 +0100)]
Put the deletion of profiling info under a GC critical section.

Otherwise the GC could see dangling pointers.

bug:30033802
Change-Id: I839c4f6e537aba98769e99e4d75ff869c9ff13eb

7 years agoMerge \"Fix for interpreter crash on new instance of class\"
Aart Bik [Sat, 30 Jul 2016 05:19:26 +0000 (05:19 +0000)]
Merge \"Fix for interpreter crash on new instance of class\"
am: 0f290d764d

Change-Id: Ie237c079eee92df36143b32cdb175a4f52719e34

7 years agoMerge \"Revert \"Revert \"Use try lock to fix class resolution race\"\"\"
Mathieu Chartier [Sat, 30 Jul 2016 05:19:24 +0000 (05:19 +0000)]
Merge \"Revert \"Revert \"Use try lock to fix class resolution race\"\"\"
am: 0af088d126

Change-Id: If34912dd115472f4fb2a84dd82a0b1d91c488a06

7 years agoMerge \"Create OatFileAssistant::OatFileInfo inner class.\"
Richard Uhler [Sat, 30 Jul 2016 05:19:21 +0000 (05:19 +0000)]
Merge \"Create OatFileAssistant::OatFileInfo inner class.\"
am: 3d733104c9

Change-Id: Iddfadebb0b90ea9ce8376a5a52ec8fc7c2e386f5

7 years agoMerge "Fix for interpreter crash on new instance of class"
Aart Bik [Sat, 30 Jul 2016 02:53:25 +0000 (02:53 +0000)]
Merge "Fix for interpreter crash on new instance of class"

7 years agoMerge "Revert "Revert "Use try lock to fix class resolution race"""
Treehugger Robot [Sat, 30 Jul 2016 02:10:00 +0000 (02:10 +0000)]
Merge "Revert "Revert "Use try lock to fix class resolution race"""

7 years agoRevert "Revert "Use try lock to fix class resolution race""
Mathieu Chartier [Fri, 29 Jul 2016 23:26:01 +0000 (16:26 -0700)]
Revert "Revert "Use try lock to fix class resolution race""

Fix possible deadlock in EnsureResolved caused by interaction with
GC. Since we were sleeping while holding the mutator lock, it could
block thread suspension. This would deadlock if the thread that
had locked h_class is already suspended since we would spin forever
and not make progress.

Bug: 27417671
Bug: 30500547

Test: test-art-host ART_TEST_GC_STRESS=true

This reverts commit 69bf969c055c31a75d17ea92aeee756042678114.

Change-Id: Id8750df065dc3b9ef7dc874f2eb2cc2c58e5d1eb

7 years agoMerge "Create OatFileAssistant::OatFileInfo inner class."
Richard Uhler [Sat, 30 Jul 2016 00:10:18 +0000 (00:10 +0000)]
Merge "Create OatFileAssistant::OatFileInfo inner class."

7 years agoFix for interpreter crash on new instance of class
Aart Bik [Tue, 26 Jul 2016 00:52:22 +0000 (17:52 -0700)]
Fix for interpreter crash on new instance of class

Rationale:
Fuzz testing found divergences between the compiler and interpreter
which turned out to be caused by calling instance on java.lang.Class
(this worked for compiler but crashed interpeter). Since RI does not
allow this construct, solution is to force interpreter in this
unlikely case and throw run time exception like RI. This fixes
two cases found with fuzz testing. CL also includes
fail-before/pass-after test.

Test: 600-verifier-fails

BUG=29758098

Change-Id: Ie80f7758def44e6655d28fec4c10c34ffa0fd60b

7 years agoRevert "Revert "Scan immune spaces using mod union tables.""
Hiroshi Yamauchi [Fri, 29 Jul 2016 22:07:05 +0000 (15:07 -0700)]
Revert "Revert "Scan immune spaces using mod union tables.""

This reverts commit ccf7c8a68972f3b7bfa38af0c6b792f712f83765.

Change-Id: Iee618d9ae78e1dcdea4a7ecbe9253821d4d4d015
Test: N9 boot, art tests, Ritz EAAC.
Bug: 29516968
Bug: 29517059
Bug: 12687968

7 years agoMerge \"Revert \"Use try lock to fix class resolution race\"\"
Mathieu Chartier [Fri, 29 Jul 2016 21:30:37 +0000 (21:30 +0000)]
Merge \"Revert \"Use try lock to fix class resolution race\"\"
am: 7707777f06

Change-Id: I1cd0bea29e785d45fd9b140fc2209826ff316c54

7 years agoMerge "Revert "Use try lock to fix class resolution race""
Treehugger Robot [Fri, 29 Jul 2016 21:23:49 +0000 (21:23 +0000)]
Merge "Revert "Use try lock to fix class resolution race""

7 years agoRevert "Use try lock to fix class resolution race"
Mathieu Chartier [Fri, 29 Jul 2016 20:06:45 +0000 (20:06 +0000)]
Revert "Use try lock to fix class resolution race"

This reverts commit a704eda0078989a73cac111ed309aca50d2e289b.

Bug: 27417671
Bug: 30500547
Change-Id: Ieea05236b9e61c722660cd9497c9d55d13ccd010

7 years agoMerge \"Add arena stack and priority queue type aliases\"
Matthew Gharrity [Fri, 29 Jul 2016 19:05:56 +0000 (19:05 +0000)]
Merge \"Add arena stack and priority queue type aliases\"
am: ea159431cd

Change-Id: Ia4db08fe011ee7e1eaadc8f0f221f71f146dbdfb

7 years agoMerge \"Revert \"Scan immune spaces using mod union tables.\"\"
Hiroshi Yamauchi [Fri, 29 Jul 2016 19:05:54 +0000 (19:05 +0000)]
Merge \"Revert \"Scan immune spaces using mod union tables.\"\"
am: b94ea458e7

Change-Id: I07be24b3ac8a58d041e8bf09857cb1209ab89c2c

7 years agoMerge "Add arena stack and priority queue type aliases"
Treehugger Robot [Fri, 29 Jul 2016 18:57:26 +0000 (18:57 +0000)]
Merge "Add arena stack and priority queue type aliases"

7 years agoMerge "Revert "Scan immune spaces using mod union tables.""
Treehugger Robot [Fri, 29 Jul 2016 18:52:16 +0000 (18:52 +0000)]
Merge "Revert "Scan immune spaces using mod union tables.""

7 years agoMerge \"ART: remove ART_JIT makefile variable\"
Colin Cross [Fri, 29 Jul 2016 18:10:20 +0000 (18:10 +0000)]
Merge \"ART: remove ART_JIT makefile variable\"
am: 8481f6390a

Change-Id: Id4cf81cfe8547ea03f09a2d1e4d592d58e9725a7

7 years agoMerge "ART: remove ART_JIT makefile variable"
Colin Cross [Fri, 29 Jul 2016 17:57:57 +0000 (17:57 +0000)]
Merge "ART: remove ART_JIT makefile variable"

7 years agoRevert "Scan immune spaces using mod union tables."
Hiroshi Yamauchi [Fri, 29 Jul 2016 17:41:01 +0000 (17:41 +0000)]
Revert "Scan immune spaces using mod union tables."

This reverts commit 8256da35feac0ba7589fcd4b692a4b9a936679a4.

Test failing.

Change-Id: I391dcbdba19c6f6313e06075b0a69ea406c7c50e

7 years agoAdd arena stack and priority queue type aliases
Matthew Gharrity [Fri, 29 Jul 2016 16:13:33 +0000 (09:13 -0700)]
Add arena stack and priority queue type aliases

These will be used in the graph coloring register allocator.

Test: m test-art-host

Change-Id: I4d3d063ae5a02e697f07fc8212f391b5347270e5

7 years agocpp-define-generator: "make art-update-cpp-defines" to regen asm_support
Igor Murashkin [Fri, 29 Jul 2016 16:19:44 +0000 (09:19 -0700)]
cpp-define-generator: "make art-update-cpp-defines" to regen asm_support

Change-Id: I1a550eda6c77f38e63bb1c8fb943541cbd3f9cdf

7 years agoMerge \"Pass the right class loader when inlining.\"
Nicolas Geoffray [Fri, 29 Jul 2016 14:34:09 +0000 (14:34 +0000)]
Merge \"Pass the right class loader when inlining.\"
am: 4c4d6f42cf

Change-Id: I8568aff8cf2323e43e0d15441827ded3edd417e1

7 years agoMerge "Pass the right class loader when inlining."
Nicolas Geoffray [Fri, 29 Jul 2016 14:28:44 +0000 (14:28 +0000)]
Merge "Pass the right class loader when inlining."

7 years agoART: remove gcc cruft from the makefiles
Colin Cross [Thu, 28 Jul 2016 23:01:42 +0000 (16:01 -0700)]
ART: remove gcc cruft from the makefiles

ART only builds with clang now, delete all logic to determine gcc
vs. clang, and move all LOCAL_CLANG_CFLAGS into LOCAL_CFLAGS.

Test: mma, make test-art-host, make test-art-target
Change-Id: I578615233ad3e71af18afb47bb11f3be8417216c

7 years agoART: remove ART_JIT makefile variable
Colin Cross [Thu, 28 Jul 2016 23:03:13 +0000 (16:03 -0700)]
ART: remove ART_JIT makefile variable

The ART_JIT variable isn't used (and was never used?).

Test: mma, make test-art-host, make test-art-target
Change-Id: Ie6463c3c13fab43504f3c60fd5a15f696e2cf481

7 years agoCreate OatFileAssistant::OatFileInfo inner class.
Richard Uhler [Tue, 19 Apr 2016 22:39:37 +0000 (15:39 -0700)]
Create OatFileAssistant::OatFileInfo inner class.

To share code reused for getting info about both the odex and oat files.

Test: oat file assistant tests.
Change-Id: Ifcc48e0ac481899285e39e3b02f3ade180e38728

7 years agoMerge \"Avoid read barrier for IntArray::GetArrayClass\"
Mathieu Chartier [Thu, 28 Jul 2016 22:56:42 +0000 (22:56 +0000)]
Merge \"Avoid read barrier for IntArray::GetArrayClass\"
am: 533d684038

Change-Id: I6f2843bd1b2683fa4e120baa8abf80f6a377580c

7 years agoMerge "Avoid read barrier for IntArray::GetArrayClass"
Mathieu Chartier [Thu, 28 Jul 2016 22:27:34 +0000 (22:27 +0000)]
Merge "Avoid read barrier for IntArray::GetArrayClass"

7 years agoAvoid read barrier for IntArray::GetArrayClass
Mathieu Chartier [Thu, 28 Jul 2016 18:02:38 +0000 (11:02 -0700)]
Avoid read barrier for IntArray::GetArrayClass

Changed the code use Mark instead of read barrier, this showed an
existing lock violation and possible deadlock which was fixed.
Prevent DCHECK failure from the assert.

Bug: 30469265
Test: test-art-host with CC

Change-Id: I275f953f06f6d13262043fc62eb88dca0356465a