OSDN Git Service
Jeff Hao [Fri, 30 Sep 2016 22:52:13 +0000 (22:52 +0000)]
Merge "String Compression for ARM and ARM64"
Jeff Hao [Fri, 30 Sep 2016 22:44:45 +0000 (22:44 +0000)]
Merge "String compression on intrinsics x86 and x86_64"
Treehugger Robot [Fri, 30 Sep 2016 22:20:10 +0000 (22:20 +0000)]
Merge "ART: Add odex IMT dumping to oatdump"
Treehugger Robot [Fri, 30 Sep 2016 22:08:56 +0000 (22:08 +0000)]
Merge "Set coverage to false for dex2oat."
jessicahandojo [Sat, 10 Sep 2016 02:01:32 +0000 (19:01 -0700)]
String Compression for ARM and ARM64
Changes on intrinsics and Code Generation on ARM and ARM64
for string compression feature. Currently the feature is off.
The size of boot.oat and boot.art for ARM before and after the
changes (feature OFF) are still. When the feature ON,
boot.oat increased by 0.60% and boot.art decreased by 9.38%.
Meanwhile for ARM64, size of boot.oat and boot.art before and
after changes (feature OFF) are still. When the feature ON,
boot.oat increased by 0.48% and boot.art decreased by 6.58%.
Turn feature on: runtime/mirror/string.h (kUseStringCompression = true)
runtime/asm_support.h (STRING_COMPRESSION_FEATURE 1)
Test: m -j31 test-art-target
All tests passed both when the mirror::kUseStringCompression
is ON and OFF.
Bug:
31040547
Change-Id: I24e86b99391df33ba27df747779b648c5a820649
Dimitry Ivanov [Fri, 30 Sep 2016 17:37:57 +0000 (17:37 +0000)]
Merge "Remove dependency on libcutils"
Vladimir Marko [Fri, 30 Sep 2016 17:12:41 +0000 (17:12 +0000)]
Merge "Revert "Store resolved Strings for AOT code in .bss.""
jessicahandojo [Fri, 9 Sep 2016 02:49:13 +0000 (19:49 -0700)]
String compression on intrinsics x86 and x86_64
Changes on intrinsics and Code Generation (x86 and x86_64)
for string compression feature. Currently the feature is off.
The size of boot.oat and boot.art for x86 before and after the
changes (feature OFF) are still. When the feature ON,
boot.oat increased by 0.83% and boot.art decreased by 19.32%.
Meanwhile for x86_64, size of boot.oat and boot.art before and
after changes (feature OFF) are still. When the feature ON,
boot.oat increased by 0.87% and boot.art decreased by 6.59%.
Turn feature on: runtime/mirror/string.h (kUseStringCompression = true)
runtime/asm_support.h (STRING_COMPRESSION_FEATURE 1)
Test: m -j31 test-art-host
All tests passed both when the mirror::kUseStringCompression
is ON and OFF.
The jni_internal_test changed to assert an empty string length
to be equal -(1 << 31) as it is compressed.
Bug:
31040547
Change-Id: Ia447c9b147cabb6a69e6ded86be1fe0c46d9638d
Vladimir Marko [Fri, 30 Sep 2016 17:04:49 +0000 (17:04 +0000)]
Revert "Store resolved Strings for AOT code in .bss."
There are some issues with oat_test64 on host and aosp_mips-eng.
Also reverts "compiler_driver: Fix build."
Bug:
20323084
Bug:
30627598
This reverts commit
63dccbbefef3014c99c22748d18befcc7bcb3b41.
This reverts commit
04a44135ace10123f059373691594ae0f270a8a4.
Change-Id: I568ba3e58cf103987fdd63c8a21521010a9f27c4
Andreas Gampe [Fri, 30 Sep 2016 02:50:27 +0000 (19:50 -0700)]
ART: Add odex IMT dumping to oatdump
Support scanning oat files besides the boot image.
Bug:
31594153
Test: m test-art-host
Change-Id: I672d0534b8a8274a4430217656b68c55e4b31cc4
Treehugger Robot [Fri, 30 Sep 2016 16:42:48 +0000 (16:42 +0000)]
Merge "Make run-test fail if output-path is too long"
Dimitry Ivanov [Wed, 28 Sep 2016 09:44:00 +0000 (02:44 -0700)]
Remove dependency on libcutils
Use liblog for liblog (instead of libcutils)
Replace calls to property_get with libbase
GetProperty()
Bug: http://b/
31289077
Bug: http://b/
27171986
Test: remove liblog from libcutils and recompile
Test: make test-art-target -j4
Change-Id: I2a2913af8f521131558e9dd672d3973a64a410d3
Treehugger Robot [Fri, 30 Sep 2016 14:50:55 +0000 (14:50 +0000)]
Merge "Add const-string benchmark."
Nicolas Geoffray [Fri, 30 Sep 2016 14:36:37 +0000 (14:36 +0000)]
Merge "compiler_driver: Fix build."
Narayan Kamath [Fri, 30 Sep 2016 14:24:19 +0000 (15:24 +0100)]
compiler_driver: Fix build.
Test: make-art-host
Change-Id: I94e164ed245caea60fe26872a943ea5e14aa8860
Vladimir Marko [Fri, 30 Sep 2016 14:10:21 +0000 (14:10 +0000)]
Merge "Store resolved Strings for AOT code in .bss."
Treehugger Robot [Fri, 30 Sep 2016 11:38:56 +0000 (11:38 +0000)]
Merge "Simplify our intrinsic recognizer."
Treehugger Robot [Fri, 30 Sep 2016 10:47:24 +0000 (10:47 +0000)]
Merge "Move two dangling mirror objects into handles."
Vladimir Marko [Fri, 30 Sep 2016 10:21:07 +0000 (11:21 +0100)]
Add const-string benchmark.
Test: vogar --benchmark art/benchmark/const-string/src/ConstStringBenchmark.java
Bug:
20323084
Change-Id: I6b0b9cc8de19694ca43221b3224ac09eaa54d9ff
Nicolas Geoffray [Fri, 15 Jul 2016 14:28:35 +0000 (15:28 +0100)]
Simplify our intrinsic recognizer.
- Use the modifiers for storing the intrinsic kind.
- Delete dex_file_method_inliner and its associated map.
This work was also motivated by the fact that the inline
method analyzer leaks intrinsic tables, and even worse, might re-use
a table from one dex file to another unrelated dex file in the presence
of class unloading and the unlikely event of the dex files getting
the same address.
test: m test-art-host m test-art-target
Change-Id: Ia653d2c72df13889dc85dd8c84997582c034ea4b
Nicolas Geoffray [Fri, 30 Sep 2016 08:51:32 +0000 (09:51 +0100)]
Move two dangling mirror objects into handles.
test: libcore.java.lang.reflect.MissingClassesTest#testGetFieldFails
test: ./art/tools/run-libcore-tests.sh --mode=host --variant=X64
Change-Id: Ib708e914cac6abe4d4fc7cb88e258da83a8219ab
Treehugger Robot [Fri, 30 Sep 2016 08:52:28 +0000 (08:52 +0000)]
Merge "dex_cache: rewrite StringDexCachePair as DexCachePair<T>"
Mathieu Chartier [Fri, 30 Sep 2016 02:33:08 +0000 (02:33 +0000)]
Merge "Clean up ScopedThreadStateChange to use ObjPtr"
Mathieu Chartier [Wed, 28 Sep 2016 01:43:30 +0000 (18:43 -0700)]
Clean up ScopedThreadStateChange to use ObjPtr
Also fixed inclusion of -inl.h files in .h files by adding
scoped_object_access-inl.h and scoped_fast_natvie_object_access-inl.h
Changed AddLocalReference / Decode to use ObjPtr.
Changed libartbenchmark to be debug to avoid linkage errors.
Bug:
31113334
Test: test-art-host
Change-Id: I4d2e160483a29d21e1e0e440585ed328b9811483
Vishwath Mohan [Thu, 29 Sep 2016 22:05:51 +0000 (15:05 -0700)]
Set coverage to false for dex2oat.
dex2oat explicitly sets address to false when SANITIZE_TARGET is
non-empty, in order to prevent it being compiled with ASAN. This CL also
sets coverage to false to prevent build errors when
SANITIZE_TARGET="address coverage" (because coverage currently does not
work without address).
Bug:
29188876
Test: SANITIZE_TARGET="address coverage" builds without error
Change-Id: I0faeb7fab76678b923af732235188e19e08ea90c
Narayan Kamath [Thu, 29 Sep 2016 16:07:20 +0000 (17:07 +0100)]
dex_cache: rewrite StringDexCachePair as DexCachePair<T>
.. with [T = mirror::String]. This is in preparation for introducing
a dex cache array for MethodTypes, which will be treated the same way.
Test: make test-art-host
bug:
30550796
Change-Id: Ief4455b4c6e4c9dd897f2c40b14b843a57b1dc8e
Vladimir Marko [Wed, 21 Sep 2016 12:51:10 +0000 (13:51 +0100)]
Store resolved Strings for AOT code in .bss.
And do some related refactorings.
Bug:
20323084
Bug:
30627598
Test: Run ART test suite including gcstress on host and Nexus 9.
Test: Run ART test suite including gcstress with baker CC on host and Nexus 9.
Test: Build aosp_mips64-eng.
Change-Id: I1b12c1570fee8e5da490b47f231050142afcbd1e
Narayan Kamath [Thu, 29 Sep 2016 14:16:17 +0000 (14:16 +0000)]
Merge "java.lang.invoke: Add mirror types for MethodHandle / MethodType."
Narayan Kamath [Wed, 3 Aug 2016 11:46:58 +0000 (12:46 +0100)]
java.lang.invoke: Add mirror types for MethodHandle / MethodType.
Bug:
30550796
Test: make test-art-host
Change-Id: I096160464bc6e84f7e5ad021306a7e462cf3b0c5
Treehugger Robot [Thu, 29 Sep 2016 09:51:52 +0000 (09:51 +0000)]
Merge "Print to System.err to avoid output races."
Nicolas Geoffray [Thu, 29 Sep 2016 08:49:06 +0000 (08:49 +0000)]
Merge "ARM64: Update the disassembler after the VIXL update."
Nicolas Geoffray [Thu, 29 Sep 2016 08:00:46 +0000 (09:00 +0100)]
Print to System.err to avoid output races.
test: run-test 054
Change-Id: I40ee02b377bd982090e74238dae0fddbde126a80
Treehugger Robot [Thu, 29 Sep 2016 00:56:11 +0000 (00:56 +0000)]
Merge "Fix true divergence mode"
Treehugger Robot [Wed, 28 Sep 2016 23:57:11 +0000 (23:57 +0000)]
Merge "Update oat file version to 089"
Wojciech Staszkiewicz [Wed, 28 Sep 2016 23:15:50 +0000 (16:15 -0700)]
Fix true divergence mode
Do not report TIMEOUT divergences in true divergence mode.
Test: ./run_jfuzz_test.py
Change-Id: I65e48ee6b3d90de0ba997a48b85445312cb0661f
Treehugger Robot [Wed, 28 Sep 2016 23:15:04 +0000 (23:15 +0000)]
Merge "jni: test CriticalNative with generic jni"
Treehugger Robot [Wed, 28 Sep 2016 22:56:25 +0000 (22:56 +0000)]
Merge "Increase frame size for ASAN enabled builds."
Treehugger Robot [Wed, 28 Sep 2016 22:24:32 +0000 (22:24 +0000)]
Merge "ART: Add IMT stats and dumping to oatdump"
Alex Light [Wed, 28 Sep 2016 22:04:03 +0000 (15:04 -0700)]
Update oat file version to 089
In order to ensure that the 088 oat version used in an internal branch
is not repeated in any other versions we are skipping it and moving
the oat version to 089.
Bug:
31789675
Test: mma test-art-host
Change-Id: Iaa2ba972caa223f8c747cc739aa4daa11eec3e33
Mathieu Chartier [Wed, 28 Sep 2016 22:04:13 +0000 (22:04 +0000)]
Merge "Use ObjPtr for reflection.cc/h/inl"
Wojciech Staszkiewicz [Fri, 23 Sep 2016 17:59:55 +0000 (10:59 -0700)]
Make run-test fail if output-path is too long
Long output-path in no prebuild mode leads to silent fallback to
interpreter in dalvikvm.
This change ensures that we handle this situation by failing the
test.
Bug:
31597671
Test: m test-art-run-test -j
Change-Id: I19a7cee788760a81c9395be1252b2edab0db39f7
Andreas Gampe [Sun, 25 Sep 2016 23:08:35 +0000 (16:08 -0700)]
ART: Add IMT stats and dumping to oatdump
Add stats and IMT dumping to oatdump to help in the derivation
of a better hash.
Bug:
31594153
Test: m test-art-host
Change-Id: Ie0803860b53de8d3d68a1a596bf8771a9b96c7ff
Igor Murashkin [Wed, 28 Sep 2016 20:23:19 +0000 (13:23 -0700)]
jni: test CriticalNative with generic jni
Previously this combination was uncovered due to a missing
line in the macro definition.
Bug:
31400248
Test: make test-art-host
Change-Id: I5407f46f2394edc028c9b74dc783899a3a2f6588
Treehugger Robot [Wed, 28 Sep 2016 20:22:28 +0000 (20:22 +0000)]
Merge "Gather divergences in single directory"
Wojciech Staszkiewicz [Tue, 27 Sep 2016 20:09:34 +0000 (13:09 -0700)]
Gather divergences in single directory
Gather all divergences in a single directory to make investigating
them easier.
Test: ./run_jfuzz_test_nightly.py
Change-Id: I0fcdfb2f99e33d8bce444e5d5bf5092f282f03b1
Treehugger Robot [Wed, 28 Sep 2016 18:11:47 +0000 (18:11 +0000)]
Merge "build: Fix golem build to exclude libartd.so from public.libraries.txt"
Treehugger Robot [Wed, 28 Sep 2016 18:01:40 +0000 (18:01 +0000)]
Merge "ART: Dump referenced type in IRT overflows"
Treehugger Robot [Wed, 28 Sep 2016 17:41:06 +0000 (17:41 +0000)]
Merge "ART: Factor out IMT from ArtMethod"
Andreas Gampe [Wed, 28 Sep 2016 01:45:02 +0000 (18:45 -0700)]
ART: Dump referenced type in IRT overflows
When the runtime dumps a reference table, e.g., when aborting for
an overflow, dump the type of stored referents for reference types
to aid in debugging leaks.
Bug:
31600693
Test: m test-art-host-gtest-reference_table_test
Change-Id: Ia892dc84ca8827dd93a8b75d6f571c392f94859c
(cherry picked from commit
280f32b095f55f24dc557f9a9067d223901214ce)
Igor Murashkin [Wed, 28 Sep 2016 16:04:07 +0000 (09:04 -0700)]
build: Fix golem build to exclude libartd.so from public.libraries.txt
Golem doesn't build libartd.so, so at runtime the JNI loading would fail
when trying to initialize the android library namespaces.
Test: build-art-target-golem
Bug:
31401609
Change-Id: I2ee988e84d0a87b3cd1338d29fc28a874905cccc
Andreas Gampe [Mon, 26 Sep 2016 19:04:26 +0000 (12:04 -0700)]
ART: Factor out IMT from ArtMethod
Move IMT Conflict Table to its own file. Move IMT index computation to
ImTable.
In preparation for code using this independent of specific ArtMethods.
Bug:
31594153
Test: m test-art-host
Change-Id: Ifd6e304bb86724c5284984c4655c43d3af357f84
Neil Fuller [Wed, 28 Sep 2016 12:29:53 +0000 (12:29 +0000)]
Merge "Add support for Executable.getParameters() metadata"
Neil Fuller [Fri, 9 Sep 2016 13:24:51 +0000 (14:24 +0100)]
Add support for Executable.getParameters() metadata
java.lang.reflect.Executable native code to create Parameter
objects and supporting code for obtaining the system annotations
that hold the parameter metadata.
Bug:
30391692
Test: test-art-host and CtsLibcoreTestCases
Change-Id: I23d7e36014716967ce189fba5955cc5e064fe8d0
Nicolas Geoffray [Wed, 28 Sep 2016 08:24:12 +0000 (08:24 +0000)]
Merge "benchmark: Add jni benchmarks for use in golem"
Treehugger Robot [Wed, 28 Sep 2016 02:19:49 +0000 (02:19 +0000)]
Merge "Handle tests which fail with no methods compiled"
Treehugger Robot [Wed, 28 Sep 2016 02:14:34 +0000 (02:14 +0000)]
Merge "Store bisection logs in test directory"
Treehugger Robot [Tue, 27 Sep 2016 23:53:08 +0000 (23:53 +0000)]
Merge "Fix a CC deadlock in 129-ThreadGetId."
Mathieu Chartier [Tue, 27 Sep 2016 01:13:17 +0000 (18:13 -0700)]
Use ObjPtr for reflection.cc/h/inl
Changed Pretty helpers to use this to reduce usage of Decode. The
eventual goal is not have almost any calls to ObjPtr::Decode.
Moved ObjPtr out of mirror namespace for convenience. Added more
PoisonObjectPointers calls in class linker, thread suspension.
Bug:
31113334
Test: test-art-host
Change-Id: I44d08db5143d95ed1b65e2f00f9749ef5cf379f7
Treehugger Robot [Tue, 27 Sep 2016 20:12:21 +0000 (20:12 +0000)]
Merge "Add a true divergence mode to run_jfuzz_test.py"
Mathieu Chartier [Tue, 27 Sep 2016 18:17:00 +0000 (18:17 +0000)]
Merge "Add basic support for object pointer poisoning"
Hiroshi Yamauchi [Mon, 26 Sep 2016 23:56:24 +0000 (16:56 -0700)]
Fix a CC deadlock in 129-ThreadGetId.
GC should consider a thread as "waiting for GC thread flip" or
"transitioning to runnable" only if its suspend count is 1.
See
31683379#7 for the deadlock scenario.
Bug:
31683379
Bug:
12687968
Test: test-art with CC and gcstress, N9 libartd boot, Ritz EAAC.
Change-Id: Icd2548bd6d9a4f8d7b54ed20150a4801af9e26a3
Igor Murashkin [Thu, 22 Sep 2016 22:46:29 +0000 (15:46 -0700)]
benchmark: Add jni benchmarks for use in golem
Also adds libartbenchmark.so as a build dependency for golem targets
Test: make build-art-host-golem build-art-target-golem
Bug:
31401609
Change-Id: I3f6b11f93684cc8eb3534bb02bf2d3eb05e39dcf
Andreas Gampe [Tue, 27 Sep 2016 15:10:57 +0000 (15:10 +0000)]
Merge "ART: Fix dependencies"
Nicolas Geoffray [Tue, 27 Sep 2016 09:31:33 +0000 (09:31 +0000)]
Merge "Cleanup String.<init> handling."
Nicolas Geoffray [Mon, 26 Sep 2016 16:56:07 +0000 (17:56 +0100)]
Cleanup String.<init> handling.
Move everything to one place (currently well_known_classes.cc, but
no strong preference) and define a macro to easily handle the list
of affected methods.
test: m test-art-host
test: m test-art-target
Change-Id: Ib8372d130d5458516a1f1ae31014afc76037fc34
Nicolas Geoffray [Tue, 27 Sep 2016 09:25:58 +0000 (09:25 +0000)]
Merge "Fix no-prebuild failure."
Nicolas Geoffray [Tue, 27 Sep 2016 09:24:36 +0000 (10:24 +0100)]
Fix no-prebuild failure.
Printed executable is now dalvikvm* instead of art.
test:run-test --host 118
Change-Id: Id2c3a7f6ba90ee3cb4e57a49e366c46377fc4c45
Alexandre Rames [Mon, 26 Sep 2016 13:14:01 +0000 (14:14 +0100)]
ARM64: Update the disassembler after the VIXL update.
Test: top-level `make -j40`
`mma -j40 test-art-target-test-optimizing dist`
`mma -j40 test-art-host dist`
Change-Id: I173976998dc8e3e466ca8502c3fdc447f9019cee
Treehugger Robot [Tue, 27 Sep 2016 07:17:52 +0000 (07:17 +0000)]
Merge "ahat: Show GC Root Paths."
Andreas Gampe [Tue, 27 Sep 2016 03:17:42 +0000 (20:17 -0700)]
ART: Fix dependencies
Add libbase to libart-simulator.
Bug:
31338270
Test: m test-art-host
Change-Id: I956465f8d380e856cddf7f53c5aae358847b52ed
Andreas Gampe [Tue, 27 Sep 2016 02:48:37 +0000 (02:48 +0000)]
Merge "ART: Fix dependencies"
Andreas Gampe [Tue, 27 Sep 2016 01:09:47 +0000 (18:09 -0700)]
ART: Fix dependencies
Add libbase to libart-compiler.
Bug:
31338270
Test: m test-art-host
Change-Id: I6398baaaee15063f4c275f40109d943c04af066f
Wojciech Staszkiewicz [Tue, 27 Sep 2016 00:51:52 +0000 (17:51 -0700)]
Store bisection logs in test directory
Store bisection search logs in test directory for easier access.
Test: ./test/run-test --never-clean --no-prebuild --bisection-search
037-inherit
Change-Id: I67e472b933516f0e486f47fd2c7a4ae06212db44
Wojciech Staszkiewicz [Tue, 27 Sep 2016 00:39:26 +0000 (17:39 -0700)]
Handle tests which fail with no methods compiled
Check if test passes with no methods compiled and only then bisect
it.
Test: ./bisection_search.py -cp classes.dex --expected-output out --class
Test
Change-Id: If63af7304ae124a1920ec2a3f57d33a6b1f71bb9
Mathieu Chartier [Mon, 26 Sep 2016 18:39:52 +0000 (11:39 -0700)]
Add basic support for object pointer poisoning
ObjPtr is a pointer that checks for heap corruption and is meant
to replace mirror::Object* in places where a mirror::Object* is a
local variable. Whenever there is a possible suspend point, the
current thread's object pointers are all invalidated. This is done
by storing a cookie in the object pointer associated with what thread
created it.
Added test case in object_test.
Example failure:
object_test F 25379 25379 object_pointer.h:70] Check failed:
IsValid() Invalid cookie, expected 0 but got 2
Bug:
31113334
Test: test-art-host-gtest-object_test
Change-Id: I9fa80ccaf2f0448621942935af702a243a3e1ee6
Andreas Gampe [Mon, 26 Sep 2016 23:26:51 +0000 (23:26 +0000)]
Merge "ART: Fix dependencies"
Treehugger Robot [Mon, 26 Sep 2016 23:00:02 +0000 (23:00 +0000)]
Merge "ART: Revert base/logging conditional hacks"
Treehugger Robot [Mon, 26 Sep 2016 22:48:55 +0000 (22:48 +0000)]
Merge "ART: Fix nits"
Treehugger Robot [Mon, 26 Sep 2016 21:42:08 +0000 (21:42 +0000)]
Merge "Implement nightly jfuzz test runner"
Andreas Gampe [Mon, 26 Sep 2016 21:18:25 +0000 (14:18 -0700)]
ART: Fix dependencies
Add libbase as a dependency to libartbenchmark.
Bug:
31338270
Test: m test-art-host
Change-Id: I23c9f4219710fd8b5691837c5bc197b993aafe7b
Andreas Gampe [Mon, 26 Sep 2016 21:07:57 +0000 (14:07 -0700)]
ART: Fix nits
Follow-up to commit
3fec9ac0d5af1358d216eb2fdc2000ec0205f3f0.
Bug:
31338270
Test: m test-art-host
Change-Id: Ia50f450bef144167b946224c26242c529302996e
Wojciech Staszkiewicz [Sat, 24 Sep 2016 01:02:55 +0000 (18:02 -0700)]
Add a true divergence mode to run_jfuzz_test.py
Adds a --true_divergence switch which prevents tool from bisecting
TIMEOUT vs ERROR and TIMEOUT vs SUCCESS return code divergences.
Test: ./run_jfuzz_test.py
Change-Id: I53dd1c2b6934aafcc178fcc5dffd0b10d7a7fc5f
Andreas Gampe [Mon, 26 Sep 2016 19:51:53 +0000 (12:51 -0700)]
ART: Revert base/logging conditional hacks
This partially reverts commit
bda1d606f2d31086874b68edd9254e3817d8049c.
ART was switched to libbase logging.
Bug:
31338270
Test: m test-art-host
Change-Id: I1a2f90d1ddb67d45ebe28d970b3ee7fd2d16a730
Treehugger Robot [Mon, 26 Sep 2016 19:53:37 +0000 (19:53 +0000)]
Merge "jni: Punt to generic JNI for mips"
Wojciech Staszkiewicz [Sat, 24 Sep 2016 00:41:27 +0000 (17:41 -0700)]
Implement nightly jfuzz test runner
New script runs multiple instances of run_jfuzz_test.py and has
predefined arguments suitable for nightly runs.
Test: ./run_jfuzz_test_nightly.py
Change-Id: I8c0060d72c69bbdf88571a9272f2d3fef74697eb
Treehugger Robot [Mon, 26 Sep 2016 19:45:22 +0000 (19:45 +0000)]
Merge "ART: Use libbase logging"
Andreas Gampe [Tue, 13 Sep 2016 17:47:28 +0000 (10:47 -0700)]
ART: Use libbase logging
Move most of our logging infrastructure over to system/core/base.
Retain VLOG.
Using unified Android infrastructure has two main advantages. First,
it reduces the complexity/maintenance burden in ART. Second, it
allows to detach logging for the cases where we do not want or need
a runtime, e.g., dexdump, the disassembler, etc. As a part of the
latter, libbase is also supported for all hosts (including Windows).
From a developer viewpoint, there are minor behavior changes for the
LOG statements (see above), but otherwise usage is the same. Explicit
severity enum items are in the android::base namespace now.
Bug:
31338270
Test: m test-art-host
Change-Id: I5abcb2f45f5b03d49951874c48544f72a283a91b
Igor Murashkin [Mon, 26 Sep 2016 17:10:17 +0000 (10:10 -0700)]
jni: Punt to generic JNI for mips
Preopting dex the bootclasspath causes dex2oat to crash for MIPS builds.
Disable JNI compiler for MIPS until it supports @CriticalNative.
Test: lunch aosp_mips-eng && make && make test-art-host
Bug:
31743474
Change-Id: I802f1e61863c4bb54a1bd884a4c9ce9a75bab62b
Vishwath Mohan [Mon, 26 Sep 2016 16:22:42 +0000 (09:22 -0700)]
Increase frame size for ASAN enabled builds.
This CL increases the frame size for builds where SANITIZE_TARGET is
non-empty from 6400 to 7400 (6400 was insufficient for ASAN and
coverage) to ensure that it builds successfully.
This was previously submitted as ag/
1353693 for Android.common_build.mk,
but it looks like the frame size modifications have now moved to art.go
instead (found out from ag/
1468464).
Bug:
30766843
Test: m test-art-host
Change-Id: If05defdcf93e2f6f7179941d95d8ee99c4c9a385
David Sehr [Mon, 26 Sep 2016 14:34:49 +0000 (14:34 +0000)]
Merge "Fix CTS crash from DexFile refactoring"
Treehugger Robot [Mon, 26 Sep 2016 12:39:16 +0000 (12:39 +0000)]
Merge "Compensate in compiler for verifier shortcomings."
Nicolas Geoffray [Fri, 23 Sep 2016 14:40:41 +0000 (15:40 +0100)]
Compensate in compiler for verifier shortcomings.
The verifier does not differentiate zero and null, so a move-object
of zero can be used as a non-object later on.
Change the compiler to ignore the object conversion when the input
is zero or a phi (which might just hold zeros). The type propagation
will then do proper inferencing of the types.
Also remove some stalled comments in ssa_builder.cc.
bug:
31313170
test: dex2oat
b31313170.apk
test: run-test 800
test: m test-art-host-run-test
Change-Id: I579d667415a7decf8ff2c2238dae4c13eec5d0e0
Richard Uhler [Tue, 20 Sep 2016 09:41:47 +0000 (10:41 +0100)]
ahat: Show GC Root Paths.
The Dominator Path in the objects view is replaced by an augmented
Sample Path from GC Root, which includes non-dominator objects
along a sample path and field names.
Also, use blanks instead of "0" in heap tables when the size is 0.
This cleans up the pages a little, and conveniently lets us
distinguish between dominator and non-dominator objects in the Sample
Path from GC Root.
Test: m ahat-test, with new InstanceUtils.gcRootPath test added.
Bug:
27299030
Change-Id: I53d75f9dcb3157c2b5b3afc74958711536cd67b6
Sebastien Hertz [Mon, 26 Sep 2016 07:09:43 +0000 (07:09 +0000)]
Merge "Add DCE check to test 458-checker-instruct-simplification"
Treehugger Robot [Sat, 24 Sep 2016 01:31:25 +0000 (01:31 +0000)]
Merge "Use liblog for liblog (instead of libcutils)"
Treehugger Robot [Sat, 24 Sep 2016 00:37:51 +0000 (00:37 +0000)]
Merge "Smarter image layout"
Dimitry Ivanov [Fri, 23 Sep 2016 23:52:05 +0000 (16:52 -0700)]
Use liblog for liblog (instead of libcutils)
Because one wouldn't use libcutils if there is a liblog.
Bug: http://b/
31289077
Bug: http://b/
27171986
Test: remove liblog from libcutils and make
Change-Id: I5e7eb3a67a483835933e1b5587d43b697e39ceac
Mathieu Chartier [Tue, 20 Sep 2016 22:33:31 +0000 (15:33 -0700)]
Smarter image layout
Put strings in the dex file that resolves them.
Depth first traversal with overrides for class and dex cache. The
work list keeps track of what oat_index with each pushed item. This
means the static fields of a class will usually be in the same image.
Added layout test to image_test to make sure things are somewhat
reasonably attributed.
Bug:
28640955
Test: test-art-host
(cherry picked from commit
4e9c4e746617bad6a012d799d2f5cf9e01d24ea2)
Change-Id: I67a536c33aeed603b252d8e0f75622c9efbf2559
David Sehr [Thu, 22 Sep 2016 21:05:37 +0000 (14:05 -0700)]
Fix CTS crash from DexFile refactoring
Avoid path to nullptr access introduced by the previous refactoring.
Bug:
22322814
Change-Id: Id8874b26c072a11b0494e8126f8b0602a7c5b9e8
Test: m test-art-host, cts-tradefed run cts --skip-preconditions --skip-device-info --module vm-tests-tf
Treehugger Robot [Fri, 23 Sep 2016 17:05:40 +0000 (17:05 +0000)]
Merge "Add CanWriteToDalvikCache() check before writing a boot marker or image cache."