OSDN Git Service

android-x86/art.git
7 years agoMerge "Make class redefinition work with native methods on stack."
Treehugger Robot [Fri, 10 Feb 2017 00:48:08 +0000 (00:48 +0000)]
Merge "Make class redefinition work with native methods on stack."

7 years agoMerge "ART: Update unstarted runtime for changed libcore"
Treehugger Robot [Thu, 9 Feb 2017 23:37:23 +0000 (23:37 +0000)]
Merge "ART: Update unstarted runtime for changed libcore"

7 years agoMerge "Revert "Revert "ART: Add JIT + events test to run-test 912"""
Treehugger Robot [Thu, 9 Feb 2017 23:30:54 +0000 (23:30 +0000)]
Merge "Revert "Revert "ART: Add JIT + events test to run-test 912"""

7 years agoMake class redefinition work with native methods on stack.
Alex Light [Thu, 9 Feb 2017 22:49:13 +0000 (14:49 -0800)]
Make class redefinition work with native methods on stack.

Previously we would crash if we tried to redefine a class with native
methods if it had any native frames on a stack. This happened when we
tried to create an obsolete method for the native method.

Since native methods cannot really become obsolete in the same way
that regular java ones can we simply do not make any obsolete methods
for these native methods.

Test: mma -j40 test-art-host
Change-Id: Ib677f73faae52627a478aa7cfe870c1f2c4fb503

7 years agoMerge "Fix ownership of DexFile in profman"
David Sehr [Thu, 9 Feb 2017 22:44:36 +0000 (22:44 +0000)]
Merge "Fix ownership of DexFile in profman"

7 years agoART: Update unstarted runtime for changed libcore
Andreas Gampe [Thu, 9 Feb 2017 20:50:52 +0000 (12:50 -0800)]
ART: Update unstarted runtime for changed libcore

Update float conversion to current libcore implementation. Add
tests.

Bug: 34956610
Test: m test-art-host-gtest-unstarted_runtime_test
Change-Id: Ib62c64011e2d5b980fb8fab81f6c343065ce946c

7 years agoFix ownership of DexFile in profman
David Sehr [Thu, 9 Feb 2017 04:58:10 +0000 (20:58 -0800)]
Fix ownership of DexFile in profman

Don't leak the DexFiles we open in profman.

Bug: 34929204
Test: make test-art-host
Change-Id: Ife29556117c4dd84dd3e970901a7fdf458e5ad98

7 years agoMerge "A bit of oatdump clean up"
Mathieu Chartier [Thu, 9 Feb 2017 17:30:20 +0000 (17:30 +0000)]
Merge "A bit of oatdump clean up"

7 years agoMerge "Fix dex cache resolved types and class table mismatch."
Vladimir Marko [Thu, 9 Feb 2017 12:30:41 +0000 (12:30 +0000)]
Merge "Fix dex cache resolved types and class table mismatch."

7 years agoFix 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

7 years agoRevert "Revert "ART: Add JIT + events test to run-test 912""
Andreas Gampe [Wed, 8 Feb 2017 16:28:59 +0000 (16:28 +0000)]
Revert "Revert "ART: Add JIT + events test to run-test 912""

This reverts commit f833c5c551ec87f8d240b97142fd27b689613ccf.

Add NoSuchElementException to preparation.

Bug: 31684920
Test: m ART_TEST_JIT=true test-art-host-run-test-912-classes
Change-Id: Ied7c273194e77236e1df67a92c4a0086abcbcd46

7 years agoA bit of oatdump clean up
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

7 years agoMerge "Update oatdump to have inline info breakdown"
Mathieu Chartier [Thu, 9 Feb 2017 00:45:04 +0000 (00:45 +0000)]
Merge "Update oatdump to have inline info breakdown"

7 years agoMerge "Un-disable redefinition tests on JIT."
Alex Light [Wed, 8 Feb 2017 23:49:33 +0000 (23:49 +0000)]
Merge "Un-disable redefinition tests on JIT."

7 years agoMerge "Keep failing tests' infomation without --verbose as well"
Shubham Ajmera [Wed, 8 Feb 2017 22:50:17 +0000 (22:50 +0000)]
Merge "Keep failing tests' infomation without --verbose as well"

7 years agoUn-disable redefinition tests on JIT.
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

7 years agoUpdate oatdump to have inline info breakdown
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

7 years agoMerge "Clean up code info table layout"
Mathieu Chartier [Wed, 8 Feb 2017 21:29:24 +0000 (21:29 +0000)]
Merge "Clean up code info table layout"

7 years agoMerge "Revert -Wunreachable-code workaround."
Treehugger Robot [Wed, 8 Feb 2017 21:02:37 +0000 (21:02 +0000)]
Merge "Revert -Wunreachable-code workaround."

7 years agoMerge changes I1fb50fb6,I8b3fa817
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.

7 years agoKeep failing tests' infomation without --verbose as well
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

7 years agoRevert -Wunreachable-code workaround.
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

7 years agoEnsure that both stderr and stdout are captured
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

7 years agoMerge "Undo class_linker.cc workaround for out of registers bug."
Treehugger Robot [Wed, 8 Feb 2017 18:25:00 +0000 (18:25 +0000)]
Merge "Undo class_linker.cc workaround for out of registers bug."

7 years agoMake sure that we join paths correctly.
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

7 years agoClean up code info table layout
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

7 years agoMerge "ART Test Runner"
Shubham Ajmera [Wed, 8 Feb 2017 11:02:21 +0000 (11:02 +0000)]
Merge "ART Test Runner"

7 years agoMerge "Revert "ART: Add JIT + events test to run-test 912""
Nicolas Geoffray [Wed, 8 Feb 2017 10:59:33 +0000 (10:59 +0000)]
Merge "Revert "ART: Add JIT + events test to run-test 912""

7 years agoRevert "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

7 years agoUndo class_linker.cc workaround for out of registers bug.
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

7 years agoMerge "ART: Make run-test 931 more defensive wrt/ shutdown"
Andreas Gampe [Wed, 8 Feb 2017 03:16:42 +0000 (03:16 +0000)]
Merge "ART: Make run-test 931 more defensive wrt/ shutdown"

7 years agoMerge "ART: Add JIT + events test to run-test 912"
Andreas Gampe [Wed, 8 Feb 2017 02:21:03 +0000 (02:21 +0000)]
Merge "ART: Add JIT + events test to run-test 912"

7 years agoMerge "Verify redefined classes"
Treehugger Robot [Wed, 8 Feb 2017 00:27:28 +0000 (00:27 +0000)]
Merge "Verify redefined classes"

7 years agoART: Make run-test 931 more defensive wrt/ shutdown
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

7 years agoART: Add JIT + events test to run-test 912
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

7 years agoMerge "Add test if dex file fails to open during layout."
Treehugger Robot [Tue, 7 Feb 2017 19:49:29 +0000 (19:49 +0000)]
Merge "Add test if dex file fails to open during layout."

7 years agoMerge "Fix issues due to updated toolchain."
Treehugger Robot [Tue, 7 Feb 2017 18:25:32 +0000 (18:25 +0000)]
Merge "Fix issues due to updated toolchain."

7 years agoMerge "Remove Mutex dependency from MemMap"
David Sehr [Tue, 7 Feb 2017 18:00:50 +0000 (18:00 +0000)]
Merge "Remove Mutex dependency from MemMap"

7 years agoMerge "Revert to `-fstack-protector-strong` in read barrier config."
Roland Levillain [Tue, 7 Feb 2017 17:44:45 +0000 (17:44 +0000)]
Merge "Revert to `-fstack-protector-strong` in read barrier config."

7 years agoVerify redefined classes
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

7 years agoMerge "ARM: VIXL32: Remove erroneous DCHECK."
Roland Levillain [Tue, 7 Feb 2017 13:48:31 +0000 (13:48 +0000)]
Merge "ARM: VIXL32: Remove erroneous DCHECK."

7 years agoART Test Runner
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

7 years agoMerge "ARM: VIXL32: Fix "Align allocation entrypoints.."."
Treehugger Robot [Tue, 7 Feb 2017 12:08:19 +0000 (12:08 +0000)]
Merge "ARM: VIXL32: Fix "Align allocation entrypoints.."."

7 years agoMerge "Revert "Revert "Redesign implementation of RegisterNativeAllocation."""
Richard Uhler [Tue, 7 Feb 2017 10:30:41 +0000 (10:30 +0000)]
Merge "Revert "Revert "Redesign implementation of RegisterNativeAllocation."""

7 years agoMerge "Force stack dump to diagnose empty checkpoint timeout (2)."
Treehugger Robot [Tue, 7 Feb 2017 07:10:59 +0000 (07:10 +0000)]
Merge "Force stack dump to diagnose empty checkpoint timeout (2)."

7 years agoAdd test if dex file fails to open during layout.
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

7 years agoForce stack dump to diagnose empty checkpoint timeout (2).
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

7 years agoMerge "ART: Add marking to thread peer gathering in TI"
Treehugger Robot [Mon, 6 Feb 2017 23:47:32 +0000 (23:47 +0000)]
Merge "ART: Add marking to thread peer gathering in TI"

7 years agoMerge "ART: Fix systrace monitor logging deadlock"
Treehugger Robot [Mon, 6 Feb 2017 23:38:55 +0000 (23:38 +0000)]
Merge "ART: Fix systrace monitor logging deadlock"

7 years agoMerge "Add support for checking method and field invariants for redefinition."
Treehugger Robot [Mon, 6 Feb 2017 23:15:43 +0000 (23:15 +0000)]
Merge "Add support for checking method and field invariants for redefinition."

7 years agoART: Add marking to thread peer gathering in TI
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

7 years agoMerge "Revert "Revert "build: Generate asm_support_gen.h from the build, validate...
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"""

7 years agoAdd support for checking method and field invariants for redefinition.
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

7 years agoART: Fix systrace monitor logging deadlock
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

7 years agoMerge "Remove obsolete restriction with allocations and dex cache."
Nicolas Geoffray [Mon, 6 Feb 2017 20:32:47 +0000 (20:32 +0000)]
Merge "Remove obsolete restriction with allocations and dex cache."

7 years agoRemove Mutex dependency from MemMap
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

7 years agoRevert "Revert "build: Generate asm_support_gen.h from the build, validate up-to...
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

7 years agoARM: VIXL32: Fix "Align allocation entrypoints..".
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

7 years agoMerge "Enable thread annotations for std::mutex"
David Sehr [Mon, 6 Feb 2017 16:36:23 +0000 (16:36 +0000)]
Merge "Enable thread annotations for std::mutex"

7 years agoRemove obsolete restriction with allocations and dex cache.
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

7 years agoMerge "Fix test after inlining optimization."
Nicolas Geoffray [Mon, 6 Feb 2017 15:58:39 +0000 (15:58 +0000)]
Merge "Fix test after inlining optimization."

7 years agoFix 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

7 years agoMerge "Tests for libcore change d2aa1365d25911076cb174a04b1d5152f0ff80e3"
Treehugger Robot [Mon, 6 Feb 2017 12:53:58 +0000 (12:53 +0000)]
Merge "Tests for libcore change d2aa1365d25911076cb174a04b1d5152f0ff80e3"

7 years agoRevert "Revert "Redesign implementation of RegisterNativeAllocation.""
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

7 years agoMerge "Revert "Revert "Inline across dex files for JIT."""
Nicolas Geoffray [Mon, 6 Feb 2017 11:53:53 +0000 (11:53 +0000)]
Merge "Revert "Revert "Inline across dex files for JIT."""

7 years agoTests for libcore change d2aa1365d25911076cb174a04b1d5152f0ff80e3
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

7 years agoMerge "Clean up art::mirror::Class::SetSuperClass."
Roland Levillain [Mon, 6 Feb 2017 10:13:08 +0000 (10:13 +0000)]
Merge "Clean up art::mirror::Class::SetSuperClass."

7 years agoMerge "Code refactoring around sharpening HLoadClass."
Nicolas Geoffray [Mon, 6 Feb 2017 08:27:55 +0000 (08:27 +0000)]
Merge "Code refactoring around sharpening HLoadClass."

7 years agoRevert "Revert "Inline across dex files for JIT.""
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

7 years agoMerge "Clean up transaction"
Mathieu Chartier [Mon, 6 Feb 2017 07:25:40 +0000 (07:25 +0000)]
Merge "Clean up transaction"

7 years agoMerge changes Idcdfe515,I888be2bd
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"

7 years agoMerge "Revert "Fix a typo in ART testrunner""
Shubham Ajmera [Mon, 6 Feb 2017 06:42:01 +0000 (06:42 +0000)]
Merge "Revert "Fix a typo in ART testrunner""

7 years agoRevert "ART Test Runner"
Shubham Ajmera [Mon, 6 Feb 2017 06:39:11 +0000 (06:39 +0000)]
Revert "ART Test Runner"

This reverts commit b5a77b91f3b52ff7de5bb3be2fb8c420f6968cb6.

Change-Id: Idcdfe5157624ebfe29a0f9079265368ea184d0f9

7 years agoRevert "Fix issues in ART testrunner"
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

7 years agoRevert "Fix a typo in ART testrunner"
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

7 years agoMerge "Fix a typo in ART testrunner"
Shubham Ajmera [Sun, 5 Feb 2017 18:56:32 +0000 (18:56 +0000)]
Merge "Fix a typo in ART testrunner"

7 years agoFix 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

7 years agoMerge "Fix issues in ART testrunner"
Shubham Ajmera [Sun, 5 Feb 2017 02:06:14 +0000 (02:06 +0000)]
Merge "Fix issues in ART testrunner"

7 years agoFix 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

7 years agoMerge "ART Test Runner"
Treehugger Robot [Sat, 4 Feb 2017 21:25:27 +0000 (21:25 +0000)]
Merge "ART Test Runner"

7 years agoART 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

7 years agoMerge "Revert "build: Generate asm_support_gen.h from the build, validate up-to-date""
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""

7 years agoRevert "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

7 years agoMerge "Revert "Revert "ART: Give JIT thread pool workers a peer"""
Treehugger Robot [Sat, 4 Feb 2017 01:21:17 +0000 (01:21 +0000)]
Merge "Revert "Revert "ART: Give JIT thread pool workers a peer"""

7 years agoMerge "build: Generate asm_support_gen.h from the build, validate up-to-date"
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"

7 years agoClean up transaction
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

7 years agoEnable thread annotations for std::mutex
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

7 years agoMerge "Don't use ModifyDebugDisallowReadBarrier in transaction mode."
Hiroshi Yamauchi [Fri, 3 Feb 2017 23:31:11 +0000 (23:31 +0000)]
Merge "Don't use ModifyDebugDisallowReadBarrier in transaction mode."

7 years agoMerge "ART: Refactor verify_object.h"
Treehugger Robot [Fri, 3 Feb 2017 23:19:14 +0000 (23:19 +0000)]
Merge "ART: Refactor verify_object.h"

7 years agoDon't use ModifyDebugDisallowReadBarrier in transaction mode.
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

7 years agoRevert "Revert "ART: Give JIT thread pool workers a peer""
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

7 years agoMerge "Fix root visiting in transaction.cc"
Mathieu Chartier [Fri, 3 Feb 2017 23:01:13 +0000 (23:01 +0000)]
Merge "Fix root visiting in transaction.cc"

7 years agoFix 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

7 years agoMerge "Add nullptr check for dex layout when opening the dex file fails."
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."

7 years agoAdd 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

7 years agoART: Refactor verify_object.h
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

7 years agoClean up art::mirror::Class::SetSuperClass.
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

7 years agoMerge "ART: Remove unused asm definition"
Bill Buzbee [Fri, 3 Feb 2017 16:00:44 +0000 (16:00 +0000)]
Merge "ART: Remove unused asm definition"

7 years agoCode refactoring around sharpening HLoadClass.
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

7 years agoART: Remove unused asm definition
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