OSDN Git Service

android-x86/art.git
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 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

7 years agoMerge "Use the write entrypoint for stub_test."
Nicolas Geoffray [Fri, 3 Feb 2017 13:31:29 +0000 (13:31 +0000)]
Merge "Use the write entrypoint for stub_test."

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

7 years agoARM: VIXL32: Remove erroneous DCHECK.
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

7 years agoMerge "Align allocation entrypoints implementation between arm/arm64/x86/x64."
Nicolas Geoffray [Fri, 3 Feb 2017 12:36:32 +0000 (12:36 +0000)]
Merge "Align allocation entrypoints implementation between arm/arm64/x86/x64."

7 years agoMerge "Revert "Inline across dex files for JIT.""
Nicolas Geoffray [Fri, 3 Feb 2017 10:36:08 +0000 (10:36 +0000)]
Merge "Revert "Inline across dex files for JIT.""

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

7 years agoAlign allocation entrypoints implementation between arm/arm64/x86/x64.
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

7 years agoMerge "Inline across dex files for JIT."
Nicolas Geoffray [Fri, 3 Feb 2017 09:04:49 +0000 (09:04 +0000)]
Merge "Inline across dex files for JIT."

7 years agoMerge "MIPS: Support kJitTableAddress kinds of string/class loads."
Nicolas Geoffray [Fri, 3 Feb 2017 08:58:55 +0000 (08:58 +0000)]
Merge "MIPS: Support kJitTableAddress kinds of string/class loads."

7 years agoFix issues due to updated toolchain.
Jayant Chowdhary [Thu, 2 Feb 2017 20:48:10 +0000 (12:48 -0800)]
Fix issues due to updated toolchain.

Supress -Winstantiation-after-specialization for clang_major >= 4.

Test: mma -j64.

Change-Id: I644c900999b07d62b7e13ef8c551f7af6f26ea48

7 years agoMerge "Ensure we don't attempt to compile obsolete methods."
Treehugger Robot [Fri, 3 Feb 2017 01:30:48 +0000 (01:30 +0000)]
Merge "Ensure we don't attempt to compile obsolete methods."

7 years agobuild: Generate asm_support_gen.h from the build, validate up-to-date
Igor Murashkin [Thu, 2 Feb 2017 22:33:39 +0000 (14:33 -0800)]
build: Generate asm_support_gen.h from the build, validate up-to-date

When building libart/libartd, also generate asm_support_gen.h
automatically. In addition, verify that our checked-in version
(runtime/generated/asm_support_gen.h) is up-to-date with what the build
generates.

Furthermore, add a presubmit hook that runs with 'repo upload'
that validates that the up-to-date version of asm_support_gen.h
is being uploaded to gerrit.

This makes it significantly more difficult to accidentally
merge a CL that doesn't have the auto-generated headers updated
and break the build as a result.

Bug: 34387670
Test: make libart libartd
Test: cd art && tools/repohooks/pre-upload.py
Change-Id: I1f0f94914d328c396906583d0732e281c076e69f

7 years agoEnsure we don't attempt to compile obsolete methods.
Alex Light [Thu, 2 Feb 2017 23:09:54 +0000 (15:09 -0800)]
Ensure we don't attempt to compile obsolete methods.

We would run into issues if we tried to compile an obsolete method
since some of the information needed to do so is lost as we redefine
the declaring class. Since compiling these methods is unlikely to have
a major effect on the performance of the program we simply tell the
JIT not to bother with them.

Also update all places to use the new SetDontCompile helper.

Test: mma -j40 test-art-host
Test: stress --cpu 60 &; \
    while ./test/run-test --host --jit --gcstress --64 942; do ; done

Change-Id: Ie70fee6f503818e7589571facf28ccc5e7ca79f8

7 years agoMerge "ART: Add UnstartedRuntime support for Class.getSimpleName"
Treehugger Robot [Thu, 2 Feb 2017 21:46:22 +0000 (21:46 +0000)]
Merge "ART: Add UnstartedRuntime support for Class.getSimpleName"

7 years agoMerge "Ensure that all redefinition created dex file get on classpath"
Treehugger Robot [Thu, 2 Feb 2017 21:02:50 +0000 (21:02 +0000)]
Merge "Ensure that all redefinition created dex file get on classpath"

7 years agoMerge "Math.min and Math.max intrinsics for ARM"
Treehugger Robot [Thu, 2 Feb 2017 19:32:03 +0000 (19:32 +0000)]
Merge "Math.min and Math.max intrinsics for ARM"

7 years agoEnsure that all redefinition created dex file get on classpath
Alex Light [Wed, 1 Feb 2017 23:35:34 +0000 (15:35 -0800)]
Ensure that all redefinition created dex file get on classpath

We were not adding some DexFiles to the ClassPath if there were
multiple classes from the same classloader being redefined at the same
time. We fixed this issue and made a test for it.

Test: mma -j40 test-art-host

Change-Id: I6e8961c8602367ebec5d5a948d71e58f3be2f6d7

7 years agoART: Add UnstartedRuntime support for Class.getSimpleName
Andreas Gampe [Thu, 2 Feb 2017 04:40:44 +0000 (20:40 -0800)]
ART: Add UnstartedRuntime support for Class.getSimpleName

This requires two native methods, isAnonymousClass and
getDeclaringClass.

Add tests.

Bug: 34890992
Test: m
Test: m test-art-host
Test: Device boots
Change-Id: Ib3fca2a6bb6e367ef202ff864719cab979d6c793

7 years agoMerge "Fix creating self-recursive obsolete methods."
Treehugger Robot [Thu, 2 Feb 2017 18:46:03 +0000 (18:46 +0000)]
Merge "Fix creating self-recursive obsolete methods."

7 years agoMerge "Print ARM and ARM64 registers in art::UContext::Dump."
Roland Levillain [Thu, 2 Feb 2017 18:28:41 +0000 (18:28 +0000)]
Merge "Print ARM and ARM64 registers in art::UContext::Dump."

7 years agoMerge "Various improvements to stack walking speed"
Mathieu Chartier [Thu, 2 Feb 2017 17:51:04 +0000 (17:51 +0000)]
Merge "Various improvements to stack walking speed"

7 years agoVarious improvements to stack walking speed
Mathieu Chartier [Wed, 1 Feb 2017 21:10:06 +0000 (13:10 -0800)]
Various improvements to stack walking speed

Make BitMemoryRegion constructor inlined, remove read barrier
for IsProxyMethod.

Around 15% speedup for pmd benchmark, maybe more for CC.

Test: test-art-host

Change-Id: Ib4392649e041406e538cc944c26c69f68d388fb4

7 years agoMerge "Faster stack trace creation"
Mathieu Chartier [Thu, 2 Feb 2017 17:47:18 +0000 (17:47 +0000)]
Merge "Faster stack trace creation"

7 years agoMerge "Use dex cache for GetResolvedMethod"
Mathieu Chartier [Thu, 2 Feb 2017 17:43:23 +0000 (17:43 +0000)]
Merge "Use dex cache for GetResolvedMethod"

7 years agoMerge "ART: Fix buildbot-build.sh"
Treehugger Robot [Thu, 2 Feb 2017 17:38:57 +0000 (17:38 +0000)]
Merge "ART: Fix buildbot-build.sh"

7 years agoMerge "ART: Reduce overhead of mterp OSR checking"
Bill Buzbee [Thu, 2 Feb 2017 17:08:16 +0000 (17:08 +0000)]
Merge "ART: Reduce overhead of mterp OSR checking"