OSDN Git Service
Treehugger Robot [Mon, 27 Feb 2017 00:09:53 +0000 (00:09 +0000)]
Merge "ART: Fix underflow in codegen"
Andreas Gampe [Sun, 26 Feb 2017 22:10:28 +0000 (14:10 -0800)]
ART: Fix underflow in codegen
Check for count == 0 first before accessing non-existent stack map.
Test: m ART_TEST_JIT=true test-art-host
Test: m ART_TEST_JIT=true test-art-host-run-test-913-heaps
Change-Id: Id4cad8e791d731147860b8a9a0d90cc893cc6972
Treehugger Robot [Sun, 26 Feb 2017 19:49:12 +0000 (19:49 +0000)]
Merge "ART: Add debug code to test 913"
Andreas Gampe [Sun, 26 Feb 2017 17:58:40 +0000 (09:58 -0800)]
ART: Add debug code to test 913
To find a flaky environment, dump the stack under error condition.
Bug:
31385354
Test: m test-art-host-run-test-913-heaps
Change-Id: Idfb2248e4ae8eda8bbcc221c5533d97ca737da2c
Roland Levillain [Sat, 25 Feb 2017 11:11:18 +0000 (11:11 +0000)]
Merge changes I60595a8f,Ia5d90286
* changes:
Use the holder's gray bit in Baker read barrier slow paths (ARM, ARM64).
Use the "GC is marking" information in compiler read barriers (ARM, ARM64).
Treehugger Robot [Sat, 25 Feb 2017 02:36:20 +0000 (02:36 +0000)]
Merge "ART: Fix tagging"
Mathieu Chartier [Sat, 25 Feb 2017 00:47:23 +0000 (00:47 +0000)]
Merge "Put app image objects in HPROF_HEAP_APP instead of HPROF_HEAP_IMAGE"
Andreas Gampe [Sat, 25 Feb 2017 00:21:18 +0000 (16:21 -0800)]
ART: Fix tagging
Tagging is local to the jvmtiEnv. Move from a global object tag
table to a table local to the ArtJvmtiEnv.
Bug:
31385027
Test: m test-art-host-run-test-903-hello-tagging
Change-Id: I2faeed87fd0421631fee7cd97bb7d496bf4e6338
Treehugger Robot [Fri, 24 Feb 2017 23:24:11 +0000 (23:24 +0000)]
Merge "Dexlayout fix for duplicate class data and preserving last code item."
Treehugger Robot [Fri, 24 Feb 2017 23:18:45 +0000 (23:18 +0000)]
Merge "Add more DCHECK logging to Heap::CheckPreconditionsForAllocObject"
Mathieu Chartier [Fri, 24 Feb 2017 22:47:08 +0000 (14:47 -0800)]
Put app image objects in HPROF_HEAP_APP instead of HPROF_HEAP_IMAGE
Tools usually hide HPROF_HEAP_IMAGE and HPROF_HEAP_ZYGOTE classes,
so we probably don't want app classes in there.
Regression test is infeasible since we don't have a way to parse
hprof files from run-tests.
Test: test-art-host
Bug:
35762934
Change-Id: I56f4feb010a2e6cd290dfabdd8118e476098e40d
Andreas Gampe [Fri, 24 Feb 2017 22:09:37 +0000 (22:09 +0000)]
Merge "ART: Remove stale TODOs"
Mathieu Chartier [Fri, 24 Feb 2017 20:39:53 +0000 (12:39 -0800)]
Add more DCHECK logging to Heap::CheckPreconditionsForAllocObject
Print out relevant info about why the DCHECK failed.
Bug:
35746587
Test: test-art-host
Change-Id: If09ad7d050126647abc16a02c5e9a596634e285c
Andreas Gampe [Fri, 24 Feb 2017 21:08:05 +0000 (21:08 +0000)]
Merge "Revert^2 "ART: Add heap filter support""
Andreas Gampe [Fri, 24 Feb 2017 18:01:19 +0000 (18:01 +0000)]
Revert^2 "ART: Add heap filter support"
This reverts commit
2cb576c9b98a8ac637fac7dca76eeba8dac87599.
Bug:
31385354
Change-Id: I249fdee43bd871eaef6a288c9296a57d42de1fd5
Test: m ART_TEST_JIT=true test-art-host-run-test-913-heaps
Test: m ART_TEST_JIT=true ART_TEST_GC_STRESS=true ART_DEFAULT_GC_TYPE=SS ART_USE_READ_BARRIER=false test-art-host-run-test-913-heaps
Jeff Hao [Fri, 24 Feb 2017 00:14:04 +0000 (16:14 -0800)]
Dexlayout fix for duplicate class data and preserving last code item.
This change fixes a dexlayout issue when multiple class defs reference
the same class data. A set is used to tell what class data has already
been visited.
This change also makes dexlayout preserve the offset of the last code
item in the dex file if the following section is not 4-byte aligned.
Due to limitations in dexlayout, it is difficult to adjust the offsets
of sections if more space is needed. An overhaul of dexlayout should
be done to properly fix this.
Bug:
35451910
Test: mm test-art-host-gtest-dexlayout_test
Change-Id: I8d066c2151a1a57c382ce35f12bf53a519da89f6
Vladimir Marko [Fri, 24 Feb 2017 15:38:14 +0000 (15:38 +0000)]
Merge "Fix initialization of OptimizingCompilerStats."
Vladimir Marko [Fri, 24 Feb 2017 15:01:41 +0000 (15:01 +0000)]
Fix initialization of OptimizingCompilerStats.
This is a follow-up to
https://android-review.googlesource.com/343265
where we replaced Atomic<> with std::atomic<> because
Atomic<> was hiding std::atomic<>::operator=(). However,
while the default constructor of Atomic<> initializes the
value, the default constructor of std::atomic<> does not.
Test: m valgrind-test-art-host
Bug:
34053922
Change-Id: Iff2b38a7b28ee2d114991b60e3c40a33425bfc48
Treehugger Robot [Fri, 24 Feb 2017 12:50:24 +0000 (12:50 +0000)]
Merge "Revert^2 "Enable String compression.""
Vladimir Marko [Thu, 23 Feb 2017 10:43:09 +0000 (10:43 +0000)]
Revert^2 "Enable String compression."
Test: m test-art-host (interpreter, JIT, AOT)
Test: m test-art-target on Nexus 6P (interpreter, JIT, AOT)
Test: Nexus 6P boots
Test: m ahat-test
Bug:
31040547
This reverts commit
afcb365b2d3ae152989826c2afb0d98a9cf3f6be.
Change-Id: Id7e27d717c8e36d3c7abdde59ca2c8fd4fc221c9
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"
Andreas Gampe [Fri, 24 Feb 2017 01:31:42 +0000 (17:31 -0800)]
ART: Remove stale TODOs
Remove a number of now stale TODOs.
Bug:
31455788
Test: m
Change-Id: I2ec22604b71817f34427bbc8e996ba01b686191b
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_."
Roland Levillain [Tue, 17 Jan 2017 16:56:34 +0000 (16:56 +0000)]
Use the holder's gray bit in Baker read barrier slow paths (ARM, ARM64).
In compiler-generated code, when deciding whether to mark
a heap reference or not in a read barrier, after checking
whether the GC is currently marking, also check (in the
slow path) whether the lock word of the reference's holder
is gray, before actually marking the reference.
This change is only for ARM and ARM64, as it does not
benefit x86 nor x86-64.
Test: Run ART tests in Baker read barrier configuration.
Test: Boot a device in Baker read barrier configuration.
Bug:
29516974
Change-Id: I60595a8f4987747faeaa359ad873e9758c1ded75
Roland Levillain [Fri, 13 Jan 2017 11:47:39 +0000 (11:47 +0000)]
Use the "GC is marking" information in compiler read barriers (ARM, ARM64).
In compiler-generated code, when deciding whether to mark
a heap reference or not in a read barrier, check whether
the GC is currently marking, instead of checking the gray
bit in the reference's holder's lock word.
This change is only for ARM and ARM64, as it does not
benefit x86 nor x86-64.
Test: Run ART tests in Baker read barrier configuration.
Test: Boot a device in Baker read barrier configuration.
Bug:
29516974
Change-Id: Ia5d90286bb9f753f3bbcb3a6254eb166523a2ff5
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