OSDN Git Service
Treehugger Robot [Fri, 24 Feb 2017 10:30:14 +0000 (10:30 +0000)]
Merge "ART: add exynos-m2 to a53 #835769 & #843419 erratum exception list"
Vladimir Marko [Fri, 24 Feb 2017 10:15:20 +0000 (10:15 +0000)]
Merge "Fix compilation statistics collection in inliner."
Nicolas Geoffray [Fri, 24 Feb 2017 09:40:54 +0000 (09:40 +0000)]
Merge "Revert "ART: Add heap filter support""
Nicolas Geoffray [Fri, 24 Feb 2017 09:40:37 +0000 (09:40 +0000)]
Revert "ART: Add heap filter support"
Test is flaky.
Bug:
31385354
This reverts commit
4beab68986101d85d878491558bab34c9687beb0.
Change-Id: Id22e5b1c5cd3ca7b0e58037ecf3625f7239c5a7c
Nicolas Geoffray [Fri, 24 Feb 2017 09:02:57 +0000 (09:02 +0000)]
Merge "Update entrypoint directly when doing JIT code cache GC."
Treehugger Robot [Fri, 24 Feb 2017 02:38:50 +0000 (02:38 +0000)]
Merge "Fix testrunner.py reporting"
Junmo Park [Wed, 3 Aug 2016 07:51:22 +0000 (16:51 +0900)]
ART: add exynos-m2 to a53 #835769 & #843419 erratum exception list
Exynos-M2 is custom-designed 64-bit ARM CPU and does not need this A53
erratum handling.
Change-Id: I2a72a0cb84d6cffe45a87ac23ff3164806bb7a7a
Signed-off-by: Junmo Park <junmoz.park@samsung.com>
Alex Light [Fri, 24 Feb 2017 01:02:46 +0000 (17:02 -0800)]
Fix testrunner.py reporting
Bad indentation meant we wouldn't print status updates if the terminal
is wide enough to print the entire target name.
Test: with a wide terminal ./test/testrunner/testrunner.py --host -j48
Change-Id: I7e618a25e42fe2d5ac740565afec201265e47ecb
Treehugger Robot [Fri, 24 Feb 2017 00:35:23 +0000 (00:35 +0000)]
Merge "ART: Add heap filter support"
Treehugger Robot [Fri, 24 Feb 2017 00:09:53 +0000 (00:09 +0000)]
Merge "ART: Add klass filter support"
Treehugger Robot [Thu, 23 Feb 2017 23:48:46 +0000 (23:48 +0000)]
Merge "ART: Ignore vreg=-1 in test 913"
Treehugger Robot [Thu, 23 Feb 2017 23:24:22 +0000 (23:24 +0000)]
Merge "Check stacks for unmodifiable frames"
Treehugger Robot [Thu, 23 Feb 2017 22:41:18 +0000 (22:41 +0000)]
Merge "ART: Add flag for ArtMethod class state checks"
Andreas Gampe [Mon, 20 Feb 2017 22:38:55 +0000 (14:38 -0800)]
ART: Add heap filter support
Add support for heap filter to FollowReferences. Update test.
Bug:
31385354
Test: m test-art-host-run-test-913-heaps
Change-Id: I09aa2076532c5fd2afecc77bf2e31e07174df0b2
Andreas Gampe [Mon, 20 Feb 2017 21:35:36 +0000 (13:35 -0800)]
ART: Add klass filter support
Add support for klass filter to FollowReferences. Update test.
Bug:
31385354
Test: m test-art-host-run-test-913-heaps
Change-Id: If8f0fb67a931fb358d99b49e774a197388796b6e
Andreas Gampe [Thu, 23 Feb 2017 21:53:19 +0000 (13:53 -0800)]
ART: Ignore vreg=-1 in test 913
Compiled code may have references that do not originate from a
dalvik register, e.g., when caching values from LSE. Do not print
these roots to make the test robust wrt/ compiler changes.
Bug:
31385354
Test: m test-art-host-run-test-913-heaps
Change-Id: I804faa4cdbfd7140d0faeab877bd4fe96748a302
Alex Light [Wed, 22 Feb 2017 19:08:06 +0000 (11:08 -0800)]
Check stacks for unmodifiable frames
We keep a generate a list of classes that have unmodifiable frames
during the zygote fork and check for them in IsModifiableClass.
Test: Start apps on aosp_marlin-userdebug phone with libartd.so
Change-Id: I6bbaa20d307c3803a5808fb4108638365895e802
Treehugger Robot [Thu, 23 Feb 2017 20:39:12 +0000 (20:39 +0000)]
Merge "Add more comments in GetProfiledMethods"
Hans Boehm [Thu, 23 Feb 2017 19:42:27 +0000 (19:42 +0000)]
Merge "Improve aarch64 MonitorEntry/Exit assembly code"
Andreas Gampe [Thu, 23 Feb 2017 19:34:48 +0000 (11:34 -0800)]
ART: Add flag for ArtMethod class state checks
The checks, especially in GetAccessFlags, is expensive. To help
with running a debug build on devices, add a flag to be able to
turn the checks off.
Bug:
35644369
Test: m
Change-Id: I2a3db1a56986df8f4a8b2dc5bcb26e1bcaea0a24
Treehugger Robot [Thu, 23 Feb 2017 19:33:20 +0000 (19:33 +0000)]
Merge "Disallow modifying java.lang.String"
Vladimir Marko [Thu, 23 Feb 2017 18:56:13 +0000 (18:56 +0000)]
Fix compilation statistics collection in inliner.
Stats from callee graph builder were not merged into main
stats and stats for callee graph optimizations were counted
even when the callee graph was eventually rejected.
Allocate the callee graph statistics on the arena.
Measured compilation of a big app using heaptrack:
bytes allocated in total (ignoring deallocations): 3.77GB -> 3.37GB
calls to allocation functions:
10650510 ->
8203129
Test: testrunner.py --host
Test: Stats change in the expected direction for an app.
Bug:
34053922
Change-Id: I605280d262b86af14b847acf3bb6dc077b749cc0
Treehugger Robot [Thu, 23 Feb 2017 17:53:54 +0000 (17:53 +0000)]
Merge "ART: Add primitive array reporting"
Hiroshi Yamauchi [Thu, 23 Feb 2017 17:47:16 +0000 (17:47 +0000)]
Merge "Add jdwp event_list_lock_ to expected_mutexes_on_weak_ref_access_."
Nicolas Geoffray [Wed, 22 Feb 2017 10:21:00 +0000 (10:21 +0000)]
Update entrypoint directly when doing JIT code cache GC.
Otherwise, the Instrumentation::UpdateMethodsCode might access
the declaring class while the GC is concurrently processing
references.
bug:
35598395
test: run-libcore-tests.sh --mode=host --variant=X64
Change-Id: I0f059b1823e81672d43cf1f7eed64482f8927232
Andreas Gampe [Thu, 23 Feb 2017 03:20:37 +0000 (19:20 -0800)]
ART: Add primitive array reporting
Add support for array_primitive_value_callback.
Bug:
31385354
Test: m test-art-host-run-test-906-iterate-heap
Test: m test-art-host-run-test-913-heaps
Change-Id: I2d615295bc5ad3d2579170d152e5778f56bf12cb
Hiroshi Yamauchi [Thu, 23 Feb 2017 02:06:55 +0000 (18:06 -0800)]
Add jdwp event_list_lock_ to expected_mutexes_on_weak_ref_access_.
To avoid a DCHECK failure where event_list_lock_ is unexpectedly held
during a weak ref access.
Also move event_list_lock to Locks.
Bug:
35360959
Test: test-art-host.
Test: jdwp test.
Change-Id: I6315e1f7152058656f2479ad7b4e4f3defd15555
Treehugger Robot [Thu, 23 Feb 2017 01:48:52 +0000 (01:48 +0000)]
Merge "Make dexlayout parse exception handlers not referenced by try blocks."
Mathieu Chartier [Thu, 23 Feb 2017 00:55:43 +0000 (00:55 +0000)]
Merge "Check for null profile in ShouldCompileBasedOnProfile"
Jeff Hao [Wed, 22 Feb 2017 22:20:41 +0000 (14:20 -0800)]
Make dexlayout parse exception handlers not referenced by try blocks.
Bug:
35451910
Test: mm test-art-host-gtest-dexlayout_test
Change-Id: If278d16747cfb4a88f7d7312931b3f4b5ee5e058
Mathieu Chartier [Thu, 23 Feb 2017 00:18:50 +0000 (00:18 +0000)]
Merge "Fix mac build"
Andreas Gampe [Thu, 23 Feb 2017 00:17:27 +0000 (00:17 +0000)]
Merge "ART: Fix clean-oat-host rule"
Mathieu Chartier [Thu, 23 Feb 2017 00:07:23 +0000 (16:07 -0800)]
Fix mac build
Add some #if to accomplish this.
Test: mm
Change-Id: I934e805a0b41e172cb419a3648935c6db789ad57
Andreas Gampe [Wed, 22 Feb 2017 23:48:55 +0000 (23:48 +0000)]
Merge "ART: Remove forced invariant checks"
Mathieu Chartier [Wed, 22 Feb 2017 23:15:40 +0000 (23:15 +0000)]
Merge "dex2oat: Watchdog uses CLOCK_MONOTONIC instead of CLOCK_REALTIME"
Alex Light [Tue, 21 Feb 2017 23:00:48 +0000 (15:00 -0800)]
Disallow modifying java.lang.String
The optimizations we do for j.l.String mean that if agents put
profiling code j.l.String they will see a lot of surprising behaviors
(for example the String constructor is never called).
Bug:
35396224
Test: ./test/testrunner/testrunner.py --host -j40
Change-Id: I30df68186f30f7311e2a5e36b18d807d8e91a596
Mathieu Chartier [Wed, 22 Feb 2017 22:57:04 +0000 (22:57 +0000)]
Merge "Revert "Revert "Add missing card mark verification to CC"""
Mathieu Chartier [Wed, 22 Feb 2017 21:35:44 +0000 (13:35 -0800)]
Check for null profile in ShouldCompileBasedOnProfile
It may be null if speed-profile is passed to dex2oat without a
profile. In this case, compile nothing.
Test: mm test-art-host-gtest-dex2oat_test -j32
Bug:
35665292
Bug:
35420088
Change-Id: I2da3258492d1f6b86bba6b4bb5a86d378f0a9227
Andreas Gampe [Wed, 22 Feb 2017 21:36:21 +0000 (13:36 -0800)]
ART: Remove forced invariant checks
Remove 'kX || kIsDebugBuild.' Rely solely on the flag. Refactor
only, does not change default behavior.
Bug:
35644369
Test: m
Change-Id: Ieddc6c77f3fc885a0556fac6d10a5bcf06548e52
Treehugger Robot [Wed, 22 Feb 2017 19:52:51 +0000 (19:52 +0000)]
Merge "Avoid excessive allocation of std::set<> nodes in SwapSpace."
Treehugger Robot [Wed, 22 Feb 2017 19:52:37 +0000 (19:52 +0000)]
Merge "ART: Add string reporting"
Andreas Gampe [Tue, 21 Feb 2017 19:44:04 +0000 (11:44 -0800)]
ART: Fix clean-oat-host rule
Add vdex to the rule.
Test: m && m clean-oat-host && find $OUT -name '*.vdex'
Change-Id: If04f1006b16a46b7a63955867669b2de44d9fbc8
Calin Juravle [Wed, 22 Feb 2017 19:49:43 +0000 (11:49 -0800)]
Add more comments in GetProfiledMethods
Explain why we are looking in the method dex file for array types.
Test: m test-art-host
Change-Id: Ib94475f79844968591f72f46a2c714f9971778ba
Treehugger Robot [Wed, 22 Feb 2017 19:48:44 +0000 (19:48 +0000)]
Merge "ART: Remove ObjPtr kPoison template parameter"
Mathieu Chartier [Wed, 22 Feb 2017 17:22:50 +0000 (09:22 -0800)]
Revert "Revert "Add missing card mark verification to CC""
Add missing write barrier for AddStrongRoot on the dex cache.
Test: test-art-host-run-test ART_TEST_INTERPRETER=true ART_TEST_OPTIMIZING=true ART_TEST_GC_STRESS=true
Bug:
12687968
This reverts commit
50805e747cbb7e9c8d30bd3b49e27ab0741f3cf8.
Change-Id: I72c6de2120d8e0ddc2512dd41010776aecfc9e2c
Calin Juravle [Wed, 22 Feb 2017 19:42:46 +0000 (19:42 +0000)]
Merge "Fix profile merges of megamorphic inline caches."
Andreas Gampe [Wed, 22 Feb 2017 18:11:30 +0000 (10:11 -0800)]
ART: Remove ObjPtr kPoison template parameter
Move to a global constexpr, so that object pointer poisoning can
be explicitly turned off for lower debug build overhead.
Bug:
35644797
Test: m
Test: m test-art-host
Change-Id: I2412b67cbec144f2aee206fb48591abe581fd00a
Vladimir Marko [Wed, 22 Feb 2017 10:57:03 +0000 (10:57 +0000)]
Avoid excessive allocation of std::set<> nodes in SwapSpace.
This does not affect the overall memory usage but avoids
a lot of deallocations followed by allocation.
Measured compilation of a big app using heap track:
bytes allocated in total (ignoring deallocations): 4.14GB -> 4.04GB
calls to allocation functions:
21662554 ->
19545823
Test: m test-art-host-gtest
Test: Manually check that oat file for the big app remains identical.
Bug:
34053922
Change-Id: I00568422ba5510550986e29f30bace9ae6245269
Treehugger Robot [Wed, 22 Feb 2017 14:41:46 +0000 (14:41 +0000)]
Merge "Move StackMapStream deduplication maps to arena."
Vladimir Marko [Wed, 22 Feb 2017 11:59:57 +0000 (11:59 +0000)]
Move StackMapStream deduplication maps to arena.
Measured compilation of a big app using heap track:
bytes allocated in total (ignoring deallocations): 4.14GB -> 3.98GB
calls to allocation functions:
21662554 ->
1016606
Test: testrunner.py --host
Bug:
34053922
Change-Id: I0b1c4b5273daa2bc35e039df246bafad417b9b2b
Adam Vartanian [Wed, 22 Feb 2017 12:22:31 +0000 (12:22 +0000)]
Merge "Remove suppression of fixed test."
Treehugger Robot [Wed, 22 Feb 2017 11:42:16 +0000 (11:42 +0000)]
Merge ""Revert^4 "Remove unused code for patching oat files.""
Treehugger Robot [Wed, 22 Feb 2017 10:47:57 +0000 (10:47 +0000)]
Merge "ahat: update README and manifest for release 1.1"
Nicolas Geoffray [Wed, 22 Feb 2017 10:12:12 +0000 (10:12 +0000)]
Merge "Revert "Add missing card mark verification to CC""
Nicolas Geoffray [Wed, 22 Feb 2017 10:11:12 +0000 (10:11 +0000)]
Revert "Add missing card mark verification to CC"
Fails in read-barrier-gcstress for 944-transform-classloaders
Bug:
12687968
This reverts commit
49ba69667ce70f8efbed7d68814ab184bee53486.
Change-Id: Ie91eaa034cea77918235766983661efa14fb1a14
Calin Juravle [Wed, 22 Feb 2017 03:00:33 +0000 (19:00 -0800)]
Fix profile merges of megamorphic inline caches.
Test: m test-art-host-gtest-profile_compiltion_info_test
Bug:
35644850
Change-Id: Ib213715e263869c3aa6d4f81f0b7fe17f13b84c4
Calin Juravle [Wed, 22 Feb 2017 02:55:36 +0000 (02:55 +0000)]
Merge "Fix handling of array types when extracting the offline inline caches"
Treehugger Robot [Wed, 22 Feb 2017 02:54:35 +0000 (02:54 +0000)]
Merge "Add test for null set ref list item in dex layout."
Andreas Gampe [Tue, 21 Feb 2017 23:49:53 +0000 (15:49 -0800)]
ART: Add string reporting
Add support for string_primitive_value_callback.
Bug:
31385354
Test: m test-art-host-run-test-906-iterate-heap
Test: m test-art-host-run-test-913-heaps
Change-Id: I69f68fd07869ba3a156a84fcb806821fce1d7c03
Jeff Hao [Wed, 22 Feb 2017 00:14:23 +0000 (16:14 -0800)]
Add test for null set ref list item in dex layout.
Bug:
35408418
Test: mm test-art-host-gtest-dexlayout_test
Change-Id: Ia9ac897a27dac27405f6838aaab625257c150e07
Calin Juravle [Wed, 22 Feb 2017 00:22:24 +0000 (16:22 -0800)]
Fix handling of array types when extracting the offline inline caches
Test: m test-art-host
regression test is being worked out
Bug:
35621933
Change-Id: If762db76cc0493db8c8babab62035e915b660da5
Mathieu Chartier [Wed, 22 Feb 2017 00:46:09 +0000 (00:46 +0000)]
Merge "Fix dex2oat to handle dexlayout with non profile filters"
Treehugger Robot [Wed, 22 Feb 2017 00:35:46 +0000 (00:35 +0000)]
Merge "Remove obsolete TODOs"
Hiroshi Yamauchi [Tue, 21 Feb 2017 23:51:03 +0000 (23:51 +0000)]
Merge "Always mark reference referents in transaction mode."
Treehugger Robot [Tue, 21 Feb 2017 23:45:19 +0000 (23:45 +0000)]
Merge "ART: Refactor test 913"
Treehugger Robot [Tue, 21 Feb 2017 23:42:20 +0000 (23:42 +0000)]
Merge "jni: Switch to @FastNative for all JNI functions. Deprecate !bang JNI."
Treehugger Robot [Tue, 21 Feb 2017 23:34:47 +0000 (23:34 +0000)]
Merge "Add regression test for b/
35305951"
Treehugger Robot [Tue, 21 Feb 2017 23:04:33 +0000 (23:04 +0000)]
Merge "Make 946 print stacktrace to System.out"
Hans Boehm [Tue, 17 Jan 2017 23:03:38 +0000 (15:03 -0800)]
Improve aarch64 MonitorEntry/Exit assembly code
We make two kinds of changes:
1) We remove some redundant moves, which appeared to have been copied
from some architecture with a 2 address instruction format.
2) We avoid the use of dmb barrier instructions, and instead use
acquire/release instructions for the actual lock loads/updates.
(2) is a clear win on A53/A57, where there seems to be very little
additional cost associated with acquire/release when
used with "exclusive" memory operations, as they are here.
On the cores used in 2016 Pixel phones, the story is more mixed.
But the addition of acquire/release to a pair of exclusive load/store
operations still seems to cost enough less than 2 dmb's, so that
even if 10% of lock acquisitions are nested and unnecessarily
enforce ordering, we come out slightly ahead. ARM's advice for
the future is also to move in this direction.
Test: AOSP boots. AOSP art test failures seem attributable to other
issues.
Change-Id: I2399baeab3df93196471e65612c00d95ad4e2b62
Treehugger Robot [Tue, 21 Feb 2017 22:50:23 +0000 (22:50 +0000)]
Merge "Move testrunner.py to argparse"
Treehugger Robot [Tue, 21 Feb 2017 22:38:36 +0000 (22:38 +0000)]
Merge "Add missing card mark verification to CC"
Treehugger Robot [Tue, 21 Feb 2017 22:25:57 +0000 (22:25 +0000)]
Merge "ART: Rewrite JvmtiUniquePtr"
Alex Light [Tue, 21 Feb 2017 22:16:31 +0000 (14:16 -0800)]
Remove obsolete TODOs
There were a bunch of TODOs that are obsolete but were never removed.
Get rid of them.
Test: ./test/testrunner/testrunner.py --host -j40
Change-Id: Icfc6a27b7e8a6423ecb56fa2ad99b54f33a7cdb5
Mathieu Chartier [Tue, 21 Feb 2017 21:41:54 +0000 (13:41 -0800)]
Fix dex2oat to handle dexlayout with non profile filters
Check for the existence of a profile and not being verify-profile
instead of kSpeed.
Test: test-art-host, speed compile with filter.
Bug:
34927277
Change-Id: Id3b21c31a7a4426196aa72d73efe2e83b71cc010
Treehugger Robot [Tue, 21 Feb 2017 21:52:52 +0000 (21:52 +0000)]
Merge "Reduce dex2oat memory usage from VariableHandleScope."
Hiroshi Yamauchi [Fri, 17 Feb 2017 23:33:23 +0000 (15:33 -0800)]
Always mark reference referents in transaction mode.
Fix a to-space invariant check failure in EnqueueFinalizerReferences.
Reference processing can be a problem and useless during transaction
because it's not easy to roll back what reference processing does and
there's no daemon threads running (in the unstarted runtime). To avoid
issues, always mark reference referents.
Add a do_atomic_update parameter to MarkHeapReference.
Bug:
35417063
Test: test-art-host with CC/CMS/SS.
Change-Id: If32eba8fca19ef86e5d13f7925d179c8aecb9e27
Mathieu Chartier [Tue, 21 Feb 2017 20:45:30 +0000 (12:45 -0800)]
Add regression test for b/
35305951
Ensure that dexlayout can handle a dex file that has the same
debug_info_off_ for multiple methods.
Test: test-art-host-gtest-dexlayout_test
Bug:
35305951
Change-Id: I1283910009fec07095c99ea2288167da3766329f
Treehugger Robot [Tue, 21 Feb 2017 20:43:05 +0000 (20:43 +0000)]
Merge "Make testrunner.py check ART_TEST_RUN_TEST_SKIP"
Mathieu Chartier [Wed, 15 Feb 2017 03:24:22 +0000 (19:24 -0800)]
Add missing card mark verification to CC
Easier than adapting the code in heap.cc to do this. The verification
ensures that objects on clean cards never reference objects in newly
allocated regions.
Revert some changes from aog/341344 that caused the verification to
fail.
Bug:
12687968
Test: test-art-host with CC
Change-Id: Iad583644bb76633ccea0dba87cb383f30adaa80b
Andreas Gampe [Tue, 21 Feb 2017 20:41:43 +0000 (12:41 -0800)]
ART: Rewrite JvmtiUniquePtr
Templatize it over the stored type. Add convenience function for
allocation.
Bug:
31455788
Test: m test-art-host
Change-Id: Idaf0a9170e95141e7a9878923aa93a0dbc80819c
Igor Murashkin [Fri, 17 Feb 2017 00:13:17 +0000 (16:13 -0800)]
jni: Switch to @FastNative for all JNI functions. Deprecate !bang JNI.
Switches all (248) methods that previously used !bang JNI in art/libcore
to all use @FastNative.
Also deprecate !bang JNI since nothing in Android seems to (or should
be) using it anymore.
This measures to be a 3% startup time improvement in system_server.
Test: make test-art-host
Bug:
34955272
Change-Id: I0881f401c7660c79f275235362777bfa58241deb
Treehugger Robot [Tue, 21 Feb 2017 19:27:01 +0000 (19:27 +0000)]
Merge "Allow redefined intrinsics"
Treehugger Robot [Tue, 21 Feb 2017 19:20:58 +0000 (19:20 +0000)]
Merge "Remove String.setCharAt()."
Alex Light [Tue, 21 Feb 2017 17:52:34 +0000 (09:52 -0800)]
Move testrunner.py to argparse
Optparse has been deprecated.
Test: ./test/testrunner/testrunner.py --help
Test: ./test/testrunner/testrunner.py --host -j40
Change-Id: I3b93b79e4ed2975ea5d5612435e42174ca3e9ade
Alex Light [Fri, 17 Feb 2017 22:21:33 +0000 (14:21 -0800)]
Make testrunner.py check ART_TEST_RUN_TEST_SKIP
Bug:
35407301
Test: ./test/testrunner/testrunner.py --host -t 071-dexfile
Test: ART_TEST_RUN_TEST_SKIP=071-dexfile-map-clean \
./test/testrunner/testrunner.py --host -t 071-dexfile-map-clean
Test: ./test/testrunner/testrunner.py --skip 071-dexfile-map-clean \
--host -t 071-dexfile-map-clean
Change-Id: I4d13d081e37221b3861962b9e6fc1d7d5af451f6
Alex Light [Tue, 21 Feb 2017 18:13:48 +0000 (10:13 -0800)]
Make 946 print stacktrace to System.out
We were sometimes failing due to when run-test read the pipes.
Test: ./test/run-test --host 946
Change-Id: I12b2565411cf4f9870be6ab6474b57d923942b7b
Alex Light [Tue, 14 Feb 2017 00:36:06 +0000 (16:36 -0800)]
Allow redefined intrinsics
We make a change to allow intrinsics to be redefined. Note that
redefined intrinisics will no-longer be optimized as much and will not
be inlined or moved out of loops.
Test: ART_TEST_JIT=true mma -j40 test-art-host
Change-Id: Id6df89bb247d21f7859b48356ceba310eef9d105
Andreas Gampe [Mon, 20 Feb 2017 22:22:06 +0000 (14:22 -0800)]
ART: Refactor test 913
Refactor test to avoid larger changes when adding test configurations.
Bug:
31385354
Test: m test-art-host-run-test-913-heaps
Change-Id: I491a0d6ddab765789d84dacc9df590e53e0e38e6
Vladimir Marko [Tue, 21 Feb 2017 17:00:28 +0000 (17:00 +0000)]
Reduce dex2oat memory usage from VariableHandleScope.
Pack more handles in FixedSizeHandleScope<>s to reduce the
per-Handle<> overhead.
Measured compilation of a big app using heaptrack:
before:
3571397 calls to allocation functions with 2.59MB peak
consumption from art::MutableHandle<>
art::ReferenceTypePropagation::HandleCache::NewHandle<>(art::ObjPtr<>)
after:
1139808 calls to allocation functions with 1.54MB peak
consumption from art::MutableHandle<>
art::ReferenceTypePropagation::HandleCache::NewHandle<>(art::ObjPtr<>)
Test: Rely on TreeHugger.
Bug:
34053922
Change-Id: I160990f3a89aadffc9e6753da30b448937f8eaf0
Richard Uhler [Wed, 1 Feb 2017 09:53:54 +0000 (09:53 +0000)]
"Revert^4 "Remove unused code for patching oat files."
This reverts commit
cb6a5916cce4f18c7183fa8731446a084fb28fe5.
Test: m test-art-host
Change-Id: I8029dcc93e7fa614d8d50030362d3133caabfe54
Adam Vartanian [Tue, 21 Feb 2017 15:37:50 +0000 (15:37 +0000)]
Remove suppression of fixed test.
Test: vogar org.apache.harmony.security.tests.java.security.Signature2Test
Test: cts -m CtsLibcoreTestCases -t org.apache...Signature2Test
Change-Id: I9cac0198a783fb3f2c630390102127a75c6f33a1
Richard Uhler [Tue, 21 Feb 2017 15:00:04 +0000 (15:00 +0000)]
ahat: update README and manifest for release 1.1
Test: m ahat-test, verify version shown in overview page is 1.1
Change-Id: Ib15c43d9c42a34e24d74afae0cb6481452962bb8
Nicolas Geoffray [Tue, 21 Feb 2017 13:00:35 +0000 (13:00 +0000)]
Merge "ARM: VIXL32: Use VIXL backend by default."
Vladimir Marko [Mon, 20 Feb 2017 14:08:30 +0000 (14:08 +0000)]
Remove String.setCharAt().
The internal API String.setCharAt() breaks the assumption
that strings are really immutable. That in turn breaks
string compression invariants - compressible strings must
be compressed. This CL removes the String.setCharAt() API.
The method was used only in String.replace(char, char)
when we found a match, copying the string on first match.
Instead, introduce a new native method that does the whole
replacement with a single call when we find the first match.
StringReplaceBenchmark results on Nexus 6P, lower is better:
timeReplaceCharNonExistent/EMPTY 41.93 -> 38.25 (-9%)
timeReplaceCharNonExistent/L_16 114.90 -> 95.09 (-17%)
timeReplaceCharNonExistent/L_64 419.97 -> 320.65 (-24%)
timeReplaceCharNonExistent/L_256 1667.01 -> 1091.25 (-35%)
timeReplaceCharNonExistent/L_512 3253.50 -> 2075.62 (-36%)
timeReplaceCharRepeated/EMPTY 41.93 -> 39.58 (-6%)
timeReplaceCharRepeated/L_16 114.87 -> 95.40 (-17%)
timeReplaceCharRepeated/L_64 1267.29 -> 704.32 (-44%)
timeReplaceCharRepeated/L_256 5139.14 -> 1361.80 (-74%)
timeReplaceCharRepeated/L_512 10787.81 -> 2338.41 (-78%)
timeReplaceSingleChar/EMPTY 41.78 -> 37.16 (-11%)
timeReplaceSingleChar/L_16 449.54 -> 497.51 (+11%)
timeReplaceSingleChar/L_64 942.08 -> 891.35 (-5%)
timeReplaceSingleChar/L_256 2756.18 -> 2174.64 (-21%)
timeReplaceSingleChar/L_512 5489.91 -> 3983.32 (-27%)
Test: testrunner.py --host
Test: run-libcore-tests.sh --mode=host
Test: testrunner.py --host with string compression enabled.
Test: run-libcore-tests.sh --mode=host with string compression enabled.
Bug:
31040547
Change-Id: I9cf0d5457182f0a33ca8251c29931d3eb624ae07
Adam Vartanian [Tue, 21 Feb 2017 12:26:36 +0000 (12:26 +0000)]
Merge "Add script to find warnings shared across buildbot history."
Richard Uhler [Tue, 21 Feb 2017 10:54:51 +0000 (10:54 +0000)]
Merge changes Ic39b6d55,Id9a392ac,I1a6b05ea
* changes:
Show unreachable objects in ahat.
ahat: add support for diffing two heap dumps.
Refactor ahat's perflib api.
Vladimir Marko [Tue, 21 Feb 2017 10:47:06 +0000 (10:47 +0000)]
Merge "ARM: Merge data-processing instructions and shifts/(un)signed extensions"
Scott Wakeling [Tue, 20 Dec 2016 15:46:34 +0000 (15:46 +0000)]
ARM: VIXL32: Use VIXL backend by default.
export ART_USE_OLD_ARM_BACKEND=true to use the previous backend.
Test: mma test-art-host && mma test-art-target
Change-Id: I4024a4ea15fa8ce1269c0837f6ea001b6c809df5
Nicolas Geoffray [Tue, 21 Feb 2017 09:38:45 +0000 (09:38 +0000)]
Merge "Emit the dex_pc if the line number is absent."
Treehugger Robot [Tue, 21 Feb 2017 08:53:28 +0000 (08:53 +0000)]
Merge "Remove testing of prebuilt npic boot images."