OSDN Git Service
Igor Murashkin [Tue, 7 Feb 2017 23:20:54 +0000 (15:20 -0800)]
runtime: Mmap uncompressed dex files (in zip) as clean memory
Saves 3MB of RAM (system-wide) in AGSA (search toolbar).
Also makes 3MB of RAM clean (previously dirty).
----
classes.dex from different processes will now have
their memory shared (as clean) globally.
To take advantage of this, the app/service just
needs to build their .JARs zipaligned and with
classes.dex being stored uncompressed.
-----
classes[N].dex within ZIP files will now get memory-mapped
as file-backed, clean memory when opening a DexFile.
(The zip entry must be at least 4-byte aligned).
Compressed DEX files still get extracted first to dirty memory.
Test: art/tools/run-test 071-dexfile-map-clean
Bug:
27650033
Change-Id: I18efbd392c5980ffe0d983833b6cc581e0237b92
Mathieu Chartier [Thu, 9 Feb 2017 17:30:20 +0000 (17:30 +0000)]
Merge "A bit of oatdump clean up"
Vladimir Marko [Thu, 9 Feb 2017 12:30:41 +0000 (12:30 +0000)]
Merge "Fix dex cache resolved types and class table mismatch."
Vladimir Marko [Fri, 3 Feb 2017 11:47:34 +0000 (11:47 +0000)]
Fix dex cache resolved types and class table mismatch.
Record class table in ClassLinker::DexCacheData and use
it in DexCache.setResolvedType() to store the type also
in the initiating loader's class table if the dex file
has been registered.
Also throw InternalError when trying to register the
same DexFile with multiple class loaders. (Different
DexFile instances referencing the same file are OK.)
Test: 155-java-set-resolved-type
Test: m test-art-host
Bug:
30627598
Bug:
34193123
Bug:
34839984
Change-Id: Ia48acb300337c45880ea1459d2d32789546d67f4
Mathieu Chartier [Thu, 9 Feb 2017 00:56:48 +0000 (16:56 -0800)]
A bit of oatdump clean up
Fix typo, remove unused byte category.
Test: test-art-host-gtest-oatdump_test
Change-Id: Ia6f58d5dd17930fbea7fd9cb05edc014c190f080
Mathieu Chartier [Thu, 9 Feb 2017 00:45:04 +0000 (00:45 +0000)]
Merge "Update oatdump to have inline info breakdown"
Alex Light [Wed, 8 Feb 2017 23:49:33 +0000 (23:49 +0000)]
Merge "Un-disable redefinition tests on JIT."
Shubham Ajmera [Wed, 8 Feb 2017 22:50:17 +0000 (22:50 +0000)]
Merge "Keep failing tests' infomation without --verbose as well"
Alex Light [Wed, 8 Feb 2017 21:37:30 +0000 (13:37 -0800)]
Un-disable redefinition tests on JIT.
We no longer have any problems with racing JIT threads.
Test: ART_TEST_JIT=true mma -j40 test-art-host
Test: ./test/testrunner/testrunner.py --host --jit -j40
Change-Id: Ie88d0a891fbdd906641c0f7561406390db208b09
Mathieu Chartier [Wed, 8 Feb 2017 21:30:04 +0000 (13:30 -0800)]
Update oatdump to have inline info breakdown
Add a breakdown of where bytes are used for inline infos.
Bug:
34621054
Test: test-art-host-gtest-oat_dump_test
Change-Id: I5e44d17d631ff418a1c5baba166b1456211e9a33
Mathieu Chartier [Wed, 8 Feb 2017 21:29:24 +0000 (21:29 +0000)]
Merge "Clean up code info table layout"
Treehugger Robot [Wed, 8 Feb 2017 21:02:37 +0000 (21:02 +0000)]
Merge "Revert -Wunreachable-code workaround."
Treehugger Robot [Wed, 8 Feb 2017 20:28:23 +0000 (20:28 +0000)]
Merge changes I1fb50fb6,I8b3fa817
* changes:
Ensure that both stderr and stdout are captured
Make sure that we join paths correctly.
Shubham Ajmera [Wed, 8 Feb 2017 19:43:09 +0000 (19:43 +0000)]
Keep failing tests' infomation without --verbose as well
Test: Ran the testrunner with a failing test.
Change-Id: I4fd51c689c6c484f8ff141a3e20ff8fab4b11142
Stephen Hines [Wed, 8 Feb 2017 19:19:23 +0000 (11:19 -0800)]
Revert -Wunreachable-code workaround.
Bug: http://b/
31104323
Test: Built/ran ART successfully on sailfish.
This reverts commit
813b9c47d8952b3f02a6032d79d66433c981d030, which
added a workaround for Clang mistriggering -Wunreachable-code.
Change-Id: I46636c9b4f574a870c1f95b6160d05f2a75f8ab8
Alex Light [Wed, 8 Feb 2017 18:45:12 +0000 (10:45 -0800)]
Ensure that both stderr and stdout are captured
We were not capturing the stdout FD for the run-test process. This was
leading to blank lines being printed during the running of some tests.
Test: ./test/testrunner/testrunner.py --host -j40
Change-Id: I1fb50fb6ae2af9c439f126c9fe47a3e24ad84e10
Treehugger Robot [Wed, 8 Feb 2017 18:25:00 +0000 (18:25 +0000)]
Merge "Undo class_linker.cc workaround for out of registers bug."
Alex Light [Wed, 8 Feb 2017 18:09:31 +0000 (10:09 -0800)]
Make sure that we join paths correctly.
We were simply concatenating a pair of paths together but this can
cause problems if the second path is not relative. This could occur if
the OUT_DIR environment variable has been set.
Test: ./test/testrunner/testrunner.py --host -j40
Change-Id: I8b3fa817cdb114e39f9cf33a0c2e73e1a53f7e99
Mathieu Chartier [Mon, 6 Feb 2017 19:00:40 +0000 (11:00 -0800)]
Clean up code info table layout
Previously:
Table layout was computed multiple places like stack_map_stream,
and getters. This made it difficult to add new stack map tables and
made the code hard to understand.
This change makes the table layout specified all inside of the code
info. Updating the layout only requires changing ComputeTableOffsets.
Changed the stack map inline info offset to be an index, so that it is
not require the inline infos are directly after the dex register table.
Oat file size for a large app:
94459576 ->
93882040 (-0.61%)
Updated oatdump and fixed a bug that was incorrectly computing the
register mask bytes.
Bug:
34621054
Test: test-art-host
Change-Id: I3a7f141e09d5a18bce2bc6c9439835244a22016e
Shubham Ajmera [Wed, 8 Feb 2017 11:02:21 +0000 (11:02 +0000)]
Merge "ART Test Runner"
Nicolas Geoffray [Wed, 8 Feb 2017 10:59:33 +0000 (10:59 +0000)]
Merge "Revert "ART: Add JIT + events test to run-test 912""
Nicolas Geoffray [Wed, 8 Feb 2017 10:59:10 +0000 (10:59 +0000)]
Revert "ART: Add JIT + events test to run-test 912"
Still flakey
Bug:
31684920
This reverts commit
55e09d45d6ddedc88e50fbf290efbd39cae8380f.
Change-Id: I1a9dc303a1f9c4520e15edf584d24cb8e6bc4169
Stephen Hines [Wed, 8 Feb 2017 09:51:18 +0000 (01:51 -0800)]
Undo class_linker.cc workaround for out of registers bug.
Bug: http://b/
30419309
Test: Built x86_64/x86 targets successfully with latest toolchain.
This change re-enables optimization for a function in class_linker.cc
that previously exposed an internal compiler error in Clang. Now that
the bug has been fixed, we can remove the workaround.
Change-Id: If6520c17630b6f67ce016966c0777b675be1b852
Andreas Gampe [Wed, 8 Feb 2017 03:16:42 +0000 (03:16 +0000)]
Merge "ART: Make run-test 931 more defensive wrt/ shutdown"
Andreas Gampe [Wed, 8 Feb 2017 02:21:03 +0000 (02:21 +0000)]
Merge "ART: Add JIT + events test to run-test 912"
Treehugger Robot [Wed, 8 Feb 2017 00:27:28 +0000 (00:27 +0000)]
Merge "Verify redefined classes"
Andreas Gampe [Tue, 7 Feb 2017 22:59:08 +0000 (14:59 -0800)]
ART: Make run-test 931 more defensive wrt/ shutdown
Make the main thread loop a bit longer waiting for the agent
thread to die, so we don't unload under its feet.
Bug:
34701734
Test: m test-art-host-run-test-931-agent-thread
Change-Id: I554d72249c366b17c644f6c17c2b59fda2ab810e
Andreas Gampe [Wed, 25 Jan 2017 04:43:18 +0000 (20:43 -0800)]
ART: Add JIT + events test to run-test 912
Add a test for loading by the JIT thread.
This reverts commit
fab0b1947db6812c91827d051f6fe5b21ccb494c.
Bug:
31684920
Test: m ART_TEST_JIT=true test-art-host-run-test-912-classes
Change-Id: I577cc3269ed437b605b4ebf6bac7262e0459af76
Treehugger Robot [Tue, 7 Feb 2017 19:49:29 +0000 (19:49 +0000)]
Merge "Add test if dex file fails to open during layout."
Treehugger Robot [Tue, 7 Feb 2017 18:25:32 +0000 (18:25 +0000)]
Merge "Fix issues due to updated toolchain."
David Sehr [Tue, 7 Feb 2017 18:00:50 +0000 (18:00 +0000)]
Merge "Remove Mutex dependency from MemMap"
Roland Levillain [Tue, 7 Feb 2017 17:44:45 +0000 (17:44 +0000)]
Merge "Revert to `-fstack-protector-strong` in read barrier config."
Alex Light [Mon, 6 Feb 2017 21:58:27 +0000 (13:58 -0800)]
Verify redefined classes
Test: mma -j40 test-art-host
Change-Id: Ia0b5a0934ed895e37b67c9ae2e819648086280c8
Roland Levillain [Tue, 7 Feb 2017 13:48:31 +0000 (13:48 +0000)]
Merge "ARM: VIXL32: Remove erroneous DCHECK."
Shubham Ajmera [Mon, 6 Feb 2017 16:04:25 +0000 (16:04 +0000)]
ART Test Runner
The testrunner runs the ART run-tests by simply invoking the script.
It fetches the list of eligible tests from art/test directory, and list of
disabled tests from art/test/knownfailures.json. It runs the tests by
invoking art/test/run-test script and checks the exit code to decide if
the test passed or failed.
Before invoking the script, first build all the tests dependencies by
building 'test-art-host-run-test-dependencies' for host tests,
'test-art-target-run-test-dependencies' for target tests, and
'test-art-run-test-dependencies' for building dependencies for both.
There are various options to invoke the script which are:
-t: Either the test name as in art/test or the test name including the variant
information. Eg, "-t 001-HelloWorld",
"-t test-art-host-run-test-debug-prebuild-optimizing-relocate-ntrace-cms-checkjni-picimage-npictest-ndebuggable-001-HelloWorld32"
-j: Number of thread workers to be used. Eg - "-j64"
--dry-run: Instead of running the test name, just print its name.
--verbose
-b To build the dependencies before running the test.
To specify any specific variants for the test, use --<<variant-name>>.
For eg, for compiler type as optimizing, use --optimizing.
In the end, the script will print the failed and skipped tests if any.
New targets - test-art-host-run-test-dependencies and
test-art-target-run-test-dependencies have been added. The targets build
dependencies for host and target respectively.
Test: No tests
Change-Id: Ia4f13ee3444c2c733342c046ef1582517459fc9b
Treehugger Robot [Tue, 7 Feb 2017 12:08:19 +0000 (12:08 +0000)]
Merge "ARM: VIXL32: Fix "Align allocation entrypoints.."."
Richard Uhler [Tue, 7 Feb 2017 10:30:41 +0000 (10:30 +0000)]
Merge "Revert "Revert "Redesign implementation of RegisterNativeAllocation."""
Treehugger Robot [Tue, 7 Feb 2017 07:10:59 +0000 (07:10 +0000)]
Merge "Force stack dump to diagnose empty checkpoint timeout (2)."
Jeff Hao [Tue, 7 Feb 2017 00:41:16 +0000 (16:41 -0800)]
Add test if dex file fails to open during layout.
Bug:
34971122
Test: mm test-art-host-gtest-oat_test
Change-Id: I2cdf080783aa24193026683d98caa0d98cb7d055
Hiroshi Yamauchi [Fri, 3 Feb 2017 23:06:00 +0000 (15:06 -0800)]
Force stack dump to diagnose empty checkpoint timeout (2).
Bug:
33006388
Bug:
12687968
Test: test-art-host
Test: Thread dumping in a simulated empty checkpoint timeout.
Change-Id: I06641396b8f3d7a1a98366a01807aab2e6f31bd5
Treehugger Robot [Mon, 6 Feb 2017 23:47:32 +0000 (23:47 +0000)]
Merge "ART: Add marking to thread peer gathering in TI"
Treehugger Robot [Mon, 6 Feb 2017 23:38:55 +0000 (23:38 +0000)]
Merge "ART: Fix systrace monitor logging deadlock"
Treehugger Robot [Mon, 6 Feb 2017 23:15:43 +0000 (23:15 +0000)]
Merge "Add support for checking method and field invariants for redefinition."
Andreas Gampe [Mon, 6 Feb 2017 18:23:26 +0000 (10:23 -0800)]
ART: Add marking to thread peer gathering in TI
When CC is marking, we may get stale references due to a missing
mark.
Bug:
34760612
Test: ART_TEST_JIT=true ART_TEST_GC_STRESS=true test-art-host-run-test-924-threads
Test: ART_TEST_JIT=true ART_TEST_GC_STRESS=true test-art-host-run-test-925-threadgroups
Change-Id: I1becfc188b59a3c99cc7eea07c63abaaf108fd15
Igor Murashkin [Mon, 6 Feb 2017 21:26:28 +0000 (21:26 +0000)]
Merge "Revert "Revert "build: Generate asm_support_gen.h from the build, validate up-to-date"""
Alex Light [Wed, 25 Jan 2017 18:30:20 +0000 (10:30 -0800)]
Add support for checking method and field invariants for redefinition.
Test: mma -j40 test-art-host
Change-Id: I62c5d967522c2b3f455253a299c889fd5be19232
Andreas Gampe [Mon, 6 Feb 2017 17:48:00 +0000 (09:48 -0800)]
ART: Fix systrace monitor logging deadlock
Move the method logging earlier to avoid a deadlock due to re-acquiring
the mutator lock.
Bug:
34990215
Test: m
Test: Test on device
Change-Id: Id8069b133d1408a659afadd7e265d5027ac55a39
Nicolas Geoffray [Mon, 6 Feb 2017 20:32:47 +0000 (20:32 +0000)]
Merge "Remove obsolete restriction with allocations and dex cache."
David Sehr [Wed, 1 Feb 2017 18:42:11 +0000 (10:42 -0800)]
Remove Mutex dependency from MemMap
Use std::mutex to remove the dependency between MemMap and Mutex/Thread,
which depend upon Runtime. Next step towards making dexdump2 build and
run on Windows.
Bug:
22322814
Test: test-art
Change-Id: Ia6f4ef882dcef516ee83a81e965b3d744ce325b0
Igor Murashkin [Mon, 6 Feb 2017 18:34:14 +0000 (10:34 -0800)]
Revert "Revert "build: Generate asm_support_gen.h from the build, validate up-to-date""
This reverts commit
592505c340e82091a6e13e2dff3d8589255df0bb.
Fix HOST_PREFER_32_BIT=true causing buildbot
to fail with the new asm_support genrule.
Test: SOONG_ALLOW_MISSING_DEPENDENCIES=true HOST_PREFER_32_BIT=true\
make -j32 build-art-host-tests
Original-Change-Id: I1f0f94914d328c396906583d0732e281c076e69f
Change-Id: Ie08a11fdb9486b697d6cef4cec41b23ff120b205
Artem Serov [Fri, 3 Feb 2017 17:30:34 +0000 (17:30 +0000)]
ARM: VIXL32: Fix "Align allocation entrypoints..".
Add missing changes for VIXL backend to
https://android-review.googlesource.com/#/c/330124/.
Test: m test-art-host
Test: m test-art-target
Change-Id: Ic8383a7a426cbe8501e12838e9728fc3f359f03d
David Sehr [Mon, 6 Feb 2017 16:36:23 +0000 (16:36 +0000)]
Merge "Enable thread annotations for std::mutex"
Nicolas Geoffray [Mon, 6 Feb 2017 16:36:24 +0000 (16:36 +0000)]
Remove obsolete restriction with allocations and dex cache.
We used to rely on being in the same dex file for doing allocations,
but not anymore.
Test: ART_TEST_JIT=true test-art-host
Change-Id: Iabc27469dadea6bfe39054e4be305e620818ac99
Nicolas Geoffray [Mon, 6 Feb 2017 15:58:39 +0000 (15:58 +0000)]
Merge "Fix test after inlining optimization."
Nicolas Geoffray [Mon, 6 Feb 2017 15:25:28 +0000 (15:25 +0000)]
Fix test after inlining optimization.
Runtime.getRuntime() can now be inlined, but the test was
assuming it could not, therefore instructions would not get
licm'ed.
test: 482-checker-loop-back-edge-use
Change-Id: I19ea20c555f699673556225ecf9d945c5a91afa5
Treehugger Robot [Mon, 6 Feb 2017 12:53:58 +0000 (12:53 +0000)]
Richard Uhler [Wed, 1 Feb 2017 09:54:17 +0000 (09:54 +0000)]
Revert "Revert "Redesign implementation of RegisterNativeAllocation.""
This reverts commit
36bdbd2bf2ee36662f700b63474b546a7abecfa3.
Bug:
29156652
Bug:
32576211
Test: 004-NativeAllocations in a loop with high machine load.
Change-Id: I4470222c66aef4e0daa7612c84177b6c35bd28a9
Nicolas Geoffray [Mon, 6 Feb 2017 11:53:53 +0000 (11:53 +0000)]
Merge "Revert "Revert "Inline across dex files for JIT."""
Przemyslaw Szczepaniak [Fri, 3 Feb 2017 13:55:07 +0000 (13:55 +0000)]
Tests for libcore change
d2aa1365d25911076cb174a04b1d5152f0ff80e3
Test: make test-art-host
Bug:
31028374
Change-Id: Ic6e459d068f8ff2f7bd958bca9e7be433170381b
Roland Levillain [Mon, 6 Feb 2017 10:13:08 +0000 (10:13 +0000)]
Merge "Clean up art::mirror::Class::SetSuperClass."
Nicolas Geoffray [Mon, 6 Feb 2017 08:27:55 +0000 (08:27 +0000)]
Merge "Code refactoring around sharpening HLoadClass."
Nicolas Geoffray [Fri, 3 Feb 2017 10:43:13 +0000 (10:43 +0000)]
Revert "Revert "Inline across dex files for JIT.""
bug:
30933338
This reverts commit
d16da8bd8106452eea82408748dc6b3fd64bcb80.
Change-Id: I6a30354d6d00442cb1a542af063c7769865e369d
Mathieu Chartier [Mon, 6 Feb 2017 07:25:40 +0000 (07:25 +0000)]
Merge "Clean up transaction"
Shubham Ajmera [Mon, 6 Feb 2017 06:42:34 +0000 (06:42 +0000)]
Merge changes Idcdfe515,I888be2bd
* changes:
Revert "ART Test Runner"
Revert "Fix issues in ART testrunner"
Shubham Ajmera [Mon, 6 Feb 2017 06:42:01 +0000 (06:42 +0000)]
Merge "Revert "Fix a typo in ART testrunner""
Shubham Ajmera [Mon, 6 Feb 2017 06:39:11 +0000 (06:39 +0000)]
Revert "ART Test Runner"
This reverts commit
b5a77b91f3b52ff7de5bb3be2fb8c420f6968cb6.
Change-Id: Idcdfe5157624ebfe29a0f9079265368ea184d0f9
Shubham Ajmera [Mon, 6 Feb 2017 06:38:52 +0000 (06:38 +0000)]
Revert "Fix issues in ART testrunner"
This reverts commit
e2f7cedae1aaa4d100bcee558ab5e7abf5ef8b5f.
Change-Id: I888be2bd1205e3eac3923695cb3f24c4e858e868
Shubham Ajmera [Mon, 6 Feb 2017 06:38:28 +0000 (06:38 +0000)]
Revert "Fix a typo in ART testrunner"
This reverts commit
542d5b88748d5ae8ef143b2b744321660a0cb92b.
Change-Id: I67d61087b277da0d110237d600478b4255806d23
Shubham Ajmera [Sun, 5 Feb 2017 18:56:32 +0000 (18:56 +0000)]
Merge "Fix a typo in ART testrunner"
Shubham Ajmera [Sun, 5 Feb 2017 18:50:15 +0000 (18:50 +0000)]
Fix a typo in ART testrunner
Test: Runner is working with ART_TEST_ANDROID_ROOT set.
Change-Id: If2a23002bdff9a10f28b5b1b730d879440c3bde6
Shubham Ajmera [Sun, 5 Feb 2017 02:06:14 +0000 (02:06 +0000)]
Merge "Fix issues in ART testrunner"
Shubham Ajmera [Sun, 5 Feb 2017 00:46:09 +0000 (00:46 +0000)]
Fix issues in ART testrunner
Some missed tests added to knownfailure.json file.
Change-Id: Idb7eec4a5080401d5bf00b14c5486293f5c7acf5
Treehugger Robot [Sat, 4 Feb 2017 21:25:27 +0000 (21:25 +0000)]
Merge "ART Test Runner"
Shubham Ajmera [Wed, 7 Dec 2016 19:39:29 +0000 (19:39 +0000)]
ART Test Runner
The testrunner runs the ART run-tests by simply invoking the script.
It fetches the list of eligible tests from art/test directory, and list of
disabled tests from art/test/knownfailures.json. It runs the tests by
invoking art/test/run-test script and parses it output to check if the test
passed or failed.
Before invoking the script, first build all the tests dependencies by
building 'test-art-host-run-test-dependencies' for host tests,
'test-art-target-run-test-dependencies' for target tests, and
'test-art-run-test-dependencies' for building dependencies for both.
There are various options to invoke the script which are:
-t: Either the test name as in art/test or the test name including the variant
information. Eg, "-t 001-HelloWorld",
"-t test-art-host-run-test-debug-prebuild-optimizing-relocate-ntrace-cms-checkjni-picimage-npictest-ndebuggable-001-HelloWorld32"
-j: Number of thread workers to be used. Eg - "-j64"
--dry-run: Instead of running the test name, just print its name.
--verbose
-b To build the dependencies before running the test.
To specify any specific variants for the test, use --<<variant-name>>.
For eg, for compiler type as optimizing, use --optimizing.
In the end, the script will print the failed and skipped tests if any.
Changes in the Android.run-test.mk
1) Test targets like
"test-art-host-run-test-debug-prebuild-jit-relocate-ntrace-cms-checkjni-picimage-npictest-ndebuggable-055-enum-performance64"
2) New targets - test-art-host-run-test-dependencies and
test-art-target-run-test-dependencies have been added. The targets build
dependencies for host and target respectively.
3) Old targets like test-art-host-run-test-optimizing, test-art-host-run-test
build the dependencies using the above targets and then invokes the testrunner
to run the tests.
Test: No tests
Change-Id: I1823aa1cbfe3637a3c6ae8eb5843709fa77cee09
Calin Juravle [Sat, 4 Feb 2017 03:26:55 +0000 (03:26 +0000)]
Merge "Revert "build: Generate asm_support_gen.h from the build, validate up-to-date""
Calin Juravle [Sat, 4 Feb 2017 03:26:14 +0000 (03:26 +0000)]
Revert "build: Generate asm_support_gen.h from the build, validate up-to-date"
Breaks the build bot:
error: art/tools/cpp-define-generator/Android.bp:41:1: dependency "cpp-define-generator-data" of "cpp-define-generator-asm-support" missing variant "arch:linux_x86_64"
This reverts commit
2449a154c457eaa2c6a30e11184bb7381903cfd5.
Change-Id: I05ae3fa3c56a10238d48c52faa10b8c9c82d9d24
Treehugger Robot [Sat, 4 Feb 2017 01:21:17 +0000 (01:21 +0000)]
Merge "Revert "Revert "ART: Give JIT thread pool workers a peer"""
Igor Murashkin [Sat, 4 Feb 2017 00:47:05 +0000 (00:47 +0000)]
Merge "build: Generate asm_support_gen.h from the build, validate up-to-date"
Mathieu Chartier [Sat, 4 Feb 2017 00:06:35 +0000 (16:06 -0800)]
Clean up transaction
Disallow copy constructors, use move constructors, and fix
formatting. Aims to prevent future bugs.
Test: test-art-host
Bug:
34963782
Change-Id: Iaf626e94b14a1fd1b6b64fbd434f5de678e53dc2
David Sehr [Fri, 3 Feb 2017 23:19:00 +0000 (15:19 -0800)]
Enable thread annotations for std::mutex
Turn on c++ library support for clang thread safety annotations. This
will allow using std::mutex and related classes directly for
synchronization.
Bug:
22322814
Test: build
Change-Id: Ib8eda18a1f4f0d7a6f99c4d1b1438293b8e22de6
Hiroshi Yamauchi [Fri, 3 Feb 2017 23:31:11 +0000 (23:31 +0000)]
Merge "Don't use ModifyDebugDisallowReadBarrier in transaction mode."
Treehugger Robot [Fri, 3 Feb 2017 23:19:14 +0000 (23:19 +0000)]
Merge "ART: Refactor verify_object.h"
Hiroshi Yamauchi [Fri, 3 Feb 2017 23:09:26 +0000 (15:09 -0800)]
Don't use ModifyDebugDisallowReadBarrier in transaction mode.
Bug:
34963782
Test: test-art-host
Change-Id: I356eaf9010f1c137bed703326dcb7f641ce7fcfe
Andreas Gampe [Mon, 30 Jan 2017 16:40:49 +0000 (16:40 +0000)]
Revert "Revert "ART: Give JIT thread pool workers a peer""
This reverts commit
9dfb707ba2f8c2ff67d42c26e3214f5d7142b6d3.
Accept a live Java thread for the JIT, and adjust the tests
accordingly.
Bug:
31684920
Test: m ART_TEST_JIT=true ART_TEST_INTERPRETER=true test-art-host
Change-Id: I92cbae1eaae05711b9069335cf1a5f7eb58b9fd8
Mathieu Chartier [Fri, 3 Feb 2017 23:01:13 +0000 (23:01 +0000)]
Merge "Fix root visiting in transaction.cc"
Mathieu Chartier [Fri, 3 Feb 2017 22:47:36 +0000 (14:47 -0800)]
Fix root visiting in transaction.cc
Using a non reference auto makes a copy of the pair, this resulted in
the GC root never being updated if it moved.
Bug:
34981452
Test: untested
Change-Id: I3ea5d567e7ac016332c27058f9fdb77561c022c1
Treehugger Robot [Fri, 3 Feb 2017 21:06:44 +0000 (21:06 +0000)]
Merge "Add nullptr check for dex layout when opening the dex file fails."
Jeff Hao [Fri, 3 Feb 2017 18:48:13 +0000 (10:48 -0800)]
Add nullptr check for dex layout when opening the dex file fails.
Bug:
34971122
Test: mm test-art-host
Change-Id: Id486d6ecbcbc85bcb8dd0ccd24df45a1c2c07f43
Andreas Gampe [Tue, 31 Jan 2017 16:58:55 +0000 (08:58 -0800)]
ART: Refactor verify_object.h
Move the actual VerifyObject check into a new cc file, as we
commonly don't enable the check at all. This allows to cut the
-inl include from almost all current users.
This also exposes missing -inl includes. Also fix up some of our old
mess where .h defined functions require -inl.h defined functions.
Test: m
Change-Id: I3dd821bbe2015564a29bf1ed9be00f7a7276ad61
Roland Levillain [Fri, 3 Feb 2017 15:12:38 +0000 (15:12 +0000)]
Clean up art::mirror::Class::SetSuperClass.
- Move its definition from runtime/mirror/class.h to
runtime/mirror/class-inl.h.
- Prevent debug code from running in non-debug mode.
Test: test-art-host
Change-Id: I981cb9aa5c59c75c6a1c4d2145185cf8b147e2db
Bill Buzbee [Fri, 3 Feb 2017 16:00:44 +0000 (16:00 +0000)]
Merge "ART: Remove unused asm definition"
Nicolas Geoffray [Tue, 31 Jan 2017 14:36:37 +0000 (14:36 +0000)]
Code refactoring around sharpening HLoadClass.
Even if the class is not accessible through the dex cache, we
can access it by other means (eg boot class, jit table). So rewrite
static field access instruction builder to not bail out if a class
cannot be accessed through the dex cache.
bug:
34966607
test: test-art-host test-art-target
Change-Id: I88e4e09951a002b480eb8f271726b56f981291bd
buzbee [Fri, 3 Feb 2017 13:49:29 +0000 (05:49 -0800)]
ART: Remove unused asm definition
CL 331207 added a jit constant to be used in assembly, but ended
up not using it. Removed here.
Test: m test-art-host
Change-Id: Ibc558f92a66a6bce27982b5cfadf39db7258b991
Nicolas Geoffray [Fri, 3 Feb 2017 13:31:29 +0000 (13:31 +0000)]
Merge "Use the write entrypoint for stub_test."
Nicolas Geoffray [Fri, 3 Feb 2017 13:27:33 +0000 (13:27 +0000)]
Use the write entrypoint for stub_test.
Test: stub_test
Change-Id: I050d185e96c84e1540958a364f26920336c444bf
Scott Wakeling [Fri, 3 Feb 2017 11:38:35 +0000 (11:38 +0000)]
ARM: VIXL32: Remove erroneous DCHECK.
This DCHECK was removed from code_generator_arm.cc by
d8c052ac but not
from code_generator_arm_vixl.cc at the same time.
Test: export ART_USE_VIXL_ARM_BACKEND=true; m test-art-target
Change-Id: I1132311c37d5a09ee998888b140eb45fac0f7d39
Nicolas Geoffray [Fri, 3 Feb 2017 12:36:32 +0000 (12:36 +0000)]
Merge "Align allocation entrypoints implementation between arm/arm64/x86/x64."
Nicolas Geoffray [Fri, 3 Feb 2017 10:36:08 +0000 (10:36 +0000)]
Merge "Revert "Inline across dex files for JIT.""
Nicolas Geoffray [Fri, 3 Feb 2017 10:35:47 +0000 (10:35 +0000)]
Revert "Inline across dex files for JIT."
Broke hikey build.
bug:
30933338
This reverts commit
f290c01c61f8a2979efa74ffcd2f54c5e426a3d0.
Change-Id: I3363d703c54d0f9b69197a29395cc08f60c8b2ac
Nicolas Geoffray [Mon, 30 Jan 2017 14:57:16 +0000 (14:57 +0000)]
Align allocation entrypoints implementation between arm/arm64/x86/x64.
x64:
- Add art_quick_alloc_initialized_rosalloc
x86:
- Add art_quick_alloc_initialized_rosalloc
- Add art_quick_alloc_initialized{_region}_tlab
- Add art_quick_alloc_array_resolved{8,16,32,64}{_region}_tlab
arm32:
- Add art_quick_alloc_initialized_rosalloc
- Add art_quick_alloc_initialized{_region}_tlab
- Add art_quick_alloc_array_resolved{8,16,32,64}{_region}_tlab
arm64:
- Add art_quick_alloc_initialized_rosalloc
- Add art_quick_alloc_initialized{_region}_tlab
- Add art_quick_alloc_array_resolved{8,16,32,64}_tlab
Test: test-art-target test-art-host
bug:
30933338
Change-Id: I0dd8667a2921dd0b3403bea5d05304ba5d40627f