OSDN Git Service
Neil Fuller [Wed, 24 Aug 2016 12:57:23 +0000 (13:57 +0100)]
Fix for package name test break in ART
Modifying the hard-coded string in test 031.
Bug:
28131225
Test: run-test --host 031-class-attributes
Change-Id: Ifffaebd5b8595075fcde295a6e3921af99871f9d
Treehugger Robot [Wed, 24 Aug 2016 09:58:59 +0000 (09:58 +0000)]
Merge "ART: unblock compiler tests on MIPS"
Alexey Frunze [Wed, 24 Aug 2016 06:42:54 +0000 (23:42 -0700)]
ART: unblock compiler tests on MIPS
The DCHECK() that's removed here causes most of compiler tests to
fail on MIPS. The issue is introduced with the recent changes in
the string dex cache.
Test: booted MIPS32 in QEMU
Test: test-art-target-run-test-optimizing on CI20
Change-Id: I7fd45fa0b6d64fbc553f6aeaa6dac7345c885fe4
Treehugger Robot [Wed, 24 Aug 2016 05:04:32 +0000 (05:04 +0000)]
Merge "ART: Remove -std=gnu++11"
Andreas Gampe [Wed, 24 Aug 2016 03:24:11 +0000 (20:24 -0700)]
ART: Remove -std=gnu++11
We no longer have to restrict ourselves, with GCC gone. Pick up
the default from the build system (which is at least as good).
Change-Id: I98b4a82944b7e16a80fbeac1d43c9e7ed0d17a6a
Test: m test-art-host
Treehugger Robot [Wed, 24 Aug 2016 03:01:49 +0000 (03:01 +0000)]
Merge "Revert "Make dchecked_vector C++11 compatible.""
Treehugger Robot [Wed, 24 Aug 2016 02:57:47 +0000 (02:57 +0000)]
Merge "ART: Improve art_quick_resolve_string for x86."
Andreas Gampe [Wed, 24 Aug 2016 01:24:51 +0000 (01:24 +0000)]
Revert "Make dchecked_vector C++11 compatible."
We no longer support GCC in ART.
This reverts commit
05ff5a4ad666d9eb583ff343c1cbba886d7621b1.
Bug:
25022512
Change-Id: Ie0aee5ce3f8b5bb5023fba90c39d96ae01e3e256
Test: m test-art-host
Treehugger Robot [Wed, 24 Aug 2016 01:22:01 +0000 (01:22 +0000)]
Merge "ART: Improve art_quick_resolve_string for x86_64."
Treehugger Robot [Wed, 24 Aug 2016 00:50:38 +0000 (00:50 +0000)]
Merge "creating workflow for mirror::String compression"
Treehugger Robot [Tue, 23 Aug 2016 23:55:41 +0000 (23:55 +0000)]
Merge "ART: Validate oat file for cache-only images"
Christina Wadsworth [Tue, 23 Aug 2016 21:13:43 +0000 (14:13 -0700)]
ART: Improve art_quick_resolve_string for x86.
Check gc_is_marking instead of the mark bit first, this makes it that we
don't go slow path if the GC is not running.
Test: test-art-host
Bug:
20323084
Change-Id: I8ae37cf17db266462688c1b1c3a904ba740d769c
Treehugger Robot [Tue, 23 Aug 2016 23:07:36 +0000 (23:07 +0000)]
Merge "ART: Improve art_quick_resolve_string for arm."
Christina Wadsworth [Tue, 23 Aug 2016 00:33:59 +0000 (17:33 -0700)]
ART: Improve art_quick_resolve_string for x86_64.
Check gc_is_marking instead of the mark bit first, this makes it that we
don't go slow path if the GC is not running.
Test: test-art-host
Bug:
20323084
Change-Id: I5394dee49f721536857552fbc3e15d80a71213f4
jessicahandojo [Fri, 29 Jul 2016 21:46:37 +0000 (14:46 -0700)]
creating workflow for mirror::String compression
All-ASCII String characters are stored in 8-bit blocks
instead of 16-bit. The compression has not taken place, but all
workflow are in the code already (changing kUseStringCompression in
string.h file to TRUE will enable the feature)
Notes: Feature works on interpreter only without optimizing
Test art: m ART_TEST_INTERPRETER=true ART_TEST_OPTIMIZING=false
test-art-host
Also tested with String tests from libcore/:
1. libcore.java.lang.StringTest
2. libcore.java.lang.StringBufferTest
3. libcore.java.lang.StringBuilderTest
4. libcore.java.lang.OldStringTest
5. libcore.java.lang.OldStringBufferTest
Memory improvement is 33% (from 6.03% to 4.03%, total String memory
from all apps per total memory of all apps) measured on Angler
with Hprof tools
Bug:
31040547
Change-Id: I9cc92c265ebf1305fc06b5fc33efd83797660cce
Treehugger Robot [Tue, 23 Aug 2016 21:21:00 +0000 (21:21 +0000)]
Merge "ART: Separate out Realloc reuse and alignment tests"
Aart Bik [Tue, 23 Aug 2016 18:33:00 +0000 (18:33 +0000)]
Merge "Ongoing improvements in java fuzz testing"
Vladimir Marko [Tue, 23 Aug 2016 17:53:23 +0000 (17:53 +0000)]
Merge "Revert "x86/x86-64: Avoid temporary for read barrier field load.""
Vladimir Marko [Tue, 23 Aug 2016 17:48:38 +0000 (17:48 +0000)]
Revert "x86/x86-64: Avoid temporary for read barrier field load."
Fault handler does not recognize the instruction
F6 /0 ib TEST r/m8, imm8
so we get crashes instead of NPEs.
Bug:
29966877
Bug:
12687968
This reverts commit
ccf06d8f19a37432de4a3b768747090adfbd18ec.
Change-Id: Ib7db3b59f44c0d3ed5e24a20b6c6ee596a89d709
Christina Wadsworth [Tue, 23 Aug 2016 01:16:15 +0000 (18:16 -0700)]
ART: Improve art_quick_resolve_string for arm.
Check gc_is_marking instead of the mark bit first, this makes it that we
don't go slow path if the GC is not running.
Test: test-art-host
Bug:
20323084
Change-Id: I834742fbb670302ba0955a579008ff75914a2673
Treehugger Robot [Tue, 23 Aug 2016 15:35:14 +0000 (15:35 +0000)]
Merge "ART: Clean up interpreter includes"
Treehugger Robot [Tue, 23 Aug 2016 12:36:53 +0000 (12:36 +0000)]
Merge "x86/x86-64: Avoid temporary for read barrier field load."
Vladimir Marko [Fri, 12 Aug 2016 12:37:55 +0000 (13:37 +0100)]
x86/x86-64: Avoid temporary for read barrier field load.
Add TEST instructions for memory and immediate. Use the byte
version to avoid a temporary in read barrier field load.
Test: Tested with ART_USE_READ_BARRIER=true on host.
Test: Tested with ART_USE_READ_BARRIER=true ART_HEAP_POISONING=true on host.
Bug:
29966877
Bug:
12687968
Change-Id: Ia415d3c2e1ae1ff6dff11d72bbb7d96d5deed6ee
Andreas Gampe [Tue, 23 Aug 2016 00:54:17 +0000 (17:54 -0700)]
ART: Clean up interpreter includes
Move goto-interpreter special-cased Clang declarations to goto
implementation file. Separate out declarations into their own
headers. Tag the declarations with thread safety annotations.
Minor compile-time impact when running with -j1.
Change-Id: I03664d4e7dc6361b2510a8c9beb693d23a657c9d
Test: m test-art-host
Test: m ART_TEST_INTERPRETER=true test-art-host
Treehugger Robot [Tue, 23 Aug 2016 02:57:21 +0000 (02:57 +0000)]
Merge "Use full pass name when building optimizations"
Treehugger Robot [Tue, 23 Aug 2016 02:49:26 +0000 (02:49 +0000)]
Merge "MIPS32: Optimize R6 round(float) intrinsic."
Andreas Gampe [Tue, 23 Aug 2016 02:14:29 +0000 (19:14 -0700)]
ART: Separate out Realloc reuse and alignment tests
Separate out the tests for Realloc buffer reuse and realloc
alignment tests. This allows to turn off reuse tests under
memory tools (where we do not reuse).
Change-Id: I93375c6fbc577f9b796325f8143317610948455a
Test: m test-art-host-gtest-arena_allocator_test
Test: m valgrind-test-art-host-gtest-arena_allocator_test
Mathieu Chartier [Tue, 23 Aug 2016 01:46:28 +0000 (01:46 +0000)]
Merge "Improve art_quick_resolve_string for arm64 CC"
Treehugger Robot [Tue, 23 Aug 2016 01:18:58 +0000 (01:18 +0000)]
Merge "Fix build"
Wojciech Staszkiewicz [Tue, 16 Aug 2016 23:33:00 +0000 (16:33 -0700)]
Use full pass name when building optimizations
If possible, use full pass name provided in --run-passes rather
than its base version.
Test: m test-art-host -j32
1. Prepare a run-passes file with content:
dead_code_elimination$initial
instruction_simplifier
x86_memory_operand_generation
2. Run art for a dex file like:
art -Xcompiler-option --run-passes=run-passes -Xcompiler-option
--dump-passes -classpath classes.dex Test
3. Verify that dead_code_elimination$initial string is present in
dump-passes output.
Change-Id: I92d9ed0c8b919ea03f625f549123f546dffe546b
Mathieu Chartier [Tue, 23 Aug 2016 00:36:19 +0000 (00:36 +0000)]
Merge "ART: Fix x86_64 entrypoint breakage with SYMBOL()."
Mathieu Chartier [Mon, 22 Aug 2016 22:38:08 +0000 (15:38 -0700)]
Improve art_quick_resolve_string for arm64 CC
Check gc_is_marking instead of the mark bit first, this makes it
that we don't go slow path if the GC is not running.
Also reduced the code by a few instructions.
EAAC CC: ~2000 -> 1256
Test: test-art-target-run-test -j4
Bug:
20323084
Change-Id: I57a1f7a52f1909e2e5dd1b2cfd2612b4a642fe37
Colin Cross [Mon, 22 Aug 2016 23:00:07 +0000 (16:00 -0700)]
Fix build
Move instruction_simplifier_arm.cc to the arm source list to fix
full-eng builds.
Change-Id: Ic7fc884f5cc2acec5579dc417acece21b7e674aa
Treehugger Robot [Mon, 22 Aug 2016 22:58:38 +0000 (22:58 +0000)]
Merge "ART: Test arena allocator alignment"
Christina Wadsworth [Mon, 22 Aug 2016 22:55:31 +0000 (15:55 -0700)]
ART: Fix x86_64 entrypoint breakage with SYMBOL().
Change-Id: Id42b6e9a7e5444536f6fb672ec40e9f37c77a649
Mathieu Chartier [Mon, 22 Aug 2016 22:50:04 +0000 (22:50 +0000)]
Merge "ART: String DexCache asm fast path for ARM64"
Treehugger Robot [Mon, 22 Aug 2016 22:33:42 +0000 (22:33 +0000)]
Merge "ART: String DexCache asm fast path for ARM"
Treehugger Robot [Mon, 22 Aug 2016 22:07:29 +0000 (22:07 +0000)]
Merge "ART: String DexCache asm fast path for x86"
Colin Cross [Mon, 22 Aug 2016 21:55:31 +0000 (21:55 +0000)]
Merge "Only compile device codegen for device architectures"
Treehugger Robot [Mon, 22 Aug 2016 21:38:58 +0000 (21:38 +0000)]
Merge "ART: String DexCache asm fast path for x86_64"
Treehugger Robot [Mon, 22 Aug 2016 21:07:31 +0000 (21:07 +0000)]
Merge "Revert "Revert "Improve the thread flip."""
Andreas Gampe [Mon, 22 Aug 2016 21:03:10 +0000 (14:03 -0700)]
ART: Test arena allocator alignment
Add tests for Alloc and Realloc alignment.
Change-Id: If17b1d898200752a6a1ae25f436c73e5b7eb23f7
Test: m test-art-host-gtest-arena_allocator_test
Christina Wadsworth [Mon, 8 Aug 2016 20:08:05 +0000 (13:08 -0700)]
ART: String DexCache asm fast path for ARM64
In the entrypoints, before a string is looked up in the slow path (in
the intern table), I added assembly to check the dex cache and return a
string pointer if the string is already in the dex cache.
Test: test-art-host
Change-Id: Ic9a724848c61e4fa66e82334e2c7b20b13bf8e6c
Christina Wadsworth [Fri, 19 Aug 2016 18:24:48 +0000 (11:24 -0700)]
ART: String DexCache asm fast path for ARM
In the entrypoints, before a string is looked up in the slow path (in
the intern table), I added assembly to check the dex cache and return a
string pointer if the string is already in the dex cache.
Test: test-art-host
Change-Id: I245946b3efa9c2e4fa56f761effb90963ac22ec4
Jeff Hao [Mon, 22 Aug 2016 20:26:20 +0000 (20:26 +0000)]
Merge "Fix debugger missing handle between adding and tagging object."
Christina Wadsworth [Mon, 22 Aug 2016 20:22:36 +0000 (13:22 -0700)]
ART: String DexCache asm fast path for x86
In the entrypoints, before a string is looked up in the slow path (in
the intern table), I added assembly to check the dex cache and return a
string pointer if the string is already in the dex cache.
Test: test-art-host
Change-Id: Id0c337b380adc0b2bde5325745c928290d9da1b0
Treehugger Robot [Mon, 22 Aug 2016 20:19:06 +0000 (20:19 +0000)]
Merge "Add define needed by new vixl"
Aart Bik [Fri, 19 Aug 2016 22:45:11 +0000 (15:45 -0700)]
Ongoing improvements in java fuzz testing
Added --device option to runner to define target in case
multiple devices are attached
Added more cases to JavaFuzz, removed a few cases that
are likely to hang the program (such as changing loop
variables) since throughput is more important for fuzzing
Test: run_java_fuzz_test.py
BUG=
30610121
Change-Id: I0cd6f5d3b7fb35ddb91d91c0c0c00afaf83218d8
Jeff Hao [Mon, 22 Aug 2016 18:34:41 +0000 (11:34 -0700)]
Fix debugger missing handle between adding and tagging object.
Bug:
30951794
Change-Id: Ic9c5f296efe839a8961ab00d08afc54c5443bc17
Hiroshi Yamauchi [Sat, 20 Aug 2016 00:03:27 +0000 (17:03 -0700)]
Revert "Revert "Improve the thread flip.""
This reverts commit
db3204f87c3f7c4de89762ce9e8502a9dc25c2d8.
Improve the thread flip.
- In addition to the threads that are suspended in FullSuspendCheck(),
prioritize the resume of threads that are blocking for the thread
flip at the JNI critical section entry and threads are about to
transition to runnable (eg. blocking at the SOA entry from JNI).
- Shorten the length of the thread flip critical
section (ThreadFlipBegin/End).
- Add some systrace scopes.
- Add a read barrier for the locked objects during the thread dump in
case the thread is in the middle of flipping.
Bug:
30980189
Bug:
29517059
Bug:
12687968
Test: test-art-host, Ritz EAAC, N9 libartd boot
Change-Id: I3a903c47c0fcc746664ec376cc31dee8af3c3ecb
Treehugger Robot [Mon, 22 Aug 2016 18:09:06 +0000 (18:09 +0000)]
Merge "ART: Adding asm support for string dex cache"
Christina Wadsworth [Mon, 22 Aug 2016 17:46:55 +0000 (10:46 -0700)]
ART: String DexCache asm fast path for x86_64
In the entrypoints, before a string is looked up in the slow
path (in the intern table), I added assembly to check the dex cache and return a
string pointer if the string is already in the dex cache.
Test: test-art-host
Change-Id: Id1b0314d597c2abff3f7d332f4ab66271f026dc1
Christina Wadsworth [Fri, 19 Aug 2016 18:23:48 +0000 (11:23 -0700)]
ART: Adding asm support for string dex cache
Added constants and offsets for the string dex cache fast paths that
will be introduced into entrypoints in subsequent commits.
Test: test-art-host
Change-Id: I19f97526e06cbedc782d5ef11359796731cdad82
Colin Cross [Sat, 20 Aug 2016 05:35:58 +0000 (22:35 -0700)]
Add define needed by new vixl
vixl now requires -DVIXL_INCLUDE_SIMULATOR_AARCH64 when including
simulator-aarch64.h.
Tests: mmma -j art, m -j build-art-tests
Change-Id: I9b9bb7ca618ccbb505de943825f5e9517542fa1b
Jeff Hao [Mon, 22 Aug 2016 16:47:43 +0000 (16:47 +0000)]
Merge "Fix debugger calling new String()."
Treehugger Robot [Mon, 22 Aug 2016 16:39:20 +0000 (16:39 +0000)]
Merge "ARM/ARM64: Improve comments for kSaveEverything assembly."
Vladimir Marko [Mon, 22 Aug 2016 15:02:12 +0000 (16:02 +0100)]
ARM/ARM64: Improve comments for kSaveEverything assembly.
Addresses post-submit comments for
https://android-review.googlesource.com/255290
Test: Rely on TreeHugger (just adds comments).
Bug:
30212852
Change-Id: I6ccc004774e18bbd83e3940e908cfc6c521142db
Treehugger Robot [Mon, 22 Aug 2016 15:01:24 +0000 (15:01 +0000)]
Merge "ART: Add thread offset printing hook to disassembler"
Roland Levillain [Mon, 22 Aug 2016 14:58:05 +0000 (14:58 +0000)]
Merge "Do not run 537-checker-arraycopy on non-Baker read barrier configs."
Roland Levillain [Mon, 22 Aug 2016 12:59:21 +0000 (13:59 +0100)]
Do not run 537-checker-arraycopy on non-Baker read barrier configs.
Test: ART_USE_READ_BARRIER=true ART_READ_BARRIER_TYPE=TABLELOOKUP make test-art-host-run-test-537-checker-arraycopy
Bug:
29516905
Bug:
12687968
Change-Id: Ie77f3a7ce19f3ff78d2132ca70fb10b595eb54d5
Treehugger Robot [Sat, 20 Aug 2016 05:19:15 +0000 (05:19 +0000)]
Merge "ART: Enforce arena alignment in Realloc"
Andreas Gampe [Sat, 20 Aug 2016 03:22:19 +0000 (20:22 -0700)]
ART: Enforce arena alignment in Realloc
Enforce the expected alignment in Realloc when the given buffer
can be expanded.
Add debug checks to prove alignment guarantees.
Change-Id: I7dbaf3ca0896f714cff07ff08f067a7c088a6c8d
Test: m test-art-host
Jeff Hao [Sat, 20 Aug 2016 01:31:39 +0000 (18:31 -0700)]
Fix debugger calling new String().
Used to return an empty string instead of the newly created String.
Requires accompanying jdwp test fix to test String contents.
Bug:
30951794
Change-Id: I27a8e0afcbe7e32a14dd3c394e44b6cd4d3c58f6
Test: mm -j24 run-jdwp-tests-host
Treehugger Robot [Sat, 20 Aug 2016 00:26:36 +0000 (00:26 +0000)]
Merge "ART: Added DCHECKS to find alignment breakage."
Andreas Gampe [Fri, 19 Aug 2016 17:49:06 +0000 (10:49 -0700)]
ART: Add thread offset printing hook to disassembler
To prepare separation of disassembler from libart, add a function
hook to the disassembler options for thread offset name printing.
Bug:
15436106
Change-Id: I9e9b7e565ae923952c64026f675ac527b560f51b
Andreas Gampe [Fri, 19 Aug 2016 23:43:00 +0000 (16:43 -0700)]
ART: Validate oat file for cache-only images
Simplify ImageSpaceLoader::Load to pass single parameter for
validation. Fix (=force) validation setting for cache-only images.
Bug:
30974799
Change-Id: Ica22ed114d81a18ae144c924feb3a2b2fbdd4767
Test: m test-art-host
Christina Wadsworth [Fri, 19 Aug 2016 22:58:05 +0000 (15:58 -0700)]
ART: Added DCHECKS to find alignment breakage.
Change-Id: I47aed866ec3c3858dc3ee27cb84cfaddf44009d1
Treehugger Robot [Fri, 19 Aug 2016 22:12:40 +0000 (22:12 +0000)]
Merge "Revert "Improve the thread flip.""
Mathieu Chartier [Fri, 19 Aug 2016 21:53:57 +0000 (21:53 +0000)]
Merge "ART: Fixing build breakage (sharpening DCHECK)."
Mathieu Chartier [Fri, 19 Aug 2016 21:53:20 +0000 (21:53 +0000)]
Merge "ART: Fixing build breakage."
Christina Wadsworth [Fri, 19 Aug 2016 21:38:01 +0000 (14:38 -0700)]
ART: Fixing build breakage (sharpening DCHECK).
Change-Id: I7ba19808dde0712739a278075da57f724166a233
Christina Wadsworth [Fri, 19 Aug 2016 20:28:19 +0000 (13:28 -0700)]
ART: Fixing build breakage.
Caused by Ic654a1fb9c1ae127dde59290bf36a23edb55ca8e.
Change-Id: Ia0c0fbcb6c8b141c5ee30a89ab6bc1c653916698
Colin Cross [Fri, 19 Aug 2016 20:16:29 +0000 (20:16 +0000)]
Merge "Fix building tests with partial arch codegen support"
Treehugger Robot [Fri, 19 Aug 2016 20:15:03 +0000 (20:15 +0000)]
Merge "Implemented first version of java fuzz testing script."
Aart Bik [Wed, 17 Aug 2016 23:51:12 +0000 (16:51 -0700)]
Implemented first version of java fuzz testing script.
Test: run_java_fuzz_test.py
BUG=
30610121
Change-Id: I2a802476bcb0986e2891748ad85f8feac21656a8
Hiroshi Yamauchi [Fri, 19 Aug 2016 17:56:11 +0000 (17:56 +0000)]
Revert "Improve the thread flip."
This reverts commit
e61e6fdd404b8f04bd33fc3ea49e38e92e31ad69.
ThreadStress failing.
Bug:
29517059
Bug:
12687968
Change-Id: I0ee8ef04f77c5f9378e4bd21c5dedb4e435a2dc6
Colin Cross [Thu, 18 Aug 2016 20:49:53 +0000 (13:49 -0700)]
Only compile device codegen for device architectures
Change the default for ART_TARGET_CODEGEN_ARCHS to svelte, so that only
the architectures used on the device are included in the device
libraries.
Tests: m -j test-art-target
Bug:
30928847
Change-Id: I95c8a77a5520a1030abcd45e8bb6f56bc8fc7814
Colin Cross [Thu, 18 Aug 2016 20:45:24 +0000 (13:45 -0700)]
Fix building tests with partial arch codegen support
Add conditionals around more code that is only used for codegen for
specific architectures, and move a few more files into the
architecture-specific codegen lists.
Tests: ART_HOST_CODEGEN_ARCHS="x86_64 mips" m -j ART_TARGET_CODEGEN_ARCHS=svelte test-art-host
Bug:
30928847
Change-Id: I0444d15e1cafe4c9b13ff78718c3b13b544270e7
Mathieu Chartier [Fri, 19 Aug 2016 17:33:03 +0000 (17:33 +0000)]
Merge "ART: Implement a fixed size string dex cache"
Roland Levillain [Fri, 19 Aug 2016 15:07:31 +0000 (15:07 +0000)]
Merge "Add support for Baker read barriers in SystemArrayCopy intrinsics."
Roland Levillain [Fri, 19 Aug 2016 11:02:34 +0000 (12:02 +0100)]
Add support for Baker read barriers in SystemArrayCopy intrinsics.
Benchmarks (ARM64) score variations on Nexus 5X with CPU
cores clamped at 960000 Hz (aosp_bullhead-userdebug build):
- Ritzperf - average (lower is better): -3.03% (slightly better)
- CaffeineMark - average (higher is better): +1.26% (slightly better)
- DeltaBlue (lower is better): -10.50% (better)
- Richards - average (lower is better): -3.36% (slightly better)
- SciMark2 - average (higher is better): +0.26% (virtually unchanged)
Details about Ritzperf benchmarks with meaningful variations
(lower is better):
- FormulaEvaluationActions.EvaluateAndApplyChanges: -13.26% (better)
- FormulaEvaluationActions.EvaluateCascadingSums: -10.94% (better)
- FormulaEvaluationActions.EvaluateComplexFormulas: -15.50% (better)
- FormulaEvaluationActions.EvaluateFibonacci: -10.41% (better)
- FormulaEvaluationActions.EvaluateLargeSums: +6.02% (worse)
Boot image code size variation on Nexus 5X
(aosp_bullhead-userdebug build):
- total ARM64 framework Oat files size change:
107047632 bytes ->
107154128 bytes (+0.10%)
- total ARM framework Oat files size change:
90932028 bytes ->
91009852 bytes (+0.09%)
Test: ART host and target (ARM, ARM64) tests + Nexus 5X boot.
Bug:
29516905
Bug:
29506760
Bug:
12687968
Change-Id: I85431368d09965687a0301ae2eb3c991f276ce5d
Treehugger Robot [Fri, 19 Aug 2016 01:29:50 +0000 (01:29 +0000)]
Merge "Improve the thread flip."
Treehugger Robot [Fri, 19 Aug 2016 00:30:44 +0000 (00:30 +0000)]
Merge "Color spill slots in gc regalloc"
Aart Bik [Thu, 18 Aug 2016 23:35:09 +0000 (23:35 +0000)]
Merge "Log optimization passes in verbose mode"
Christina Wadsworth [Thu, 18 Aug 2016 17:37:42 +0000 (10:37 -0700)]
ART: Implement a fixed size string dex cache
Previously, the string dex cache was dex_file->NumStringIds() size, and
@ruhler found that only ~1% of that cache was ever getting filled. Since
many of these string dex caches were previously 100,000+ indices in
length, we're wasting a few hundred KB per app by storing null pointers.
The intent of this project was to reduce the space the string dex cache
is using, while not regressing on time that much. This is the first of a
few CLs, which implements the new fixed size array and disables the
compiled code so it always goes slow path. In four other CLs, I
implemented a "medium path" that regresses from the previous "fast path"
only a bit in assembly in the entrypoints. @vmarko will introduce new
compiled code in the future so that we ultimately won't be regressing on
time at all. Overall, space savings have been confirmed as on the order
of 100 KB per application.
A 4-5% slow down in art-opt on Golem, and no noticeable slow down in the
interpreter. The opt slow down should be diminished once the new
compiled code is introduced.
Test: m test-art-host
Bug:
20323084
Change-Id: Ic654a1fb9c1ae127dde59290bf36a23edb55ca8e
Treehugger Robot [Thu, 18 Aug 2016 10:56:54 +0000 (10:56 +0000)]
Merge "dex_instruction: k45cc HasVarArgs"
Narayan Kamath [Mon, 15 Aug 2016 15:08:18 +0000 (16:08 +0100)]
dex_instruction: k45cc HasVarArgs
Change-Id: I3be92269bb78c96ec41ab533c5792bd369c02178
Test: make test-art-host
bug:
30550796
Treehugger Robot [Thu, 18 Aug 2016 06:07:42 +0000 (06:07 +0000)]
Merge "Fix optimizing compiler not building for svelte"
Hiroshi Yamauchi [Tue, 2 Aug 2016 23:03:06 +0000 (16:03 -0700)]
Improve the thread flip.
- In addition to the threads that are suspended in FullSuspendCheck(),
prioritize the resume of threads that are blocking for the thread
flip at the JNI critical section entry and threads are about to
transition to runnable (eg. blocking at the SOA entry from JNI).
- Shorten the length of the thread flip critical
section (ThreadFlipBegin/End).
- Add some systrace scopes.
Bug:
29517059
Bug:
12687968
Test: test-art-host, Ritz EAAC, N9 libartd boot.
Change-Id: Idecec9936ae432c23d5f83321ba13339852018df
Treehugger Robot [Thu, 18 Aug 2016 03:17:20 +0000 (03:17 +0000)]
Merge "Remove unused include."
Wojciech Staszkiewicz [Thu, 18 Aug 2016 02:15:51 +0000 (19:15 -0700)]
Fix optimizing compiler not building for svelte
Fixes compiler not building when some of the codegen paths
are disabled.
Test: mmma -j art ART_TARGET_CODEGEN_ARCHS=svelte
m -j32 test-art-host
BUG=
30928847
Change-Id: I52c78e8a4e507f74b1f2a39352970079721b737e
Dmitriy Filchenko [Thu, 18 Aug 2016 00:58:08 +0000 (17:58 -0700)]
Remove unused include.
BUG:
29824203
Change-Id: Iea74f7b166c3e81c0d00c92442f27e162631e5ae
Wojciech Staszkiewicz [Wed, 17 Aug 2016 00:31:19 +0000 (17:31 -0700)]
Log optimization passes in verbose mode
Introduce verbose logging of optimization passes run during
compilation.
Test: m test-art-host -j32
art -Xcompiler-option --runtime-arg -Xcompiler-option -verbose:compiler
-classpath classes.dex Test
Change-Id: Iae98ce9dcafc252f2d0eec138aa05b34e424bd2a
Treehugger Robot [Thu, 18 Aug 2016 01:24:31 +0000 (01:24 +0000)]
Merge "Remove ART_DEFAULT_INSTRUCTION_SET_FEATURES"
Colin Cross [Wed, 17 Aug 2016 23:52:08 +0000 (16:52 -0700)]
Remove ART_DEFAULT_INSTRUCTION_SET_FEATURES
It is never used.
Test: mmma -j art
Change-Id: I014a8ab11d3a3241c075503bc2674279130cb86f
Treehugger Robot [Wed, 17 Aug 2016 23:58:47 +0000 (23:58 +0000)]
Merge "Revert "Logging improvements for C++ / Java structure issues""
Mathieu Chartier [Wed, 17 Aug 2016 22:43:52 +0000 (22:43 +0000)]
Revert "Logging improvements for C++ / Java structure issues"
Bug:
30913672
This reverts commit
d833525cfe3ac2086e3156a8b3193c05974d6316.
Change-Id: I4e51591b49d54b8bb3e920fbc221c21aca0084fb
Mathieu Chartier [Wed, 17 Aug 2016 22:43:17 +0000 (22:43 +0000)]
Merge "Add newline for INTERNAL_FATAL automatically"
Matthew Gharrity [Sat, 13 Aug 2016 02:07:11 +0000 (19:07 -0700)]
Color spill slots in gc regalloc
Coloring spill slots avoids pathologically large stack
sizes by reusing spill slots when possible.
Test: ART_TEST_OPTIMIZING_GRAPH_COLOR=true m test-art-host
Change-Id: I4b4aea859c78b0515758f8b057ee870dbbfc2300
Mathieu Chartier [Wed, 17 Aug 2016 20:22:24 +0000 (20:22 +0000)]
Merge "Track cumulative objects and bytes copied for CC"