OSDN Git Service

android-x86/art.git
7 years agoMIPS64: Adjust Base and Offset
Chris Larsen [Thu, 15 Dec 2016 19:44:14 +0000 (11:44 -0800)]
MIPS64: Adjust Base and Offset

Minimize the number of statements needed to load/store data at an
arbitrary offset from a base register.

Test: test-art-host-gtest
Test: ART_TEST_OPTIMIZING=true test-art-target-run-test

Change-Id: I76cc4b715dbb5b41c76b3c537fbd62bae8409bc0

7 years agoMerge "Finish adding checks to dex ir verification."
Treehugger Robot [Thu, 16 Mar 2017 04:28:35 +0000 (04:28 +0000)]
Merge "Finish adding checks to dex ir verification."

7 years agoFinish adding checks to dex ir verification.
Jeff Hao [Tue, 14 Mar 2017 23:13:39 +0000 (16:13 -0700)]
Finish adding checks to dex ir verification.

Adds missing checks for class defs, annotations, class data, code, etc.

Bug: 36107940
Test: mm test-art-host
Change-Id: Ifaac07299cf237827160c29b4230b0dc0845dc41

7 years agoMerge "Tweak ProfileSaver saving strategy"
Calin Juravle [Thu, 16 Mar 2017 01:15:16 +0000 (01:15 +0000)]
Merge "Tweak ProfileSaver saving strategy"

7 years agoMerge "Add more logging to OOM in fallback space DCHECK"
Treehugger Robot [Wed, 15 Mar 2017 23:41:51 +0000 (23:41 +0000)]
Merge "Add more logging to OOM in fallback space DCHECK"

7 years agoTweak ProfileSaver saving strategy
Calin Juravle [Wed, 15 Mar 2017 00:58:21 +0000 (17:58 -0700)]
Tweak ProfileSaver saving strategy

To minimize the I/O, we used to store the number of methods/classes we
last saved globally in the profiler saver. This is no longer viable once
we want to track secondary dex files for profiling because each file
might save a different set of methods.

To make sure we do not miss data for secondary dex profiles,
store the number of last saved methods separetely for each profile file.

Test: test-art-host
Bug: 26719109
Change-Id: I3a657f63d26f68c7ca83a754f6e4aa2c9d946176

7 years agoMerge "Revert "Introduce a number of MSA instructions for MIPS64""
Treehugger Robot [Wed, 15 Mar 2017 22:37:47 +0000 (22:37 +0000)]
Merge "Revert "Introduce a number of MSA instructions for MIPS64""

7 years agoAdd more logging to OOM in fallback space DCHECK
Mathieu Chartier [Wed, 15 Mar 2017 21:54:27 +0000 (14:54 -0700)]
Add more logging to OOM in fallback space DCHECK

Add more logging to find out if the object size is valid for its
region.

Bug: 36233460
Test: test-art-host
Change-Id: I046c2094a8964a95293b9abfdfa07050dc572482

7 years agoMerge "SIMD cmpeq for x86/x86_64"
Treehugger Robot [Wed, 15 Mar 2017 21:02:07 +0000 (21:02 +0000)]
Merge "SIMD cmpeq for x86/x86_64"

7 years agoRevert "Introduce a number of MSA instructions for MIPS64"
Aart Bik [Wed, 15 Mar 2017 20:37:50 +0000 (20:37 +0000)]
Revert "Introduce a number of MSA instructions for MIPS64"

This reverts commit dcabc8b740bf3066d59348ffdf21c164d2b27cb4.

Reason:
FAILING TESTS
valgrind-test-art-host-gtest-assembler_mips64_test32
ninja: build stopped: subcommand failed.
19:36:36 ninja failed with: exit status 1
make: *** [run_soong_ui] Error 1

Change-Id: If658375528d2a0f34bb6b22b6565fab1d863b3f5

7 years agoMerge "Revert "Add verification of knownfailures in the testrunner""
Alex Light [Wed, 15 Mar 2017 19:55:50 +0000 (19:55 +0000)]
Merge "Revert "Add verification of knownfailures in the testrunner""

7 years agoRevert "Add verification of knownfailures in the testrunner"
Alex Light [Wed, 15 Mar 2017 19:54:32 +0000 (19:54 +0000)]
Revert "Add verification of knownfailures in the testrunner"

This reverts commit 2a0e16d09c6888b646402582d909467b11e445c0.

Reason for revert: Causes chrome buildbots to break.

Change-Id: I9c9d02e37d20fbf423e73e166616d8e714dfdf18

7 years agoSIMD cmpeq for x86/x86_64
Aart Bik [Wed, 15 Mar 2017 18:19:35 +0000 (11:19 -0700)]
SIMD cmpeq for x86/x86_64

Rationale:
Break-out CL of ART Vectorizer.
Enables fast all-ones optimization.

Bug: 34083438
Test: assembler_x86[_64]_test
Change-Id: I70bd71305f2ecc322ccada5471c197a578c0526e

7 years agoMerge "Revert "Revert "Refactor annotation code for obsolete methods."""
Treehugger Robot [Wed, 15 Mar 2017 18:01:50 +0000 (18:01 +0000)]
Merge "Revert "Revert "Refactor annotation code for obsolete methods."""

7 years agoMerge "Add verification of knownfailures in the testrunner"
Treehugger Robot [Wed, 15 Mar 2017 17:32:17 +0000 (17:32 +0000)]
Merge "Add verification of knownfailures in the testrunner"

7 years agoMerge "Fix RegType invariant checks."
Treehugger Robot [Wed, 15 Mar 2017 17:27:15 +0000 (17:27 +0000)]
Merge "Fix RegType invariant checks."

7 years agoRevert "Revert "Refactor annotation code for obsolete methods.""
Alex Light [Wed, 15 Mar 2017 15:35:46 +0000 (15:35 +0000)]
Revert "Revert "Refactor annotation code for obsolete methods.""

The number of InterruptedExceptions created during runtime shutdown is
sometimes inconsistent so we will filter those out of the test results.

This reverts commit 65e0775010121498a37fa26c64fcc5bb17a6c1b5.

Reason for revert: Fixed issue with test flakes

Bug: 31455788
Test: stress --cpu 60; while ./test/run-test --host 980; do; done

Change-Id: Idf53ea11ceec1f48c433da468b31092bf230de57

7 years agoMerge "SIMD and-not for x86/x86_64"
Aart Bik [Wed, 15 Mar 2017 15:59:10 +0000 (15:59 +0000)]
Merge "SIMD and-not for x86/x86_64"

7 years agoMerge "Introduce a number of MSA instructions for MIPS64"
Aart Bik [Wed, 15 Mar 2017 15:58:56 +0000 (15:58 +0000)]
Merge "Introduce a number of MSA instructions for MIPS64"

7 years agoMerge "Only look at vdex related access flags for class/fields/methods."
Nicolas Geoffray [Wed, 15 Mar 2017 12:50:30 +0000 (12:50 +0000)]
Merge "Only look at vdex related access flags for class/fields/methods."

7 years agoOnly look at vdex related access flags for class/fields/methods.
Nicolas Geoffray [Wed, 8 Mar 2017 15:27:09 +0000 (15:27 +0000)]
Only look at vdex related access flags for class/fields/methods.

class/fields/methods can have a lot of flags, but only a handful
of them affect verification.

bug: 35913145
test: verifier_deps_test
Change-Id: I5c374b50e811b5e134cdb868a2cc674900a1bdec

7 years agoMerge "MIPS64: Improve storing of constants in fields and array elements"
Treehugger Robot [Wed, 15 Mar 2017 12:41:15 +0000 (12:41 +0000)]
Merge "MIPS64: Improve storing of constants in fields and array elements"

7 years agoMerge "ARM64: Improve LocationBuilder for Shifts and IntermediateAddress."
Nicolas Geoffray [Wed, 15 Mar 2017 10:37:59 +0000 (10:37 +0000)]
Merge "ARM64: Improve LocationBuilder for Shifts and IntermediateAddress."

7 years agoMerge "Revert^2 "Hash-based DexCache field array.""
Treehugger Robot [Wed, 15 Mar 2017 10:33:16 +0000 (10:33 +0000)]
Merge "Revert^2 "Hash-based DexCache field array.""

7 years agoFix RegType invariant checks.
Vladimir Marko [Tue, 14 Mar 2017 15:44:22 +0000 (15:44 +0000)]
Fix RegType invariant checks.

Move the checks from the base constructor to constructors of
the most derived classes. While in the base constructor, the
vtable points to the base class implementations of virtual
function, so we were not checking what we intended. And when
the check failed, we tried to call a pure virtual function
RegType::Dump() and crashed while constructing an abort
message.

Also, avoid an unnecessary std::string construction in
RegType::CheckInvariants() as StringPiece can be compared
with const char* directly.

Test: testrunner.py --host
Bug: 32548008
Change-Id: Ice7ca298132f87f8b1671b6578aeec221f0e7930

7 years agoMerge "Make image oat checksum depend on secondary images."
Richard Uhler [Wed, 15 Mar 2017 08:45:56 +0000 (08:45 +0000)]
Merge "Make image oat checksum depend on secondary images."

7 years agoMerge "Revert "Refactor annotation code for obsolete methods.""
Nicolas Geoffray [Wed, 15 Mar 2017 06:59:11 +0000 (06:59 +0000)]
Merge "Revert "Refactor annotation code for obsolete methods.""

7 years agoRevert "Refactor annotation code for obsolete methods."
Nicolas Geoffray [Wed, 15 Mar 2017 06:56:35 +0000 (06:56 +0000)]
Revert "Refactor annotation code for obsolete methods."

Test has flakes.
Bug: 31455788

This reverts commit 672a0b75c91af44749b1e946684e6a65a884d778.

Change-Id: If00ecbd31abe204bcaf8341eceb674e07c0ac8f2

7 years agoMerge "Revert "Update header include for jvmti.h""
Nicolas Geoffray [Wed, 15 Mar 2017 06:58:38 +0000 (06:58 +0000)]
Merge "Revert "Update header include for jvmti.h""

7 years agoRevert "Update header include for jvmti.h"
Nicolas Geoffray [Wed, 15 Mar 2017 06:58:18 +0000 (06:58 +0000)]
Revert "Update header include for jvmti.h"

Test has flakes

This reverts commit 6cd641f1c4c05ece4e0189363b2da98eab0a720f.

Change-Id: Iddb6a91924a1de4f7e7e7f38e738adf38d61a34d

7 years agoMerge "Revert "Revert "Revert "CHA for interface method.""""
Nicolas Geoffray [Wed, 15 Mar 2017 06:29:09 +0000 (06:29 +0000)]
Merge "Revert "Revert "Revert "CHA for interface method.""""

7 years agoRevert "Revert "Revert "CHA for interface method."""
Nicolas Geoffray [Wed, 15 Mar 2017 06:28:52 +0000 (06:28 +0000)]
Revert "Revert "Revert "CHA for interface method."""

Breaks libcore tests.

This reverts commit 8f301e26943c53485abc2da5ff1907f7c2e0ff0c.

Change-Id: Iea46176118be9e05aceb06f2d290961bb1f38265

7 years agoMerge "Fix knownfailures for test 152/154"
Mathieu Chartier [Wed, 15 Mar 2017 03:54:22 +0000 (03:54 +0000)]
Merge "Fix knownfailures for test 152/154"

7 years agoMerge "Update header include for jvmti.h"
Alex Light [Tue, 14 Mar 2017 21:37:05 +0000 (21:37 +0000)]
Merge "Update header include for jvmti.h"

7 years agoUpdate header include for jvmti.h
Alex Light [Tue, 14 Mar 2017 21:33:32 +0000 (14:33 -0700)]
Update header include for jvmti.h

Test: ./test/testrunner/testrunner.py --host -j40 -t 980-redefine-object
Change-Id: I516936595926669f5049bf725e1ce52bc447b190

7 years agoMerge "Refactor annotation code for obsolete methods."
Treehugger Robot [Tue, 14 Mar 2017 21:10:32 +0000 (21:10 +0000)]
Merge "Refactor annotation code for obsolete methods."

7 years agoMerge "Fix SSA liveness analysis test."
Vladimir Marko [Tue, 14 Mar 2017 20:02:10 +0000 (20:02 +0000)]
Merge "Fix SSA liveness analysis test."

7 years agoMerge "Don't send ClassFileLoadHook before JVMTI_PHASE_START."
Treehugger Robot [Tue, 14 Mar 2017 19:11:02 +0000 (19:11 +0000)]
Merge "Don't send ClassFileLoadHook before JVMTI_PHASE_START."

7 years agoRevert^2 "Hash-based DexCache field array."
Vladimir Marko [Tue, 14 Mar 2017 14:18:46 +0000 (14:18 +0000)]
Revert^2 "Hash-based DexCache field array."

Test: testrunner.py --host --interpreter
Bug: 30627598

This reverts commit 6374c58f2ea403b3a05fb27376110fe4d0fc8e3f.

Change-Id: I275508e288a85d3aa08f7405a1a4f362af43b775

7 years agoMerge "Revert^6 "Hash-based dex cache type array.""
Vladimir Marko [Tue, 14 Mar 2017 19:01:01 +0000 (19:01 +0000)]
Merge "Revert^6 "Hash-based dex cache type array.""

7 years agoAdd verification of knownfailures in the testrunner
Shubham Ajmera [Mon, 13 Mar 2017 17:51:14 +0000 (10:51 -0700)]
Add verification of knownfailures in the testrunner

Add verification checks in testrunner for
knownfailures entries.
Removed 554-jit-profile-file, 555-checker-regression-x86const entries,
as it doesn't exist anymore.

Also, unified the format of entries to use tests for all the
cases.

Bug: 36164293
Test: ./art/test/testrunner/testrunner.py --host -64
Change-Id: I2fb4d1a3dd34b76d314323db17c8a1c771545b28

7 years agoMerge "ART: Refactor libopenjdkjvmti"
Treehugger Robot [Tue, 14 Mar 2017 18:45:04 +0000 (18:45 +0000)]
Merge "ART: Refactor libopenjdkjvmti"

7 years agoFix knownfailures for test 152/154
Mathieu Chartier [Tue, 14 Mar 2017 18:31:16 +0000 (11:31 -0700)]
Fix knownfailures for test 152/154

Change jit exemption to jit & debug. Add missing bug numbers.
Fix typo from "tests" to "test".

Bug: 35917229
Bug: 35800768

Test: test/testrunner/testrunner.py  --host --jit -j32

Change-Id: I5f1039b4b2b6b533360824a5667075365e08d0fd

7 years agoFix SSA liveness analysis test.
Vladimir Marko [Tue, 14 Mar 2017 18:07:35 +0000 (18:07 +0000)]
Fix SSA liveness analysis test.

Create a persistent CompilerOptions object instead of
passing a temporary to the codegen.

Test: m valgrind-test-art-host-gtest-ssa_liveness_analysis_test
Change-Id: Icccf6aec0d024917aa1895d0804a79866f3cae43

7 years agoMerge "Revert "Revert "CHA for interface method."""
Mingyao Yang [Tue, 14 Mar 2017 17:31:33 +0000 (17:31 +0000)]
Merge "Revert "Revert "CHA for interface method."""

7 years agoRefactor annotation code for obsolete methods.
Alex Light [Fri, 10 Mar 2017 21:09:57 +0000 (13:09 -0800)]
Refactor annotation code for obsolete methods.

Reading annotations on obsolete ArtMethod* objects would cause
problems due to reading from the wrong dex file. We refactored that
code so now it always uses the correct dex file when reading
annotations. This was rarely a problem since obsolete ArtMethods are
only ever exposed to the runtime itself which rarely reads
annotations.

We also add a test for redefining Object.class. This is one of the
small number of classes where the runtime will read it's annotations
off of obsolete methods.

Bug: 31455788
Test: ./test/testrunner/testrunner.py --host -j40
Change-Id: I5f1c58464b89a7a9198a7b26b015b102a7dc9c2f

7 years agoMerge "Added missing flags in run_build_test_target.py"
Treehugger Robot [Tue, 14 Mar 2017 16:44:53 +0000 (16:44 +0000)]
Merge "Added missing flags in run_build_test_target.py"

7 years agoIntroduce a number of MSA instructions for MIPS64
Goran Jakovljevic [Fri, 10 Mar 2017 10:53:48 +0000 (11:53 +0100)]
Introduce a number of MSA instructions for MIPS64

Added a number of MSA (The MIPS SIMD Architecture) instructions.
Added assembler tests for each instruction.
Made necessary changes in disassembler for these instructions.

Test: mma test-art-host-gtest

Change-Id: I380f02c6ae5424a96ad999037153228acb07a108

7 years agoMerge "ARM64: Fix lack of scratch registers in String.equals() intrinsic."
Treehugger Robot [Tue, 14 Mar 2017 15:29:22 +0000 (15:29 +0000)]
Merge "ARM64: Fix lack of scratch registers in String.equals() intrinsic."

7 years agoART: Refactor libopenjdkjvmti
Andreas Gampe [Mon, 13 Mar 2017 20:10:00 +0000 (13:10 -0700)]
ART: Refactor libopenjdkjvmti

Move jvmti.h to its own folder and fix up include setup.

Bug: 31455788
Test: m
Change-Id: I5beb66fc5d0178746216f61f9214cda54fc2c7ac

7 years agoARM64: Fix lack of scratch registers in String.equals() intrinsic.
Vladimir Marko [Tue, 14 Mar 2017 13:37:14 +0000 (13:37 +0000)]
ARM64: Fix lack of scratch registers in String.equals() intrinsic.

Test: testrunner.py --target -t 021-string2 (on Nexus 6P)
Bug: 36127106
Change-Id: I1e46af69a80b7025931be662cbafa10165f9c47e

7 years agoRevert^6 "Hash-based dex cache type array."
Vladimir Marko [Tue, 14 Mar 2017 10:13:21 +0000 (10:13 +0000)]
Revert^6 "Hash-based dex cache type array."

Fixed ImageWriter to write class table also if it contains
only boot class loader classes. Added a regression test and
added extra checks for debug-build to verify that dex cache
types from app image are also in the class table. Removed
some unnecessary debug output.

Test: 158-app-image-class-table
Bug: 34839984
Bug: 30627598
Bug: 34659969

This reverts commit 0b66d6174bf1f6023f9d36dda8538490b79c2e9f.

Change-Id: I6a747904940c6ebc297f4946feef99dc0adf930c

7 years agoMerge "Introduce EnvUsePosition for liveness analysis."
Vladimir Marko [Tue, 14 Mar 2017 10:11:18 +0000 (10:11 +0000)]
Merge "Introduce EnvUsePosition for liveness analysis."

7 years agoMerge "Revert "ARM: VIXL32: Use VIXL backend by default.""
Nicolas Geoffray [Tue, 14 Mar 2017 09:10:41 +0000 (09:10 +0000)]
Merge "Revert "ARM: VIXL32: Use VIXL backend by default.""

7 years agoRevert "ARM: VIXL32: Use VIXL backend by default."
Nicolas Geoffray [Tue, 14 Mar 2017 08:57:02 +0000 (08:57 +0000)]
Revert "ARM: VIXL32: Use VIXL backend by default."

Revert while investigating.

bug:35977033

This reverts commit e6316892821287b1d1906b9962eae129fbdc37be.

Change-Id: I51e24a6e539072a6d0d470dfe41855a4847f3e96

7 years agoMIPS64: Improve storing of constants in fields and array elements
Tijana Jakovljevic [Fri, 10 Mar 2017 12:36:08 +0000 (13:36 +0100)]
MIPS64: Improve storing of constants in fields and array elements

Test: booted MIPS64 in QEMU
Test: mma test-art-target-run-test
Test: mma test-art-host-gtest-assembler_mips64_test

Change-Id: I8e0002166174eebea1309358eb9d96f34eee3225

7 years agoMerge "Added new -v option to dexlayout to verify output dex file."
Treehugger Robot [Tue, 14 Mar 2017 02:33:20 +0000 (02:33 +0000)]
Merge "Added new -v option to dexlayout to verify output dex file."

7 years agoDon't send ClassFileLoadHook before JVMTI_PHASE_START.
Alex Light [Mon, 27 Feb 2017 18:52:29 +0000 (10:52 -0800)]
Don't send ClassFileLoadHook before JVMTI_PHASE_START.

All the classes we load prior to transitioning into JVMTI_PHASE_START
are tightly coupled into the runtime itself. For this reason
redefining them in the ways allowed by the ClassFileLoadHook during
first load could cause difficult to diagnose problems with the
runtime. Since there is no good way to determine if the new definition
is safe nor to report that the definition was ignored we instead
simply do not send this event during this stage of runtime
initialization.

Test: ./test/testrunner/testrunner.py --host -j40 -b
Change-Id: I813f2ced49a2a85e485a6f2cf94edb024799c5c0

7 years agoAdded new -v option to dexlayout to verify output dex file.
Jeff Hao [Mon, 13 Mar 2017 23:24:24 +0000 (16:24 -0700)]
Added new -v option to dexlayout to verify output dex file.

Passing -v will cause dexlayout to do an IR level comparison of the
output with the original input dex file. This checks that the data in
the dex files are the same, but allows for different offsets since the
output dex file may have a different layout.

Test: mm test-art-host
Bug: 36107940
Change-Id: If75a93973ffdd2d91111727f089713c800d8cee8

7 years agoAdded missing flags in run_build_test_target.py
Shubham Ajmera [Thu, 9 Mar 2017 18:15:49 +0000 (10:15 -0800)]
Added missing flags in run_build_test_target.py

Added --host flag for run-test and replaced test-art-gtest with
test-art-host-gtest to only run tests on host.

With a change in arg parsers, there is no need to put additional
--build-target flag.
For e.g.,
./test/testrunner/run_build_test_target.py  art-interpreter -j64
./test/testrunner/run_build_test_target.py  -j64 art-interpreter

Both of them will build and run target for art-interprerter.

Test: ./test/testrunner/run_build_test_target.py  art-interpreter -j64
      ./test/testrunner/run_build_test_target.py  -j64 art-interpreter

Change-Id: I8e7c108082319a9214905854edefd0abc8343f2a

7 years agoMerge "Fix issues due to updated toolchain."
Treehugger Robot [Mon, 13 Mar 2017 21:27:28 +0000 (21:27 +0000)]
Merge "Fix issues due to updated toolchain."

7 years agoMerge "Testrunner: Print information about the total tests run"
Treehugger Robot [Mon, 13 Mar 2017 19:02:45 +0000 (19:02 +0000)]
Merge "Testrunner: Print information about the total tests run"

7 years agoSIMD and-not for x86/x86_64
Aart Bik [Mon, 13 Mar 2017 18:52:07 +0000 (11:52 -0700)]
SIMD and-not for x86/x86_64

Rationale:
Break-out CL of ART Vectorizer.
Enables and-not optimization.

Bug: 34083438
Test: assembler_x86[_64]_test
Change-Id: I8fa61d88f9f014973b0d9707d39be56a7f995db8

7 years agoIntroduce EnvUsePosition for liveness analysis.
Vladimir Marko [Wed, 1 Mar 2017 12:01:11 +0000 (12:01 +0000)]
Introduce EnvUsePosition for liveness analysis.

Normal and environment use positions are held in separate
lists and the code never mixes them together. By using two
separate classes, we can reduce complexity and avoid an
unnecesary data member, reducing the memory usage.

Tracking allocations for a certain big app, the peak arena
memory usage is
  before:
    MEM: used: 79245960, ...
    SsaLiveness    31221600
  after:
    MEM: used: 78754024, ...
    SsaLiveness    30729664

Test: testrunner.py --host
Bug: 34053922
Change-Id: I02d3c9f564bbe3b1da0e03c33cf7c0f810f235dc

7 years agoMerge "Revert^5 "Hash-based dex cache type array.""
Treehugger Robot [Mon, 13 Mar 2017 17:44:24 +0000 (17:44 +0000)]
Merge "Revert^5 "Hash-based dex cache type array.""

7 years agoTestrunner: Print information about the total tests run
Shubham Ajmera [Mon, 13 Mar 2017 16:54:23 +0000 (09:54 -0700)]
Testrunner: Print information about the total tests run

Bug: 35985100
Test: manual
Change-Id: I879637e8c06ca401cd2a9c10111b4408300a7fcd

7 years agoMerge "Revert "Hash-based DexCache field array.""
Treehugger Robot [Mon, 13 Mar 2017 16:22:20 +0000 (16:22 +0000)]
Merge "Revert "Hash-based DexCache field array.""

7 years agoMake image oat checksum depend on secondary images.
Richard Uhler [Fri, 10 Mar 2017 14:27:10 +0000 (14:27 +0000)]
Make image oat checksum depend on secondary images.

Rather than explicitly having to load and combine the checksums from
secondary images in the case of multi-image, have the image oat
checksum for the primary image depend on the contents of all the
images.

Bug: 35659889
Bug: 34385298
Bug: 35992406

Test: test-art-host
Test: Manually add field to ZygoteInit, update boot image, verify image
      is properly relocated and used on device.
Change-Id: I38bd957d165682edabd0fd1874e8ef7acf923deb

7 years agoRevert^5 "Hash-based dex cache type array."
Vladimir Marko [Mon, 13 Mar 2017 14:50:04 +0000 (14:50 +0000)]
Revert^5 "Hash-based dex cache type array."

For app images, ImageWriter does not add boot image
classes to the app image class table even though it
keeps them in the dex caches. The reason for that is
unknown, the code looks OK.

Bug: 34839984
Bug: 30627598
Bug: 34659969

Also reverts "Improve debugging output for a crash."

This reverts commits
    bfb80d25eaeb7a604d5dd25a370e3869e96a33ab,
    8dd56fcb3196f466ecaffd445397cb11ef85f89f.

Test: testrunner.py --host
Change-Id: Ic8db128207c07588c7f11563208ae1e85c8b0e84

7 years agoRevert "Hash-based DexCache field array."
Vladimir Marko [Mon, 13 Mar 2017 14:51:19 +0000 (14:51 +0000)]
Revert "Hash-based DexCache field array."

Reverting to allow rebasing the revert
    https://android-review.googlesource.com/351689
without too many conflicts.

Bug: 30627598

This reverts commit 1aea3510b8dd0c512cec61c91c5ef1f1e5d53d64.

Change-Id: I4af65e9f41c8bad8106c028947eca7c5a9534c53

7 years agoMerge "ART: String intrinsics for Mterp interpreter"
Bill Buzbee [Mon, 13 Mar 2017 12:47:04 +0000 (12:47 +0000)]
Merge "ART: String intrinsics for Mterp interpreter"

7 years agoMerge "Fix dex file verification check for dexlayout output file."
Treehugger Robot [Sat, 11 Mar 2017 02:29:10 +0000 (02:29 +0000)]
Merge "Fix dex file verification check for dexlayout output file."

7 years agoFix dex file verification check for dexlayout output file.
Jeff Hao [Sat, 11 Mar 2017 01:05:01 +0000 (17:05 -0800)]
Fix dex file verification check for dexlayout output file.

For debug builds, we want to run the output dex file through the dex
file verifier as a sanity check. The initial check was actually checking
the input dex file again...

Bug: 36107940
Test: mm test-art-host
Change-Id: Ibd434d67f661c325a443d4ca9cced481e7a9b02c

7 years agoFix issues due to updated toolchain.
Jayant Chowdhary [Tue, 28 Feb 2017 18:54:20 +0000 (10:54 -0800)]
Fix issues due to updated toolchain.

Test: mma -j64 showcommands > make_log in platform/art. Also able to
produce abi dumps using header-abi-dumper.

Bug: 35845221

Change-Id: I569a1abff8df86da65af869b1c766ddeebf59ff4

7 years agoMerge "Ensure we have the correct thread when allocating obsolete methods."
Treehugger Robot [Fri, 10 Mar 2017 23:56:39 +0000 (23:56 +0000)]
Merge "Ensure we have the correct thread when allocating obsolete methods."

7 years agoEnsure we have the correct thread when allocating obsolete methods.
Alex Light [Fri, 10 Mar 2017 22:29:22 +0000 (14:29 -0800)]
Ensure we have the correct thread when allocating obsolete methods.

We were using the incorrect thread to allocate memory for obsolete
methods. This could cause DCHECK failures as one tries to lock a mutex
with a non-running thread.

Bug: 31455788
Test: ./test/testrunner/testrunner.py --host -j40
Change-Id: I650d480a2e6e341509ad1f023398ebcc01913baa

7 years agoART: String intrinsics for Mterp interpreter
buzbee [Thu, 9 Mar 2017 21:51:23 +0000 (13:51 -0800)]
ART: String intrinsics for Mterp interpreter

Adds the most common java.lang.string intrinsics.  Includes change
to jvalue handling to zero-exend setting of chars and booleans to
64 bits (aligns with current sign-extension of shorts and ints).

Bug: 30933338

Benchmarks:
  2x boost for Caffeinemark String
  11% improvement for Dhrystone

Test: ART_TEST_INTERPRETER=true m test-art-host
Test: ART_TEST_INTERPRETER=true m test-art-target (Bullhead)

Note: Added intrinsics have existing test coverage via
082-inline-execute and 123-inline-execute2.

Change-Id: I64b35b1d7bdfe14da0c662594c0edf5cde667277

7 years agoMerge "ARM: VIXL32: Improve BoundsCheck for constant inputs."
Treehugger Robot [Fri, 10 Mar 2017 18:23:15 +0000 (18:23 +0000)]
Merge "ARM: VIXL32: Improve BoundsCheck for constant inputs."

7 years agoMerge "Add section size statistics"
David Sehr [Fri, 10 Mar 2017 18:08:50 +0000 (18:08 +0000)]
Merge "Add section size statistics"

7 years agoMerge "ARM: Generate UBFX for HAnd"
Treehugger Robot [Fri, 10 Mar 2017 17:23:46 +0000 (17:23 +0000)]
Merge "ARM: Generate UBFX for HAnd"

7 years agoAdd section size statistics
David Sehr [Thu, 9 Mar 2017 16:02:44 +0000 (08:02 -0800)]
Add section size statistics

Add an option to display the size of dex file sections for easier
analysis.

Bug: none
Test: test-art-host

Change-Id: I779f776657ad79e7a50c18c2b9486e6778c70f13

7 years agoARM: Generate UBFX for HAnd
Anton Kirilov [Tue, 28 Feb 2017 16:59:15 +0000 (16:59 +0000)]
ARM: Generate UBFX for HAnd

Test: m test-art-target-run-test-538-checker-embed-constants
Change-Id: I8e6af76b99543331e8ffec01bd8df3f09890708e

7 years agoMerge "Hash-based DexCache field array."
Treehugger Robot [Fri, 10 Mar 2017 15:13:31 +0000 (15:13 +0000)]
Merge "Hash-based DexCache field array."

7 years agoARM: VIXL32: Improve BoundsCheck for constant inputs.
Artem Serov [Wed, 8 Mar 2017 14:54:06 +0000 (14:54 +0000)]
ARM: VIXL32: Improve BoundsCheck for constant inputs.

Test: mma test-art-host && mma test-art-target

Change-Id: I05051c03dbd3684c674096def84020494d28364b

7 years agoHash-based DexCache field array.
Vladimir Marko [Thu, 8 Dec 2016 11:39:42 +0000 (11:39 +0000)]
Hash-based DexCache field array.

Test: m test-art-host, both AOT and interpreter
Test: m test-art-target, both AOT and interpreter
Test: m valgrind-test-art-host
Bug: 30627598
Change-Id: If992f091aadd862d17b09928d21659573dd285a0

7 years agoMerge "When profiles are requested, also generate then for non-prebuild."
Nicolas Geoffray [Fri, 10 Mar 2017 09:45:35 +0000 (09:45 +0000)]
Merge "When profiles are requested, also generate then for non-prebuild."

7 years agoWhen profiles are requested, also generate then for non-prebuild.
Nicolas Geoffray [Fri, 10 Mar 2017 09:38:35 +0000 (09:38 +0000)]
When profiles are requested, also generate then for non-prebuild.

Test: test-art-host-run-test-debug-no-prebuild-optimizing-no-relocate-ntrace-cms-checkjni-picimage-npictest-ndebuggable-638-checker-inline-caches
Change-Id: Ib9243d453b723eda894f98a0fd25cea155251003

7 years agoMerge "Add dex file verification check for dexlayout output file."
Treehugger Robot [Fri, 10 Mar 2017 04:15:03 +0000 (04:15 +0000)]
Merge "Add dex file verification check for dexlayout output file."

7 years agoMerge "Catch signals that happen inside a fault handler."
Treehugger Robot [Fri, 10 Mar 2017 02:49:48 +0000 (02:49 +0000)]
Merge "Catch signals that happen inside a fault handler."

7 years agoMerge "ART: Make test 924 more robust"
Treehugger Robot [Fri, 10 Mar 2017 02:35:01 +0000 (02:35 +0000)]
Merge "ART: Make test 924 more robust"

7 years agoAdd dex file verification check for dexlayout output file.
Jeff Hao [Fri, 10 Mar 2017 02:14:48 +0000 (18:14 -0800)]
Add dex file verification check for dexlayout output file.

For debug builds, run the output dex file of dexlayout through the dex
file verifier as a sanity check.

Bug: 36107940
Test: mm test-art-host
Change-Id: I2b556db32cfd360cc4fe8d1d080508deebd27aa0

7 years agoMerge "Use offline inline caches during AOT compilation"
Calin Juravle [Fri, 10 Mar 2017 01:15:19 +0000 (01:15 +0000)]
Merge "Use offline inline caches during AOT compilation"

7 years agoUse offline inline caches during AOT compilation
Calin Juravle [Tue, 21 Feb 2017 09:17:21 +0000 (01:17 -0800)]
Use offline inline caches during AOT compilation

Also:
- extend the testing script to understand profile when --profile is
passed
- filter inline cache types which are not loaded by the caller class
loader

Test: m test-art-host-run-test-638-checker-inline-caches
Bug: 32434870
Change-Id: Ifcc27b3cebc79b84617412aaae64a73324151b55

7 years agoMerge "Do not allow input-vdex with dexlayout."
Nicolas Geoffray [Thu, 9 Mar 2017 20:56:53 +0000 (20:56 +0000)]
Merge "Do not allow input-vdex with dexlayout."

7 years agoDo not allow input-vdex with dexlayout.
Nicolas Geoffray [Thu, 9 Mar 2017 13:13:25 +0000 (13:13 +0000)]
Do not allow input-vdex with dexlayout.

input-vdex and dexlayout are incompatible with each other.

bug: 36084905
bug: 36076104
bug: 36059948
bug: 35872504

Test: device boots, vdex works on OTA, input-vdex is not passed
      for speed-profile.

Change-Id: I630c90acf0a8f49f50b7909e2dec995dd4a4d13f

7 years agoART: Make test 924 more robust
Andreas Gampe [Thu, 9 Mar 2017 18:21:58 +0000 (10:21 -0800)]
ART: Make test 924 more robust

To avoid rare scheduling issues, add a loop checking the Java-side
Thread state.

Bug: 35987799
Test: m test-art-host-run-test-924-threads
Change-Id: I0433d6f09684579ca1c03d335674a8013da05034

7 years agoMerge "Update UnstartedRuntime for System.identityHashCode."
Nicolas Geoffray [Thu, 9 Mar 2017 16:33:23 +0000 (16:33 +0000)]
Merge "Update UnstartedRuntime for System.identityHashCode."

7 years agoMerge "ARM(64): Improve the code generated for HSelect"
Treehugger Robot [Thu, 9 Mar 2017 15:11:23 +0000 (15:11 +0000)]
Merge "ARM(64): Improve the code generated for HSelect"

7 years agoARM64: Improve LocationBuilder for Shifts and IntermediateAddress.
Artem Serov [Fri, 23 Sep 2016 12:34:31 +0000 (13:34 +0100)]
ARM64: Improve LocationBuilder for Shifts and IntermediateAddress.

Add Location::kNoOutputOverlap for OutRegister.

Test: m test-art-target; m test-art-host

Change-Id: Ic8e2f3088427b96a16fcd97b8f5fa6f19325e127

7 years agoMerge changes Ia26b07f0,Id3d2758c
Roland Levillain [Thu, 9 Mar 2017 13:02:12 +0000 (13:02 +0000)]
Merge changes Ia26b07f0,Id3d2758c

* changes:
  Revert "Revert "Use the holder's gray bit in Baker read barrier slow paths (ARM, ARM64).""
  Revert "Revert "Use the "GC is marking" information in compiler read barriers (ARM, ARM64).""