OSDN Git Service
Vladimir Marko [Mon, 6 Feb 2017 19:59:33 +0000 (19:59 +0000)]
Change type initialization entrypoints to kSaveEverything.
Also avoid the unnecessary read barriers for boot image
classes with kBssEntry or kJitTableAddress (the kBssEntry
and JIT work missed the `read_barrier_option` flag), fix
bit-rotten non-Baker read barriers on ARM and ARM64 and
fix bit-rotten ARM64 relative patcher's IsAdrpPatch() used
for erratum 843419 workaround.
aosp_angler-userdebug with CC:
before:
arm boot*.oat:
35440420
arm64 boot*.oat:
43504952
after:
arm boot*.oat:
35222292 (-218128, -0.62%)
arm64 boot*.oat:
43389048 (-115904, -0.26%)
aosp_angler-userdebug without CC:
before:
arm boot*.oat:
31927412
arm64 boot*.oat:
39340512
after:
arm boot*.oat:
31708736 (-218676, -0.68%)
arm64 boot*.oat:
39211768 (-128744, -0.33%)
Test: m test-art-host (non-CC, Baker CC, table lookup CC)
Test: m test-art-target on Nexus 6P (non-CC, Baker CC, table lookup CC)
Test: Nexus 6P boots (non-CC, Baker CC, table lookup CC)
Bug:
30627598
Change-Id: Ida5bbce414844de9e4273e40334165d4494230d4
Roland Levillain [Tue, 7 Feb 2017 13:48:31 +0000 (13:48 +0000)]
Merge "ARM: VIXL32: Remove erroneous DCHECK."
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)."
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."
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
Nicolas Geoffray [Fri, 3 Feb 2017 09:04:49 +0000 (09:04 +0000)]
Merge "Inline across dex files for JIT."
Nicolas Geoffray [Fri, 3 Feb 2017 08:58:55 +0000 (08:58 +0000)]
Merge "MIPS: Support kJitTableAddress kinds of string/class loads."
Treehugger Robot [Fri, 3 Feb 2017 01:30:48 +0000 (01:30 +0000)]
Merge "Ensure we don't attempt to compile obsolete methods."
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
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
Treehugger Robot [Thu, 2 Feb 2017 21:46:22 +0000 (21:46 +0000)]
Merge "ART: Add UnstartedRuntime support for Class.getSimpleName"
Treehugger Robot [Thu, 2 Feb 2017 21:02:50 +0000 (21:02 +0000)]
Merge "Ensure that all redefinition created dex file get on classpath"
Treehugger Robot [Thu, 2 Feb 2017 19:32:03 +0000 (19:32 +0000)]
Merge "Math.min and Math.max intrinsics for ARM"
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
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
Treehugger Robot [Thu, 2 Feb 2017 18:46:03 +0000 (18:46 +0000)]
Merge "Fix creating self-recursive obsolete methods."
Roland Levillain [Thu, 2 Feb 2017 18:28:41 +0000 (18:28 +0000)]
Merge "Print ARM and ARM64 registers in art::UContext::Dump."
Mathieu Chartier [Thu, 2 Feb 2017 17:51:04 +0000 (17:51 +0000)]
Merge "Various 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
Mathieu Chartier [Thu, 2 Feb 2017 17:47:18 +0000 (17:47 +0000)]
Merge "Faster stack trace creation"
Mathieu Chartier [Thu, 2 Feb 2017 17:43:23 +0000 (17:43 +0000)]
Merge "Use dex cache for GetResolvedMethod"
Treehugger Robot [Thu, 2 Feb 2017 17:38:57 +0000 (17:38 +0000)]
Merge "ART: Fix buildbot-build.sh"
Bill Buzbee [Thu, 2 Feb 2017 17:08:16 +0000 (17:08 +0000)]
Merge "ART: Reduce overhead of mterp OSR checking"
xueliang.zhong [Mon, 28 Mar 2016 15:44:32 +0000 (16:44 +0100)]
Math.min and Math.max intrinsics for ARM
This patch implements min/max intrinsics for:
* Long
* Float
* Double
Test: m test-art-host
Test: m test-art-target
Test: 082-inline-execute
Change-Id: I2dfab8ab606f3d01fba712f9014d2e0617449d74
Nicolas Geoffray [Fri, 27 Jan 2017 23:09:22 +0000 (23:09 +0000)]
Inline across dex files for JIT.
bug:
30933338
test: ART_TEST_JIT=true test-art-host test-art-target
Change-Id: I4ac708d70d90c2db4139d99a75bf4665a810c206
Treehugger Robot [Thu, 2 Feb 2017 15:40:31 +0000 (15:40 +0000)]
Merge "Blacklist another 96* test for no-image."
Treehugger Robot [Thu, 2 Feb 2017 13:30:18 +0000 (13:30 +0000)]
Merge "MIPS: Correct instruction alignment."
Nicolas Geoffray [Thu, 2 Feb 2017 11:50:29 +0000 (11:50 +0000)]
Blacklist another 96* test for no-image.
Test: test-art-host
Change-Id: I16e3a0a17ca6193a68932c78f67e0d788684e7ef
Treehugger Robot [Thu, 2 Feb 2017 11:23:02 +0000 (11:23 +0000)]
Merge "AArch64: Add HInstruction scheduling support."
Nicolas Geoffray [Thu, 2 Feb 2017 08:59:08 +0000 (08:59 +0000)]
Merge "Fix perf-inject jit profiling for osr method."
Andreas Gampe [Thu, 2 Feb 2017 06:07:45 +0000 (22:07 -0800)]
ART: Fix buildbot-build.sh
Fix infinite loop for unrecognized options.
Test: art/tools/buildbot-build.sh --host
Test: art/tools/buildbot-build.sh --mode=host
Change-Id: I9f3b53021d83ddef2dca89b414065b9ea0bfafbf
Treehugger Robot [Thu, 2 Feb 2017 03:51:38 +0000 (03:51 +0000)]
Merge "Fix address space conflict with asan in 32-bit."
Alexey Frunze [Thu, 2 Feb 2017 00:25:37 +0000 (16:25 -0800)]
MIPS: Correct instruction alignment.
Test: booted MIPS32R2 in QEMU
Test: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU
Change-Id: Iff61353bc9e787e65f3f17d8938d4b5561d2a603
Treehugger Robot [Thu, 2 Feb 2017 01:59:37 +0000 (01:59 +0000)]
Merge "Separate art::Exec from utils"
Hiroshi Yamauchi [Wed, 1 Feb 2017 18:58:17 +0000 (10:58 -0800)]
Fix address space conflict with asan in 32-bit.
Asan reserves 0x04000000 - 0x20000000 in 32-bit.
Bug:
34606909
Test: marlin-userdebug asan coverage build boots.
Test: test-art-host
Change-Id: I3ee9cd290cd02de02e7d6c79b854479a985549c3
Mathieu Chartier [Wed, 1 Feb 2017 23:50:54 +0000 (15:50 -0800)]
Use dex cache for GetResolvedMethod
Using the dex cache is faster than going through the class linker.
This reverts to behavior from before aog/321573.
Speeds up pmd benchmark by ~50%.
Test: test-art-host
Change-Id: I58403aec03e2b7e7a3d3e108319cfb4c75a680cb
Mathieu Chartier [Wed, 1 Feb 2017 19:03:50 +0000 (11:03 -0800)]
Faster stack trace creation
Cache stack frames from the counting visitor to avoid needing to
walk the stack twice in the common case.
Speeds up pmd benchark by 20%.
Test: test-art-host
Change-Id: I81e4e55280d9c1ccf1937a7ea12abff75e9abb94
David Sehr [Wed, 1 Feb 2017 23:09:58 +0000 (15:09 -0800)]
Separate art::Exec from utils
The rest of utils.cc does not depend on art::Runtime. This separates
the part dependent on that class, so that including utils.cc in the
build does not require the entire Runtime. Another preparatory cleanup
to getting tools to build on Windows.
Bug:
22322814
Test: test-art
Change-Id: I194ff363fc2ab87e5311ecea6973a2d0fad2621d
Alex Light [Mon, 30 Jan 2017 22:57:11 +0000 (14:57 -0800)]
Fix creating self-recursive obsolete methods.
We were using recursive loading of the current art method which was
making us miss obsolete methods in some cases.
We could also end up checking the wrong method when walking the stack.
We also add tests for recursive obsolete methods in general.
Bug:
34815470
Test: mma -j40 test-art-host
Test: ART_TEST_JIT=true mma -j40 test-art-host
Change-Id: I522fd4cac4e3f9d35d03b128bad6d6971cfe6c4a
Alexey Frunze [Tue, 31 Jan 2017 03:28:14 +0000 (19:28 -0800)]
MIPS: Support kJitTableAddress kinds of string/class loads.
Also remove a few stale comments.
Test: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU
Test: "make -j1 ART_TEST_DEFAULT_COMPILER=false ART_TEST_OPTIMIZING=false
ART_TEST_INTERPRETER=false ART_TEST_JIT=true
test-art-target-run-test"
Test: booted MIPS32R2 in QEMU
Change-Id: I8914b8e6594e030f8137e7fface1ae20b6d6b971