OSDN Git Service

android-x86/art.git
7 years agoMerge "Allow stripped APK to be compiled with a vdex." into oc-dev
Nicolas Geoffray [Fri, 5 May 2017 08:09:06 +0000 (08:09 +0000)]
Merge "Allow stripped APK to be compiled with a vdex." into oc-dev

7 years agoMerge "Fixed bug due to not updating TC information (with regression test)" into...
Aart Bik [Thu, 4 May 2017 15:58:40 +0000 (15:58 +0000)]
Merge "Fixed bug due to not updating TC information (with regression test)" into oc-dev

7 years agoAllow stripped APK to be compiled with a vdex.
Nicolas Geoffray [Tue, 25 Apr 2017 16:36:51 +0000 (17:36 +0100)]
Allow stripped APK to be compiled with a vdex.

bug: 37558732
Test: oat_file_assistant_test
Test: "adb shell cmd package compile" of a stripped /system apk

(cherry picked from commit 08e9eed8f609c0917b27e15a6bfb5a05d8cb3e2b)

Change-Id: I26afa07936ef8270eda91349ce8d2f742c3b0caf

7 years agoMerge "Update knownfailures.json." into oc-dev
Nicolas Geoffray [Thu, 4 May 2017 08:36:29 +0000 (08:36 +0000)]
Merge "Update knownfailures.json." into oc-dev

7 years agoMerge "runtime: Properly unload partially loaded image spaces" into oc-dev
TreeHugger Robot [Wed, 3 May 2017 23:11:44 +0000 (23:11 +0000)]
Merge "runtime: Properly unload partially loaded image spaces" into oc-dev

7 years agoFixed bug due to not updating TC information
Aart Bik [Wed, 3 May 2017 21:29:20 +0000 (14:29 -0700)]
Fixed bug due to not updating TC information
(with regression test)

Bug: 37768917
Test: test-art-target, test-art-host

(cherry picked from commit e22445fba0e5747ea787429ac64577a9a62aded3)

Change-Id: I505106ef7ab8eed1e37067b39d6ef657ee234292

7 years agoMerge "Increase profile saver minimum save period to 40 seconds" into oc-dev
Calin Juravle [Wed, 3 May 2017 18:41:49 +0000 (18:41 +0000)]
Merge "Increase profile saver minimum save period to 40 seconds" into oc-dev

7 years agoMerge "inliner: Do not assume that the outermost_graph has an art method" into oc-dev
Calin Juravle [Wed, 3 May 2017 18:24:14 +0000 (18:24 +0000)]
Merge "inliner: Do not assume that the outermost_graph has an art method" into oc-dev

7 years agoruntime: Properly unload partially loaded image spaces
Igor Murashkin [Tue, 2 May 2017 22:58:02 +0000 (15:58 -0700)]
runtime: Properly unload partially loaded image spaces

When one of the (non-app) image space successfully loads,
it sets up runtime callee-save methods.

If it is later unloaded, callee-save methods are now pointing to memory
that is no longer valid (viewed as all 0s in the debugger).

Runtime::Init skips creating its own runtime methods if it already sees
that the runtime methods were set to non-null, thus dangling runtime
methods.

This crash would nominally manifest itself in unwinding the first time, or as a DCHECK
failure in the interpreter bridge invocation during aborting if debugging was enabled.

To get into this state:
* Fill up the /data partition (but perhaps leave a little bit of room
for one image, but not all images)
* Reboot the device or run zygote manually.

(cherry picked from commit 8275fbaccc012072948a16f537844a552db9be84)

Test: adb shell dd if=/dev/zero of=/data/local/tmp/tempFiller.deleteMe bs=1024 count=50g ; adb reboot
Bug: 36033084
Change-Id: I728c1058b003fcf5e98dc2746d53e44b688c4605

7 years agoinliner: Do not assume that the outermost_graph has an art method
Calin Juravle [Sat, 29 Apr 2017 02:58:01 +0000 (19:58 -0700)]
inliner: Do not assume that the outermost_graph has an art method

The outermost method may be in an unresolved class. If that's the case
do not assume anything about the referrer in HLoadClass.

Test: m test-art-host
Bug: 37588888

(cherry picked from commit 07f01dfa26e97f48662b6ef40fdc0926cecd7664)

Change-Id: If9974195a0b5d026c1eb16477f9cd95e83c911ec

7 years agoIncrease profile saver minimum save period to 40 seconds
Calin Juravle [Mon, 1 May 2017 22:14:44 +0000 (15:14 -0700)]
Increase profile saver minimum save period to 40 seconds

We save much more data with the addition of inline caches. Balance
amount of data with save period: save more but less often.
This relies on the assumptions that the number of apps being killed
in less than 40 seconds is actually small.

The 40 seconds number is pulled mostly out of thin air. Some
experiments show that we don't necessarily lose data when increasing
the period. I only looked at file sizes and the number of profile writes
to verify that we get a comparable amount of information between 20 and
40 seconds. (I did not do a delta on the profile content).

The test scenario was:
- clear all profiles
- boot the device and let it settle for 2 minutes
- open maps and navigate to a destination, search for restaurants
- open gmail and send an email
- open playstore and inspect the top charts
- open youtube and play a video
- open docs and write in a document
- all app interaction are kept below 40 seconds
- wait 1 minute to settle any pending saves
- take a bug report and look at profile stats

With 20 seconds: 43 profile writes, summing 1605610 bytes.
With 40 seconds: 35 profile writes, summing 1243217 bytes.

There is the obvious trade-off that apps being killed in less than
40 seconds will not get profiles.

Bug: 36281963
Test: m test-art-host
      manual device tests to verify the profile gets saved

(cherry picked from commit 806843aa293d45d88edeccd49eb5d281ff7d844f)

Change-Id: I8108c8fe41616fb14c710f8f015c50ff332d1e6b

7 years agoUpdate knownfailures.json.
Nicolas Geoffray [Wed, 3 May 2017 14:43:49 +0000 (15:43 +0100)]
Update knownfailures.json.

Extracted from:
https://googleplex-android-review.git.corp.google.com/#/c/2194222/

To avoid the merge conflict.

bug: 37558732
Test: run-test with speed-profile
Change-Id: Ieeae28f2c95870c655055075c4ab2207e58ae335

7 years agoMerge "Make vdex and dexlayout compatible." into oc-dev
TreeHugger Robot [Wed, 3 May 2017 11:56:22 +0000 (11:56 +0000)]
Merge "Make vdex and dexlayout compatible." into oc-dev

7 years agoMake vdex and dexlayout compatible.
Nicolas Geoffray [Fri, 21 Apr 2017 16:16:44 +0000 (17:16 +0100)]
Make vdex and dexlayout compatible.

Unquicken the vdex before dexlayout, to keep the dex integrity.

bug: 37558732
Test: run-test with speed-profile

(cherry picked from commit 4e868fa7b8c47600695ff92deeb373674956a67d)

Change-Id: I57ddabb79ff49d01df80bed4e3e53ba8fdb5346e

7 years agoART: Additional verifier flags for invoke-custom
Orion Hodson [Tue, 2 May 2017 11:25:45 +0000 (12:25 +0100)]
ART: Additional verifier flags for invoke-custom

Updates verifier flags for invoke-custom instructions and adds
static_asserts to enforce at build time.

Bug: 37766116
Test: m

(cherry picked from commit d81047086eb3ac5f34314c0c56b4bd602b9e853d)

Change-Id: I5ade3250f5df877e012d2f291ad8e27169b10d49

7 years agoMerge "If a profile is passed, we should always pass output-vdex and input-vdex....
Nicolas Geoffray [Wed, 3 May 2017 08:04:28 +0000 (08:04 +0000)]
Merge "If a profile is passed, we should always pass output-vdex and input-vdex." into oc-dev

7 years agoMerge "Rename and obsolete compiler filter names." into oc-dev
Nicolas Geoffray [Wed, 3 May 2017 08:04:28 +0000 (08:04 +0000)]
Merge "Rename and obsolete compiler filter names." into oc-dev

7 years agoBug fix on shift that exceeds "lane width".
Aart Bik [Mon, 1 May 2017 23:50:45 +0000 (16:50 -0700)]
Bug fix on shift that exceeds "lane width".

Rationale:
ARM is a bit less forgiving on shifting more than
the lane width of the SIMD instruction (rejecting
such cases is no loss, since it yields 0 anyway
and should be optimized differently).

Bug: 37776122
Test: test-art-target, test-art-host

(cherry picked from commit 65ffd8ef044465c47d4f97ab2556310f9ee30a01)

Change-Id: If65148eb0e8e705f48778549b7e31b8077cd233b

7 years agoMerge "Allow same-length integral type mixing in SIMD." into oc-dev
Aart Bik [Wed, 3 May 2017 03:04:25 +0000 (03:04 +0000)]
Merge "Allow same-length integral type mixing in SIMD." into oc-dev

7 years agoAllow same-length integral type mixing in SIMD.
Aart Bik [Mon, 1 May 2017 21:49:18 +0000 (14:49 -0700)]
Allow same-length integral type mixing in SIMD.

Rationale:
Just like the incoming sequential code, the SIMD
code allows for some type matching, as long as
it is integral and same length.

Bug: 37764324
Test: test-art-target, test-art-host
Change-Id: Ide1c5403e0f3b8c5372e8ac6dd282d8211ca8f1b

7 years agoFix length of descriptor field when reading debug info.
Jeff Hao [Tue, 2 May 2017 00:29:35 +0000 (17:29 -0700)]
Fix length of descriptor field when reading debug info.

TypeIndex is a 16-bit value, and storing kDexNoIndex (0xFFFFFFFF) caused
a failure in a dcheck on the bounds of the value.

Bug: 37287051
Test: mm -j31 test-art-host-gtest-dex_file_test

(cherry-picked from commit c12253611eea875d9e3299bac596be4224f7db00)

Change-Id: If5ae2b624886177d66b3a33ccd75509496deab40

7 years agoMerge "Fix unquickening in the presence of duplicate methods." into oc-dev
TreeHugger Robot [Tue, 2 May 2017 14:50:25 +0000 (14:50 +0000)]
Merge "Fix unquickening in the presence of duplicate methods." into oc-dev

7 years agoMerge "ART: Support for SourceDebugExtension" into oc-dev
Orion Hodson [Tue, 2 May 2017 11:57:29 +0000 (11:57 +0000)]
Merge "ART: Support for SourceDebugExtension" into oc-dev

7 years agoIf a profile is passed, we should always pass output-vdex and input-vdex.
Nicolas Geoffray [Thu, 27 Apr 2017 20:45:35 +0000 (21:45 +0100)]
If a profile is passed, we should always pass output-vdex and input-vdex.

Passing only input-vdex means the vdex will be updated in place, which
is not something we do with a profile in production.

Test: 629-vdex

(cherry picked from commit fbc4f118aff7c284f0d9d2ca209166b7ff79e542)

Change-Id: Ie7afabe7e017476fe5347781f304043db2555462

7 years agoRename and obsolete compiler filter names.
Nicolas Geoffray [Fri, 21 Apr 2017 12:08:25 +0000 (13:08 +0100)]
Rename and obsolete compiler filter names.

ART side of the change.

bug:34715556
Test: test-art-host, jdwp, libcore

(cherry picked from commit 49cda06d5bf003f588ba7839bbf89d606237dfa7)

Change-Id: I85126e5035f0f6fc15aa84d41af5f1d6e25a5f55

7 years agoMerge "Allow dexlayout to handle duplicate code items." into oc-dev
TreeHugger Robot [Mon, 1 May 2017 22:22:24 +0000 (22:22 +0000)]
Merge "Allow dexlayout to handle duplicate code items." into oc-dev

7 years agoMerge "Add basic heap corruption detection ConcurrentCopying::Copy" into oc-dev
TreeHugger Robot [Mon, 1 May 2017 22:13:08 +0000 (22:13 +0000)]
Merge "Add basic heap corruption detection ConcurrentCopying::Copy" into oc-dev

7 years agoAllow dexlayout to handle duplicate code items.
Jeff Hao [Wed, 26 Apr 2017 19:09:06 +0000 (12:09 -0700)]
Allow dexlayout to handle duplicate code items.

Dexlayout now checks to see if a code item already exists at a
particular offset before trying to construct a new one. If so, the
existing one is returned instead.

Bug: 37287151
Test: mm test-art-host-gtest-dexlayout_test
Change-Id: Iea21df01033e127de011568e1fe66224e260e202
(cherry-picked from commit d212d5b4dcd8ebee9858d863062d7f827ea3a9ea)

7 years agoAdd basic heap corruption detection ConcurrentCopying::Copy
Mathieu Chartier [Sat, 29 Apr 2017 01:58:59 +0000 (18:58 -0700)]
Add basic heap corruption detection ConcurrentCopying::Copy

Detect objects that have a null class. This also detects objects that
are not in the from-space allocated area since this area is zero
initialized.

Test: test-art-host

Bug: 37683299
Bug: 12687968
Bug: 37187694
Change-Id: Ib7b9a1913a582692ce05791104c181b75e0f7bcb

7 years agoLayout codeitems based on profile data
Shubham Ajmera [Mon, 3 Apr 2017 17:04:28 +0000 (10:04 -0700)]
Layout codeitems based on profile data

Bug: 35800981
Bug: 37287151 (TL triaged bug dependent on this)
Test: ./art/test/testrunner/testrunner.py --host -t 638-c
Change-Id: I7beef8aae2d085333e0c2bfc0706c7f42f8e5f5f

(cherry-picked from commit 36a282b8714071d9f16c98c316efa4304fd8d36a)

7 years agoMerge "oat_file_manager: Avoid global collision check." into oc-dev
Calin Juravle [Mon, 1 May 2017 18:03:02 +0000 (18:03 +0000)]
Merge "oat_file_manager: Avoid global collision check." into oc-dev

7 years agooat_file_manager: Avoid global collision check.
Narayan Kamath [Fri, 28 Apr 2017 09:19:29 +0000 (10:19 +0100)]
oat_file_manager: Avoid global collision check.

Avoid the global collision check in case we encounter a classloader
that we don't recognize. This seems overly conservative. Instead, trust
that the classloader does the right thing.

Bug: 36480683
Bug: 37777332

Test: make test-art-host
Test: manual testing

(cherry picked from commit 04aa213e96c1095e8d1e07cbc426d009777de241)

Change-Id: I45ca1a12c14ba303bd27e9463e612f7c73c778ec

7 years agoFix unquickening in the presence of duplicate methods.
Nicolas Geoffray [Thu, 27 Apr 2017 15:08:50 +0000 (16:08 +0100)]
Fix unquickening in the presence of duplicate methods.

The code item may have already been unquicken.

bug: 36059948
Test: 649-vdex-duplicate-method

(cherry picked from commit 095d6a6be5228ad734568892b820eaf18e549365)

Change-Id: If922c2c5f04d38449a11e0cfc1d81b2a09f2885b

7 years agoART: Support for SourceDebugExtension
Orion Hodson [Mon, 24 Apr 2017 13:53:19 +0000 (14:53 +0100)]
ART: Support for SourceDebugExtension

Adds support for reading SourceDebugExtension class annotation from DEX files.

Bug: 30109642
Test: art/tools/run-jdwp-tests.sh --mode=device --test org.apache.harmony.jpda.tests.jdwp.ReferenceType.SourceDebugExtensionTest

(cherry picked from commit 77d8a1c3572afb38542cb5a2b3516674a182ce48)

Change-Id: I94952a769a6cd0dd85a58cfb1bb65ec0d1bf4e60

7 years agoMerge "Only log a few types of GC causes for the blocking cases" into oc-dev
Mathieu Chartier [Fri, 28 Apr 2017 00:09:42 +0000 (00:09 +0000)]
Merge "Only log a few types of GC causes for the blocking cases" into oc-dev

7 years agoMerge changes from topic 'cp-cts' into oc-dev
TreeHugger Robot [Thu, 27 Apr 2017 20:20:19 +0000 (20:20 +0000)]
Merge changes from topic 'cp-cts' into oc-dev

* changes:
  Ignore an additional thread in test 911
  Add more cts tests
  Remove unneeded shims and jni binding code

7 years agoIgnore an additional thread in test 911
Alex Light [Tue, 25 Apr 2017 21:23:04 +0000 (14:23 -0700)]
Ignore an additional thread in test 911

This was causing failures in cts

Bug: 37579245
Test: ./test/testrunner/testrunner.py --host -j40
Test: cts-tradefed run cts-dev --module CtsJvmtiRunTest911HostTestCases
Change-Id: Iee5c1874de225b98016994e046378268fb68e2fb
(cherry picked from commit 3cf6a70e7e1a6a1436bd22a3d36123a799bb681a)
Merged-In: Iaeba26b9554dee5cba6ef04e91d4a2664c7e94d0

7 years agoAdd more cts tests
Alex Light [Mon, 24 Apr 2017 17:15:56 +0000 (10:15 -0700)]
Add more cts tests

Adds cts versions of test 985 and 986

Bug: 32072923
Test: ./test.py --host -j40
Test: cts-tradefed run cts-dev --module CtsJvmtiRunTest985HostTestCases
Test: cts-tradefed run cts-dev --module CtsJvmtiRunTest986HostTestCases

Change-Id: Iaef9ce87aea435fa44e006d1cc5f183697008789
(cherry picked from commit ec0885ea570b93b563d04d337a11488e112693ec)
Merged-In: Iaeba26b9554dee5cba6ef04e91d4a2664c7e94d0

7 years agoRemove unneeded shims and jni binding code
Alex Light [Thu, 20 Apr 2017 23:55:25 +0000 (16:55 -0700)]
Remove unneeded shims and jni binding code

Bug: 37522517
Test: ./test/testrunner/testrunner.py --host -j40
Change-Id: I8670ab1bbf4b906c47d4edb2ad7349f9505da94a
(cherry picked from commit 21b0c29e6a7e5a9d2d31db27aea2fa8615d56f3b)
Merged-In: Iaeba26b9554dee5cba6ef04e91d4a2664c7e94d0

7 years agoMerge changes I4542b483,I63e97d5b into oc-dev
Roland Levillain [Thu, 27 Apr 2017 11:32:48 +0000 (11:32 +0000)]
Merge changes I4542b483,I63e97d5b into oc-dev

* changes:
  Remove ART run-test 648-many-direct-methods.
  Handle classes with a huge number of direct methods.

7 years agoRemove ART run-test 648-many-direct-methods.
Roland Levillain [Thu, 27 Apr 2017 09:31:44 +0000 (10:31 +0100)]
Remove ART run-test 648-many-direct-methods.

This test is stressing dex2oatd and fails on too many configurations;
remove it for now.

(cherry picked from commit eed8ca45960379e55956cb60e32fcbf5be999e54)

Test: Rely on automated testing.
Bug: b/33650497
Change-Id: I4542b4833d46cb312763c112570e7751702134cd

7 years agoMerge "ART: Add method verifier check for call site id" into oc-dev
TreeHugger Robot [Thu, 27 Apr 2017 03:43:26 +0000 (03:43 +0000)]
Merge "ART: Add method verifier check for call site id" into oc-dev

7 years agoMerge changes I075fcb10,I8f31e5f3,I863ca8d4 into oc-dev
Andreas Gampe [Wed, 26 Apr 2017 21:44:59 +0000 (21:44 +0000)]
Merge changes I075fcb10,I8f31e5f3,I863ca8d4 into oc-dev

* changes:
  ART: More header cleanup - method_verifier.h
  ART: More header cleanup - mem_map.h
  ART: More header cleanup - CC

7 years agoART: Add method verifier check for call site id
Orion Hodson [Fri, 21 Apr 2017 14:24:10 +0000 (15:24 +0100)]
ART: Add method verifier check for call site id

(cherry picked from 3a842f5adcbdeb3fd3db4206006a784ccabfc865)

Bug: 37248626
Test: dex2oat on bug data
Change-Id: I11fbf3b9402406ed0031f47a90a8ab38360a52bb

7 years agoOnly log a few types of GC causes for the blocking cases
Mathieu Chartier [Tue, 25 Apr 2017 23:31:20 +0000 (16:31 -0700)]
Only log a few types of GC causes for the blocking cases

There are various types like debugger and GetObjectsAllocated that
can cause spam if we log all the blocking calls. In practice, these
are only used from tools and should not cause jank.

Bug: 37275712
Test: test-art-host
Change-Id: I3a6854d37a6e83c91e9cc8bcb76103e2498bc3b6

7 years agoART: More header cleanup - method_verifier.h
Andreas Gampe [Mon, 24 Apr 2017 20:19:09 +0000 (13:19 -0700)]
ART: More header cleanup - method_verifier.h

Move enumerations to own header. Move the compiler interface (of what
the compiler can tolerate) into its own header. Replace or remove
method_verifier.h where possible.

Test: mmma art
Change-Id: I075fcb10b02b6c1c760daad31cb18eaa42067b6d
(cherry picked from commit 6d7abbd2324f544c6b6da42bb6b9b531df0ce3cd)

7 years agoART: More header cleanup - mem_map.h
Andreas Gampe [Mon, 24 Apr 2017 14:58:06 +0000 (07:58 -0700)]
ART: More header cleanup - mem_map.h

Move MemMap maps_ into cc file and move allocator include. Remove
other unused includes. Force clients to import sys/mman.h if they
need it. Try to lower dependencies on ART by using libbase helpers
more.

Test: mmma art
Change-Id: I8f31e5f371789b3d72e12af377181fee2ac9a611
(cherry picked from commit 0dfc315a096bf5678cb5182771e3fdcca8ea4433)

7 years agoART: More header cleanup - CC
Andreas Gampe [Mon, 24 Apr 2017 20:22:18 +0000 (13:22 -0700)]
ART: More header cleanup - CC

Forward-declare AtomicStack in CC. Use stack_reference in atomic_stack.h.

Test: mmma art
Change-Id: I863ca8d4a8dfd5e83279fd68ea0e1a94c3c5df6d
(cherry picked from commit 291ce17ada5a126be99f0fc069a028d2100bcf9e)

7 years agoImprove deterministic boot image compilation with CC collector.
Roland Levillain [Thu, 20 Apr 2017 16:35:32 +0000 (17:35 +0100)]
Improve deterministic boot image compilation with CC collector.

Allow deterministic compilation with the read barrier configuration.

(cherry picked from commit b81e9e90ee60e602286899fc3fa0048c2fcb1c30)

Test: Compare boot.art produced by different builds of the same tree.
Bug: 37442966
Change-Id: I6cc0d0d7fdfe4f954765764d9f7f3778b7307028

7 years agoHandle classes with a huge number of direct methods.
Roland Levillain [Mon, 24 Apr 2017 15:27:43 +0000 (16:27 +0100)]
Handle classes with a huge number of direct methods.

Make sure that fields Class::copied_methods_offset_ and
Class::virtual_method_offset_ are correctly interpreted as unsigned
16-bit integers.

(cherry picked from commit 6680e3394aeb2b89300e459dc4dacfbac4c5847e)

Test: art/test/testrunner/testrunner.py -j4 -t 648-many-direct-methods
Bug: 33650497
Change-Id: I63e97d5b7e08d58252ff4831b63c4035ecc55979

7 years agoMerge "Merge internal master oc-dev" into oc-dev
David Sehr [Tue, 25 Apr 2017 16:29:33 +0000 (16:29 +0000)]
Merge "Merge internal master oc-dev" into oc-dev

7 years agoMerge "Ignore the optimized location passed to DexFile.loadDex()" into oc-dev
Calin Juravle [Mon, 24 Apr 2017 22:00:37 +0000 (22:00 +0000)]
Merge "Ignore the optimized location passed to DexFile.loadDex()" into oc-dev

7 years agoMerge internal master oc-dev
David Sehr [Mon, 24 Apr 2017 15:59:08 +0000 (08:59 -0700)]
Merge internal master oc-dev

Fixes for O release, including CC code size issue, JVMTI, ART
vectorization, the borg scanner, secondary dex files, and others.

Bug: 29516974
Bug: 30126666
Bug: 36141117
Bug: 30773047
Bug: 30933338
Test: make -j 40 test-art-host; art/test.py -j 8 --target
Change-Id: I77ea4e19dfa45bdf843f16f74154bf8655c258d8

7 years agoLower profiler saver thread priority.
Nicolas Geoffray [Fri, 21 Apr 2017 13:30:18 +0000 (14:30 +0100)]
Lower profiler saver thread priority.

Spotted while looking at bug reports. Doesn't hurt, and better
be safe than sorry.

bug:37446669
bug:36631902
test:manual, looking at bugreports

(cherry picked from commit 23caed84eba735b2615f5962b5161f6dc9e8bd4e)

Change-Id: I47723e368f3a7d863a9ed2e85c223e6e242508d5

7 years agoMerge "ART: Fix missing include" am: a2dfb0f481 am: 1711753241 am: cfde347c47
Andreas Gampe [Sat, 22 Apr 2017 03:06:44 +0000 (03:06 +0000)]
Merge "ART: Fix missing include" am: a2dfb0f481 am: 1711753241 am: cfde347c47
am: 0d6eea29c1

Change-Id: If1238f081fb3bae5649f59f2d865340544c8749a

7 years agoMerge "ART: Fix missing include" am: a2dfb0f481 am: 1711753241
Andreas Gampe [Sat, 22 Apr 2017 03:03:46 +0000 (03:03 +0000)]
Merge "ART: Fix missing include" am: a2dfb0f481 am: 1711753241
am: cfde347c47

Change-Id: Ib5a457c37bfcb38a931db1ba4ca773bfe33deac9

7 years agoMerge "ART: Fix missing include" am: a2dfb0f481
Andreas Gampe [Sat, 22 Apr 2017 03:00:14 +0000 (03:00 +0000)]
Merge "ART: Fix missing include" am: a2dfb0f481
am: 1711753241

Change-Id: If7f70afee5f91c18cf7589fd858d2a09fd0368df

7 years agoMerge "ART: Fix missing include"
Andreas Gampe [Sat, 22 Apr 2017 02:56:13 +0000 (02:56 +0000)]
Merge "ART: Fix missing include"
am: a2dfb0f481

Change-Id: Ib6fc34ea42d0865a854194bd2b7203e5ba8ed89d

7 years agoMerge "ART: Fix missing include"
Andreas Gampe [Sat, 22 Apr 2017 02:47:13 +0000 (02:47 +0000)]
Merge "ART: Fix missing include"

7 years agoART: Fix missing include
Andreas Gampe [Sat, 22 Apr 2017 02:11:15 +0000 (19:11 -0700)]
ART: Fix missing include

Add required headers.

Bug: 37187694
Test: mmma art
Change-Id: I0f39498453973ed9bfbad97965f2dff215caea98

7 years agoMerge "ART: Add object-readbarrier-inl.h" am: 9dd326eb80 am: 1c7fc906b2 am: 47167a4aed
Andreas Gampe [Sat, 22 Apr 2017 02:38:14 +0000 (02:38 +0000)]
Merge "ART: Add object-readbarrier-inl.h" am: 9dd326eb80 am: 1c7fc906b2 am: 47167a4aed
am: 2549f1b6be

Change-Id: Ib37415feabfc94a30607f95fc0557b1447b65c2e

7 years agoMerge "ART: Add object-readbarrier-inl.h" am: 9dd326eb80 am: 1c7fc906b2
Andreas Gampe [Sat, 22 Apr 2017 02:35:14 +0000 (02:35 +0000)]
Merge "ART: Add object-readbarrier-inl.h" am: 9dd326eb80 am: 1c7fc906b2
am: 47167a4aed

Change-Id: Ic1372a41f56bd58530f35ef7087f4b964d7ec3b9

7 years agoMerge "ART: Add object-readbarrier-inl.h" am: 9dd326eb80
Andreas Gampe [Sat, 22 Apr 2017 02:31:45 +0000 (02:31 +0000)]
Merge "ART: Add object-readbarrier-inl.h" am: 9dd326eb80
am: 1c7fc906b2

Change-Id: Ie1832b24af24afdad43fb17c70fb68613b65d646

7 years agoMerge "ART: Add object-readbarrier-inl.h"
Andreas Gampe [Sat, 22 Apr 2017 02:28:41 +0000 (02:28 +0000)]
Merge "ART: Add object-readbarrier-inl.h"
am: 9dd326eb80

Change-Id: I6b6cb998d531e7012ee5fa7f5ee031839021f553

7 years agoMerge "ART: Add object-readbarrier-inl.h"
Treehugger Robot [Sat, 22 Apr 2017 02:22:47 +0000 (02:22 +0000)]
Merge "ART: Add object-readbarrier-inl.h"

7 years agoMerge "More robust GC verification and corruption dumping" am: 498305d881 am: 59f799b...
Mathieu Chartier [Sat, 22 Apr 2017 01:22:39 +0000 (01:22 +0000)]
Merge "More robust GC verification and corruption dumping" am: 498305d881 am: 59f799b1de am: 338a6ecdbc
am: da85c80f9e

Change-Id: Id012633a50dda525e9317d374c6eb146d3c66c03

7 years agoMerge "More robust GC verification and corruption dumping" am: 498305d881 am: 59f799b1de
Mathieu Chartier [Sat, 22 Apr 2017 01:20:07 +0000 (01:20 +0000)]
Merge "More robust GC verification and corruption dumping" am: 498305d881 am: 59f799b1de
am: 338a6ecdbc

Change-Id: I7e094870343ccaef32dc9523227b31bd849edab9

7 years agoMerge "More robust GC verification and corruption dumping" am: 498305d881
Mathieu Chartier [Sat, 22 Apr 2017 01:17:09 +0000 (01:17 +0000)]
Merge "More robust GC verification and corruption dumping" am: 498305d881
am: 59f799b1de

Change-Id: Ifaa0f1bf4d2b3a084aa0b0579b0ae9405cd9735e

7 years agoMerge "More robust GC verification and corruption dumping"
Mathieu Chartier [Sat, 22 Apr 2017 01:14:06 +0000 (01:14 +0000)]
Merge "More robust GC verification and corruption dumping"
am: 498305d881

Change-Id: I6b28aa4a3ece41c28cb8a6cd7b4e1e67c79bb117

7 years agoMerge "ART: Refactor run-test 911" am: 0a5fa0cf48 am: b20b623690 am: a252b4b6cb
Andreas Gampe [Sat, 22 Apr 2017 01:12:07 +0000 (01:12 +0000)]
Merge "ART: Refactor run-test 911" am: 0a5fa0cf48 am: b20b623690 am: a252b4b6cb
am: 0bd5bb8a92

Change-Id: If740c34065cbee1ee6826a8146de39b6ddc9228e

7 years agoMerge "More robust GC verification and corruption dumping"
Mathieu Chartier [Sat, 22 Apr 2017 01:08:52 +0000 (01:08 +0000)]
Merge "More robust GC verification and corruption dumping"

7 years agoMerge "ART: Refactor run-test 911" am: 0a5fa0cf48 am: b20b623690
Andreas Gampe [Sat, 22 Apr 2017 01:05:38 +0000 (01:05 +0000)]
Merge "ART: Refactor run-test 911" am: 0a5fa0cf48 am: b20b623690
am: a252b4b6cb

Change-Id: I648298b8748fd6c1fdc6b17af3a8d013dbe2c9c8

7 years agoMerge "ART: Refactor run-test 911" am: 0a5fa0cf48
Andreas Gampe [Sat, 22 Apr 2017 01:02:38 +0000 (01:02 +0000)]
Merge "ART: Refactor run-test 911" am: 0a5fa0cf48
am: b20b623690

Change-Id: Id9d0f48b34e50af5e8780e062f13ff9ba23bc892

7 years agoMerge "ART: Refactor run-test 911"
Andreas Gampe [Sat, 22 Apr 2017 00:59:36 +0000 (00:59 +0000)]
Merge "ART: Refactor run-test 911"
am: 0a5fa0cf48

Change-Id: I2bc2f097d7bf246875ae9ceac1517c442720e66a

7 years agoMerge "ART: Refactor run-test 911"
Treehugger Robot [Sat, 22 Apr 2017 00:52:42 +0000 (00:52 +0000)]
Merge "ART: Refactor run-test 911"

7 years agoMerge "Add suppression for process_vm_readv." am: 6a90934ab3 am: a869892f05 am: d658a...
Josh Gao [Fri, 21 Apr 2017 23:55:58 +0000 (23:55 +0000)]
Merge "Add suppression for process_vm_readv." am: 6a90934ab3 am: a869892f05 am: d658a4c557
am: 8fde516da8

Change-Id: I0b430f9b5f772218dc93ab8c4d04f08a2cb438fb

7 years agoART: Add object-readbarrier-inl.h
Andreas Gampe [Fri, 21 Apr 2017 19:09:39 +0000 (12:09 -0700)]
ART: Add object-readbarrier-inl.h

Move some read-barrier code into a new header. This prunes the
include tree for the concurrent-copying collector. Clean up other
related includes.

Test: mmma art
Change-Id: I40ce4e74f2e5d4c692529ffb4df933230b6fd73e

7 years agoMerge "Add suppression for process_vm_readv." am: 6a90934ab3 am: a869892f05
Josh Gao [Fri, 21 Apr 2017 23:40:34 +0000 (23:40 +0000)]
Merge "Add suppression for process_vm_readv." am: 6a90934ab3 am: a869892f05
am: d658a4c557

Change-Id: I65502de72ac7a99516008f31c0111415ab83872a

7 years agoMerge "Add suppression for process_vm_readv." am: 6a90934ab3
Josh Gao [Fri, 21 Apr 2017 23:34:30 +0000 (23:34 +0000)]
Merge "Add suppression for process_vm_readv." am: 6a90934ab3
am: a869892f05

Change-Id: Ib6637aead2624d3fd1b6985eb31722e5796f7219

7 years agoMerge "Add suppression for process_vm_readv."
Josh Gao [Fri, 21 Apr 2017 23:32:01 +0000 (23:32 +0000)]
Merge "Add suppression for process_vm_readv."
am: 6a90934ab3

Change-Id: I38ab1f07745935bb7989de3dc6394d40744cbc69

7 years agoMerge "Add suppression for process_vm_readv."
Treehugger Robot [Fri, 21 Apr 2017 23:26:05 +0000 (23:26 +0000)]
Merge "Add suppression for process_vm_readv."

7 years agoMerge "run_build_test_target: Fix run-test not running for art-test[-javac]" am:...
Igor Murashkin [Fri, 21 Apr 2017 23:22:31 +0000 (23:22 +0000)]
Merge "run_build_test_target: Fix run-test not running for art-test[-javac]" am: e81b88f5ee am: b71ae58ca9 am: f9ef18c87f
am: 3fe77aa780

Change-Id: I014e51bec3d06ccbadd30ae9725156bfa8eb423b

7 years agoMerge "run_build_test_target: Fix run-test not running for art-test[-javac]" am:...
Igor Murashkin [Fri, 21 Apr 2017 23:16:30 +0000 (23:16 +0000)]
Merge "run_build_test_target: Fix run-test not running for art-test[-javac]" am: e81b88f5ee am: b71ae58ca9
am: f9ef18c87f

Change-Id: Ic4d967a22f14e47122bacb3533a3c78a3fd73d9d

7 years agoMerge "run_build_test_target: Fix run-test not running for art-test[-javac]" am:...
Igor Murashkin [Fri, 21 Apr 2017 23:13:30 +0000 (23:13 +0000)]
Merge "run_build_test_target: Fix run-test not running for art-test[-javac]" am: e81b88f5ee
am: b71ae58ca9

Change-Id: I3c843d3dd11127dde88f35b51693b2a967ed7a70

7 years agoMerge "run_build_test_target: Fix run-test not running for art-test[-javac]"
Igor Murashkin [Fri, 21 Apr 2017 23:09:59 +0000 (23:09 +0000)]
Merge "run_build_test_target: Fix run-test not running for art-test[-javac]"
am: e81b88f5ee

Change-Id: I16a5fc176b93e6a8b197d7d8a6a610ccd4da45a3

7 years agoART: Refactor run-test 911
Andreas Gampe [Fri, 21 Apr 2017 23:04:27 +0000 (16:04 -0700)]
ART: Refactor run-test 911

Refactor the run-test in preparation for usage in CTS.

Move from the main thread into a dedicated thread. Add filtering
of threads.

Bug: 32072923
Test: m test-art-host
Change-Id: I3e0db90a240dea7154b3d1c6eb93a6f6cce97e21

7 years agoMerge "run_build_test_target: Fix run-test not running for art-test[-javac]"
Treehugger Robot [Fri, 21 Apr 2017 23:01:18 +0000 (23:01 +0000)]
Merge "run_build_test_target: Fix run-test not running for art-test[-javac]"

7 years agoMore robust GC verification and corruption dumping
Mathieu Chartier [Tue, 18 Apr 2017 18:26:22 +0000 (11:26 -0700)]
More robust GC verification and corruption dumping

Added a test for GC heap corruption dumping, added more info to the
dump like adjacent bytes and card table.

Added heap corruption detection in
ConcurrentCopying::MarkNonMoving().

Bug: 37187694
Bug: 12687968

Test: mm test-art-host-gtest-verification_test -j20

Change-Id: I8c90e45796d0784265aa091b2f8082f0cfb62719

7 years agoMerge "ART: Fix Mac build" am: 9ae527f615 am: f35d96a1e3 am: b81016abd5
Andreas Gampe [Fri, 21 Apr 2017 22:04:56 +0000 (22:04 +0000)]
Merge "ART: Fix Mac build" am: 9ae527f615 am: f35d96a1e3 am: b81016abd5
am: 9b712c682c

Change-Id: Id5b2de3a891210d1599924186c3f45bd78a5d9d4

7 years agoMerge "ART: Fix Mac build" am: 9ae527f615 am: f35d96a1e3
Andreas Gampe [Fri, 21 Apr 2017 21:58:55 +0000 (21:58 +0000)]
Merge "ART: Fix Mac build" am: 9ae527f615 am: f35d96a1e3
am: b81016abd5

Change-Id: Ic6e1d7159f595e1f9a85ebdd6c34caef4a9bf913

7 years agoMerge "ART: Fix Mac build" am: 9ae527f615
Andreas Gampe [Fri, 21 Apr 2017 21:56:24 +0000 (21:56 +0000)]
Merge "ART: Fix Mac build" am: 9ae527f615
am: f35d96a1e3

Change-Id: I6a9ca0402409fbbb42cb253c09f9b062827b895d

7 years agoMerge "ART: Fix Mac build"
Andreas Gampe [Fri, 21 Apr 2017 21:53:25 +0000 (21:53 +0000)]
Merge "ART: Fix Mac build"
am: 9ae527f615

Change-Id: I9734f831864fdea26299b4798a85d27b2bb540f0

7 years agoAdd suppression for process_vm_readv.
Josh Gao [Fri, 21 Apr 2017 21:13:54 +0000 (14:13 -0700)]
Add suppression for process_vm_readv.

On some hosts, valgrind complains about the intentional use of
process_vm_readv on invalid addresses.

Test: manually ran safe_copy_test on a VM with a 3.13 kernel
Test: m valgrind-test-art-target-gtest-safe_copy_test32 on angler
Test: m valgrind-test-art-host-gtest-safe_copy_test32 on 4.4 kernel
      (but it wasn't failing in the first place)
Change-Id: Idd4ec19cc81176eb0b880ff1363bffe0c58ec904

7 years agoMerge "ART: Fix Mac build"
Andreas Gampe [Fri, 21 Apr 2017 21:46:46 +0000 (21:46 +0000)]
Merge "ART: Fix Mac build"

7 years agorun_build_test_target: Fix run-test not running for art-test[-javac]
Igor Murashkin [Fri, 21 Apr 2017 20:04:27 +0000 (13:04 -0700)]
run_build_test_target: Fix run-test not running for art-test[-javac]

Test: art/test/testrunner/run_build_test_target.py -j32 art-test
Change-Id: I8e9147fed3db88557376769db52602628754da46

7 years agoART: Fix Mac build
Andreas Gampe [Fri, 21 Apr 2017 20:24:52 +0000 (13:24 -0700)]
ART: Fix Mac build

Another missing transitive include.

Test: m
Change-Id: I3e2691bcf8ddb38e48c7e32dbd9695459f4d9d16

7 years agoIgnore the optimized location passed to DexFile.loadDex()
Calin Juravle [Wed, 19 Apr 2017 04:25:37 +0000 (21:25 -0700)]
Ignore the optimized location passed to DexFile.loadDex()

This ensures that apps don't trigger dex2oat to locations
that are not recognized (anymore) by the runtime.

The background compilation job will takes care of optimizing
the dex files loaded via DexClassLoader.

Test: m test-art-host
Bug: 36824842

(cherry picked from commit 1f7079b72965cba0b1a40f53be97a4944ecb4a51)

Change-Id: Icf07ac70b5d2df7b9e6259877908d12b96827a82

7 years agoMerge "Factor vector unary/binary shared code out into superclass." am: 2d4d161f26...
Aart Bik [Fri, 21 Apr 2017 20:19:06 +0000 (20:19 +0000)]
Merge "Factor vector unary/binary shared code out into superclass." am: 2d4d161f26 am: fc5558cacf am: 536a476fdf
am: 990cc18eab

Change-Id: Iba68ccb2f9a8fde6bb304ef16ec51045435caa6d

7 years agoMerge "ARM64: Improve SIMD LDR/STR." am: 1cd51da49c am: f099e8b163 am: 0d3c9756e2
Aart Bik [Fri, 21 Apr 2017 20:18:45 +0000 (20:18 +0000)]
Merge "ARM64: Improve SIMD LDR/STR." am: 1cd51da49c am: f099e8b163 am: 0d3c9756e2
am: c8505291b9

Change-Id: I5c69a4ab32748da18af4e90d3406fb508fd3159d

7 years agoMerge "Factor vector unary/binary shared code out into superclass." am: 2d4d161f26...
Aart Bik [Fri, 21 Apr 2017 20:15:09 +0000 (20:15 +0000)]
Merge "Factor vector unary/binary shared code out into superclass." am: 2d4d161f26 am: fc5558cacf
am: 536a476fdf

Change-Id: I0623de61695750f37e72f33fc6629e52c1522d81