OSDN Git Service
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 [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: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"
Mathieu Chartier [Wed, 17 Aug 2016 17:28:48 +0000 (10:28 -0700)]
Add newline for INTERNAL_FATAL automatically
Before, the behavior was different compared to other log levels
that automatically added newlines.
Bug:
30913672
Test: test-art-host
Change-Id: I02147d8ac7ea38f3e93450ef5290cdfed7b5a2eb
Treehugger Robot [Wed, 17 Aug 2016 19:15:54 +0000 (19:15 +0000)]
Merge "Add skeleton of a jvmti plugin for art."
Narayan Kamath [Wed, 17 Aug 2016 18:50:12 +0000 (18:50 +0000)]
Merge "Blacklist failing libcore tests."
Narayan Kamath [Wed, 17 Aug 2016 18:14:01 +0000 (19:14 +0100)]
Blacklist failing libcore tests.
bug:
30917411
test: art/tools/buildbot_build.sh && art/tools/run-libcore-tests.sh
Change-Id: Ib5e9adb6e9222d607b6d79f0f7eebf3d313272d2
Alex Light [Thu, 11 Aug 2016 22:35:28 +0000 (15:35 -0700)]
Add skeleton of a jvmti plugin for art.
Test: mma test-art-host-run-test-901-hello-ti-agent
Change-Id: If6807b6238d57471e4ba0dd75c717721246443f6
Mathieu Chartier [Wed, 17 Aug 2016 17:07:29 +0000 (10:07 -0700)]
Track cumulative objects and bytes copied for CC
Also print out these values when dumping GC performance info.
Bug:
12687968
Test: Test that values are reasonable after running EAAC.
Change-Id: Id04fadeaf52511560fd4b261f5287ea0a5dae9d4
Neil Fuller [Wed, 17 Aug 2016 13:19:28 +0000 (13:19 +0000)]
Merge "Logging improvements for C++ / Java structure issues"
Neil Fuller [Wed, 17 Aug 2016 12:17:06 +0000 (12:17 +0000)]
Merge "Adjustments for changes made to java.lang.Class"
Neil Fuller [Wed, 17 Aug 2016 10:39:26 +0000 (11:39 +0100)]
Logging improvements for C++ / Java structure issues
When C++ and Java structures are different sizes or arranged
differently some log statements are useful but are hard to
pick out because they merge with other log lines. Adding
"\n" to the end of them makes it easier to read.
Change-Id: Ia6d78e0832c7814bf1fef42bb3d8c056f83766bd
Test: make build-art-host
Neil Fuller [Tue, 16 Aug 2016 18:53:07 +0000 (19:53 +0100)]
Adjustments for changes made to java.lang.Class
Fix up the runtime after removal of the annotationType field
from java.lang.Class.
Test: make test-art-host / boot a device
Change-Id: I5f37567d2b5ec381b35e66fef29287abe307b840
Treehugger Robot [Wed, 17 Aug 2016 03:18:36 +0000 (03:18 +0000)]
Merge "Always mark zygote large objects for CC"
Mathieu Chartier [Tue, 16 Aug 2016 19:15:59 +0000 (12:15 -0700)]
Always mark zygote large objects for CC
Prevent needing to gray holders of zygote large objects.
System wide zygote space PSS after boot:
12644 kB -> 5571 kB for CC.
Also PSS reduction in zygote large objects themselves since their
gray bit would have been set each GC.
Overall LOS savings hard to measure, could be up to 316 * 4KB per
app since there are 316 zygote large objects.
Also clear mod-union tables for image spaces to prevent dirty
image pages if any of the image spaces point to zygote large objects.
System wide .art mmap: 37432 kB -> 34372 kB
System server before (N6P):
LOS shared dirty: 12888 kB
Zygote space shared dirty: 700 kB
Zygote space private dirty: 868 kB
.art private dirty: 1696 kB
After:
LOS shared dirty 13672 kB
Zygote space shared dirty: 1072 kB
Zygote space private dirty: 496 kB
.art private dirty: 1432 kB
Bug:
29516968
Test: test-art-host with baker CC, debug N6P phone booting
Change-Id: Ia37ce2c11217cf56885bd1d1dc084332fcbb7843
Treehugger Robot [Tue, 16 Aug 2016 21:51:02 +0000 (21:51 +0000)]
Merge "jni: Fast path for @FastNative annotated java methods"
Igor Murashkin [Fri, 29 Jul 2016 16:51:58 +0000 (09:51 -0700)]
jni: Fast path for @FastNative annotated java methods
Adds a faster path for java methods annotated with
dalvik.annotation.optimization.FastNative .
Intended to replace usage of fast JNI (registering with "!(FOO)BAR" descriptors).
Performance Microbenchmark Results (Angler):
* Regular JNI cost in nanoseconds: 115
* Fast JNI cost in nanoseconds: 60
* @FastNative cost in nanoseconds: 36
Summary: Up to 67% faster (vs fast jni) JNI transition cost
Change-Id: Ic23823ae0f232270c068ec999fd89aa993894b0e
Treehugger Robot [Tue, 16 Aug 2016 19:53:15 +0000 (19:53 +0000)]
Merge "Update ahat README and manifest for release 0.7."
Treehugger Robot [Tue, 16 Aug 2016 17:59:51 +0000 (17:59 +0000)]
Merge "Remove unused GetDalvikCacheFilenameOrDie."
Treehugger Robot [Tue, 16 Aug 2016 16:34:36 +0000 (16:34 +0000)]
Merge "Welcome to JavaFuzz as our latest A[a]rt tools team member!"
Aart Bik [Tue, 9 Aug 2016 17:49:54 +0000 (10:49 -0700)]
Welcome to JavaFuzz as our latest A[a]rt tools team member!
Rationale:
JavaFuzz is tool for generating random Java programs with
the objective of fuzz testing the ART infrastructure. Each
randomly generated Java program can be run under various
modes of execution, such as using the interpreter, using
the optimizing compiler, using an external reference
implementation, or using various target architectures.
Any difference between the outputs (a divergence) may
indicate a bug in one of the execution modes.
Test: tbd
Bug=
30610121
Change-Id: I92dcac35f5229996936d01a0ba7f5acf6dc7b433
Richard Uhler [Mon, 15 Aug 2016 23:12:57 +0000 (16:12 -0700)]
Remove unused GetDalvikCacheFilenameOrDie.
Change-Id: I8987fa488a89865d4a5fb56dd00cc396ee33bcce
Test: m test-art-host-gtest-utils_test32
Test: m build-art-host-tests
Test: m build-art-target-tests
Mathieu Chartier [Mon, 15 Aug 2016 22:28:19 +0000 (22:28 +0000)]
Merge "Change gcstress runtest option"
Treehugger Robot [Mon, 15 Aug 2016 21:32:30 +0000 (21:32 +0000)]
Merge "ART: Refactor ImageSpace loading"
Richard Uhler [Mon, 15 Aug 2016 18:01:01 +0000 (11:01 -0700)]
Update ahat README and manifest for release 0.7.
Change-Id: Iccc5db7112cb92e24e9e294273a3ce2b0d4b7aba
Test: Launch ahat and verify it reports 0.7 as the version.
Andreas Gampe [Sat, 13 Aug 2016 04:53:32 +0000 (21:53 -0700)]
ART: Refactor ImageSpace loading
Make the code more straightforward so it is easier to reason
about and extend.
Also change return types to unique pointers so it's clear that
it is the caller's responsibility to free those when necessary.
Bug:
30832951
Test: m test-art-host
Test: device booting
Change-Id: I3216eb702e45357a48af5158dacbe40e79bd1ae9
Treehugger Robot [Mon, 15 Aug 2016 17:12:02 +0000 (17:12 +0000)]
Merge "Clean up use of GetDalvikCache."
Mathieu Chartier [Mon, 15 Aug 2016 16:50:11 +0000 (16:50 +0000)]
Merge "Improve READ_BARRIER_MARK_REG for arm32"
Treehugger Robot [Mon, 15 Aug 2016 14:35:48 +0000 (14:35 +0000)]
Merge "Revert "Enable IntermediateAddress for primitive arrays with read barriers.""
Roland Levillain [Mon, 15 Aug 2016 13:17:06 +0000 (13:17 +0000)]
Revert "Enable IntermediateAddress for primitive arrays with read barriers."
This CL breaks the angler-userdebug build with
`ART_USE_READ_BARRIER=true`.
Test: Build angler-userdebug with `ART_USE_READ_BARRIER=true`.
Bug:
30762467
Bug:
26601270
Bug:
12687968
This reverts commit
12ecf0800d465acdaa3deccd383ff8ed3428a183.
Change-Id: Ia2069ac9436d2336311dd8d0f183c02e587586ae
Roland Levillain [Mon, 15 Aug 2016 10:03:32 +0000 (10:03 +0000)]
Merge "ARM64: VIXL: Support a newer version of VIXL."
Mathieu Chartier [Fri, 12 Aug 2016 23:11:24 +0000 (16:11 -0700)]
Change gcstress runtest option
No longer passes down SS as the collector. Motivation is to allow
running gcstress with concurrent copying.
New usage is for SS:
mm test-art-host ART_TEST_GC_STRESS=true ART_DEFAULT_GC_TYPE=SS
Bug:
30807718
Test: mm test-art-host ART_TEST_GC_STRESS=true ART_DEFAULT_GC_TYPE=SS
Change-Id: I4416c1ca9ead027536acc9d24b1ec80d5a68c6a1
Mathieu Chartier [Fri, 12 Aug 2016 20:19:44 +0000 (13:19 -0700)]
Improve READ_BARRIER_MARK_REG for arm32
Use blocked register IP as scratch, avoid pushing in fast path.
Clean up slow path to not have simpler logic and one less memory
write.
Add simple fast path handling for region space TLAB object
allocation.
Test: test-art-target, N6P booting with CC baker
Bug:
30162165
Change-Id: I6594e42d3d6277ffe7bb79df09df8be6bee85eb5
Mathieu Chartier [Sat, 13 Aug 2016 00:06:30 +0000 (00:06 +0000)]
Merge "Fix heap poisoning"
Treehugger Robot [Fri, 12 Aug 2016 23:16:45 +0000 (23:16 +0000)]
Merge "Make test work when running ndebug."
Mathieu Chartier [Fri, 12 Aug 2016 22:44:44 +0000 (15:44 -0700)]
Fix heap poisoning
Was wrong register.
Test: test-art-host-run-test CC table lookup + poisoning.
Bug:
30162165
Change-Id: If347a40963bcc2fb9e21c54b5405c852bcd3af08
Treehugger Robot [Fri, 12 Aug 2016 22:07:41 +0000 (22:07 +0000)]
Merge "Revert "Revert "Iterative move coalescing for gc regalloc"""
Treehugger Robot [Fri, 12 Aug 2016 21:58:25 +0000 (21:58 +0000)]
Merge "ART: Remove zygote OTA code"
Alex Light [Fri, 12 Aug 2016 21:43:48 +0000 (14:43 -0700)]
Make test work when running ndebug.
Change-Id: Iea58ccef51fddaeae4b1fb7084a7956400a81dfe
Test: ART_TEST_RUN_TEST_NDEBUG=true mma -j40 test-art-host-run-test-900-hello-plugin
Treehugger Robot [Fri, 12 Aug 2016 20:54:05 +0000 (20:54 +0000)]
Merge "Use TestCodeGeneratorX86 in codegen unit tests"
Matthew Gharrity [Fri, 12 Aug 2016 16:10:45 +0000 (16:10 +0000)]
Revert "Revert "Iterative move coalescing for gc regalloc""
This reverts commit
6f61ee5623a676ce983ccfa1aba9b2ae1237e163,
and fixes the arena allocator issues in the original CL.
Functionality from the original CL has not changed.
Test: m valgrind-test-art-host-gtest-register_allocator_test
Test: ART_TEST_OPTIMIZING_GRAPH_COLOR=true m test-art-host-run-test
Change-Id: Idd979f4e03f0c2800e0c07a0a7d392c8a4230aab
Andreas Gampe [Sat, 9 Jul 2016 17:51:12 +0000 (10:51 -0700)]
ART: Remove zygote OTA code
The renaming and relabeling of the A/B artifacts is now done in
a special-purpose script started by init, so as to not complicate
the logic here (e.g., name of the current slot).
Partially reverts commit
754479f7aa056602de8282f4f03718b42c20b89b.
Bug:
25612095
Bug:
28069686
Change-Id: I4d965361000fd448e199c9af059b6d18bfe928bb
(cherry picked from commit
ff2a8ef2ed6b3f21da26f85197170d7d2a9f5134)
Richard Uhler [Fri, 12 Aug 2016 16:05:13 +0000 (09:05 -0700)]
Clean up use of GetDalvikCache.
Switch the only caller of the non-void version of GetDalvikCache that set
create_if_absent true to use the void version of GetDalvikCache. Then no
callers of the non-void version of GetDalvikCache set create_if_absent to
true, so that argument is no longer needed. And without create_if_absent,
there is no case when the function will abort, so the 'OrDie" option is no
longer necessary.
Change-Id: I83f60dcc8a8f3b1f91fd2971e9028f6a7dd8384d
Test: m art-test-host
Test: m art-test-target
Treehugger Robot [Fri, 12 Aug 2016 18:19:54 +0000 (18:19 +0000)]
Merge "ART: Reduce stack frame size limit on host"
Mathieu Chartier [Fri, 12 Aug 2016 17:34:56 +0000 (17:34 +0000)]
Merge "Optimize x86_64 TLAB allocation speed"
Treehugger Robot [Fri, 12 Aug 2016 17:33:34 +0000 (17:33 +0000)]
Merge changes I852b4daf,Id648eaed
* changes:
Add basic runtime-plugins support.
Create a basic agent loading framework.
Treehugger Robot [Fri, 12 Aug 2016 17:11:01 +0000 (17:11 +0000)]
Merge "ART: Configure stack guard size in the Makefile"
Treehugger Robot [Fri, 12 Aug 2016 15:14:44 +0000 (15:14 +0000)]
Merge "Fix duplicate checks in JNI macro assemblers."
Roland Levillain [Fri, 12 Aug 2016 13:45:57 +0000 (13:45 +0000)]
Merge "Adjust spacing before NOLINT comments in ART."
Vladimir Marko [Fri, 12 Aug 2016 13:26:15 +0000 (14:26 +0100)]
Fix duplicate checks in JNI macro assemblers.
Instead of checking one register twice, check the other
register passed to the function.
Test: Run ART test suite on host and Nexus 5.
Bug:
30739460
Change-Id: If868ea14f5c192982488ed065b279a019b5b7cf4
Artem Serov [Mon, 8 Aug 2016 14:11:24 +0000 (15:11 +0100)]
ARM64: VIXL: Support a newer version of VIXL.
Please note that compiling VIXL with -Wshadow is a known VIXL issue.
This will be resolved in a later version of VIXL, when we can drop
the deprecated API for getters and setters.
For more info take a look at VIXL_DEPRECATED in the VIXL source code.
Change-Id: Iea30b1a7b065f9b16a92c6cc7ebdc50ef068b348
Roland Levillain [Thu, 11 Aug 2016 22:53:33 +0000 (23:53 +0100)]
Adjust spacing before NOLINT comments in ART.
Note that neither clang-tidy nor cpplint.py complain about
these style "issues", precisely because of the NOLINT
comments.
Test: WITH_TIDY=1 WITH_TIDY_CHECKS='-*,misc-macro-parentheses' mmma art
Change-Id: Id692fd394ffbd4fe208cbbe4407b4d5e208462bb
Vladimir Marko [Fri, 12 Aug 2016 11:23:40 +0000 (11:23 +0000)]
Merge "ARM: Add vldm/vstm assembler support."
Treehugger Robot [Fri, 12 Aug 2016 10:22:57 +0000 (10:22 +0000)]
Merge "Initialize Heap's collector pointers to null."
Treehugger Robot [Fri, 12 Aug 2016 08:01:43 +0000 (08:01 +0000)]
Merge "Revert "Iterative move coalescing for gc regalloc""
Andreas Gampe [Fri, 12 Aug 2016 06:33:15 +0000 (06:33 +0000)]
Revert "Iterative move coalescing for gc regalloc"
There are lifetime issues with allocators and coloring
iterations that got flagged by valgrind.
This reverts commit
465ed699e810868fe5bb39730e6d149a4734372d.
Change-Id: I9e08172321af61d109c116a4f0742fa809e8094b
Test: m test-art-host
Treehugger Robot [Fri, 12 Aug 2016 06:28:56 +0000 (06:28 +0000)]
Merge "Remove kRestrictCompilationFiltersToImage"
Treehugger Robot [Fri, 12 Aug 2016 06:16:40 +0000 (06:16 +0000)]
Merge "Enable compiled-methods= dex2oat switch"
Andreas Gampe [Fri, 12 Aug 2016 04:11:59 +0000 (21:11 -0700)]
ART: Reduce stack frame size limit on host
Clang isn't that bad anymore.
Change-Id: Id9f3e3e34a743b43c6b535d2757be7869a8cf7ea
Andreas Gampe [Fri, 12 Aug 2016 01:35:58 +0000 (18:35 -0700)]
ART: Configure stack guard size in the Makefile
Configure the stack guard reserved size through defines set in
the Makefile. This can be used to increase the gap depending on
the configuration, which may be required to safely support Java
stack overflows in instrumented builds.
Bug:
30766843
Change-Id: Icdd3209e3a261ea8383ef8eab38153255339b04a
Test: m test-art-host
Andreas Gampe [Fri, 12 Aug 2016 01:43:26 +0000 (01:43 +0000)]
Merge "Iterative move coalescing for gc regalloc"
Mathieu Chartier [Wed, 10 Aug 2016 01:37:09 +0000 (18:37 -0700)]
Optimize x86_64 TLAB allocation speed
Added assembly fast path code for resolved and initialized object
region TLAB allocations. Removed 3 instructions from TLAB fast path.
Added assembly fast path for array TLAB region allocators.
Should have more speedups for read barrier fast paths during
resolved and initialized alloc entrypoints.
Bug:
30162165
Test: test-art-host CC baker
Change-Id: I64dd06be5f18c8d6a5de0f15f0e2e7d488e99f18
Matthew Gharrity [Fri, 12 Aug 2016 00:20:05 +0000 (17:20 -0700)]
Use TestCodeGeneratorX86 in codegen unit tests
The codegen unit tests are supposed to use special "test" code
generators when targeting ARM and x86 (due to differing calling
conventions between the C++ source code and the generated code),
yet TestCodeGeneratorX86 was not being used. This fixes that.
(The tests were only succeeding because the register allocator happened
to not assign the EBX register.)
Test: m test-art-host-gtest-codegen_test
Change-Id: Ia3dd6998c38e9ff27b8c2734457f86b3fed44ab4
Alex Light [Thu, 11 Aug 2016 17:48:03 +0000 (10:48 -0700)]
Add basic runtime-plugins support.
This allows one to pass shared-libraries on the command line that the
runtime will load as plugins. They have access to runtime code and can
install hooks to add functionality. Currently the only hook they can
touch is JavaVMExt::AddEnvironmentHook to register a callback for
GetEnv(). More hooks might be added in the future.
Test: ./test/run-test 900
Change-Id: I852b4daf5a3fa71e9888722bc07794632c0e5010
Alex Light [Thu, 28 Jul 2016 17:07:45 +0000 (10:07 -0700)]
Create a basic agent loading framework.
Currently we only allow agents to be loaded at runtime startup, though
this is expected to change soon.
Test: ./test/run-test --host 900
Change-Id: Id648eaed4bbbe6fdef41d64922d023a4db0bfa54
Matthew Gharrity [Fri, 22 Jul 2016 15:52:13 +0000 (08:52 -0700)]
Iterative move coalescing for gc regalloc
Implement iterative move coalescing for graph coloring
register allocation. Based on Andrew Appel's implementation
in "Modern Compiler Implementation in Java", modified to
support constraints such as pair intervals.
Test: ART_TEST_OPTIMIZING_GRAPH_COLOR=true m test-art-host
Change-Id: I8642297d3bd798a4fc4de4b356ac3304098471a5
Vladimir Marko [Thu, 11 Aug 2016 17:25:53 +0000 (18:25 +0100)]
Initialize Heap's collector pointers to null.
Test: Run ART test suite on host.
Bug:
30807718
Change-Id: I9b83b44df250b00af48dc1aa653d78aea84d0874
Treehugger Robot [Thu, 11 Aug 2016 18:41:55 +0000 (18:41 +0000)]
Merge "x86/x86-64: Shorter fast-path for read barrier field load."
Treehugger Robot [Thu, 11 Aug 2016 18:37:50 +0000 (18:37 +0000)]
Merge "ARM64: Use libvixld when compiling for debug mode."
Aart Bik [Thu, 11 Aug 2016 18:24:10 +0000 (18:24 +0000)]
Merge "Full enable new round implementation on x86/x86_64"